<!--
Copyright 2013 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->

<!--
This file is used to generate a comprehensive list of Chrome histograms along
with a detailed description for each histogram.

For best practices on writing histogram descriptions, see
https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md
For details on how to modify this file to add your description, keep reading.

Please pretty-print and validate your edits by running the pretty_print.py
and validate_format.py scripts in the same directory as this file before
uploading your change for review.

Take a moment to page through the contents of this file. You will find
three sections:

* The histograms section describes base histograms, giving their name,
  and optionally their units or enum type, a short one-line summary,
  and optionally a more detailed description.
* The enums section defines and documents the enumerated types referred to by
  the histograms.
* The histogram_suffixes section provides a compact way of defining histograms
  by applying affixes to existing histograms. This could be done recursively
  and the max recursion depth is 5. See the example below for details on how it
  works.

Each histogram_suffixes tag lists the histograms that it affects. The complete
list of histograms is computed by appending (or prepending - see below) the
histogram_suffixes suffix names to each of the affected histograms. For example,
define the following:

  <histogram name="FileLoadLatency"/>

  <histogram_suffixes name="SuperHttpExperiment">
    <suffix name="SuperHttpEnabled"/>
    <suffix name="SuperHttpDisabled"/>
    <affected-histogram name="FileLoadLatency"/>
  </histogram_suffixes>

The complete list of histograms will be:

  FileLoadLatency
  FileLoadLatency_SuperHttpEnabled
  FileLoadLatency_SuperHttpDisabled

histogram_suffixes can also be used to insert affix in the middle. Example:

  <histogram name="Prerender.Events"/>

  <histogram_suffixes name="SuperHttpExperiment" ordering="prefix">
    <suffix name="HoverStats50"/>
    <affected-histogram name="Prerender.Events"/>
  </histogram_suffixes>

The complete list of histograms will be:

  Prerender.Events
  Prerender.HoverStats50_Events

When 'ordering="prefix"' is present in the histogram_suffixes tag, the suffix
will be inserted after the first dot separator of the affected-histogram name.
Optionally, ordering can be specified as "prefix,N" where N indicates after
how many dots the suffix should be inserted (default=1). The affected-histogram
name has to have at least N dots in it.

Googlers: There are also a small number of private internal histograms found at
http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
-->

<histogram-configuration>

<!-- Histogram definitions -->

<histograms>

<histogram name="Accessibility.CrosAlwaysShowA11yMenu" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether the Chrome OS Accessibility Menu is set to be shown regardless of
    the state of a11y features.(checked once 45 secs after startup).
  </summary>
</histogram>

<histogram name="Accessibility.CrosAutoclick" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>tengs@chromium.org</owner>
  <summary>
    Whether the Chrome OS Autoclick feature is on (checked once 45 secs after
    startup).
  </summary>
</histogram>

<histogram name="Accessibility.CrosAutoclickDelay" units="ms">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>tengs@chromium.org</owner>
  <summary>
    If the user has enabled Autoclick, this is the delay set by the user for
    autoclicks to occur, in milliseconds.
  </summary>
</histogram>

<histogram name="Accessibility.CrosCaretHighlight" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <summary>
    Whether the Chrome OS caret highlighting is on (checked once 45 secs after
    startup).
  </summary>
</histogram>

<histogram name="Accessibility.CrosChromeVoxNext" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <summary>
    Set when a Chrome OS user has spoken feedback enabled, recorded once each
    time ChromeVox starts up. True if the user has enabled &quot;ChromeVox
    Next&quot;, a new ChromeVox experience that became the default in Chrome 56
    (but can be toggled on or off by the user), false otherwise.
  </summary>
</histogram>

<histogram name="Accessibility.CrosCursorHighlight" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <summary>
    Whether the Chrome OS cursor highlighting is on (checked once 45 secs after
    startup).
  </summary>
</histogram>

<histogram name="Accessibility.CrosFocusHighlight" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <summary>
    Whether the Chrome OS focus highlighting is on (checked once 45 secs after
    startup).
  </summary>
</histogram>

<histogram name="Accessibility.CrosHighContrast" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether the Chrome OS High Contrast mode feature is on (checked once 45 secs
    after startup).
  </summary>
</histogram>

<histogram name="Accessibility.CrosLargeCursor" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether the Chrome OS Large Cursor feature is on (checked once 45 secs after
    startup).
  </summary>
</histogram>

<histogram name="Accessibility.CrosLargeCursorSize" units="dip">
  <owner>yawano@chromium.org</owner>
  <owner>lpalmaro@chromium.org</owner>
  <summary>
    Cursor size of the Chrome OS Large Cursor (checked once 45 secs after
    startup).
  </summary>
</histogram>

<histogram name="Accessibility.CrosScreenMagnifier" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether the Chrome OS Screen Magnifier feature is on (checked once 45 secs
    after startup).
  </summary>
</histogram>

<histogram name="Accessibility.CrosSelectToSpeak" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <summary>
    Whether the Chrome OS select-to-speak is on (checked once 45 secs after
    startup).
  </summary>
</histogram>

<histogram name="Accessibility.CrosSpokenFeedback" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether the Chrome OS Spoken Feedback feature is on (checked once 45 secs
    after startup).
  </summary>
</histogram>

<histogram name="Accessibility.CrosStickyKeys" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>tengs@chromium.org</owner>
  <summary>
    Whether the Chrome OS Sticky Keys feature is on (checked once 45 secs after
    startup).
  </summary>
</histogram>

<histogram name="Accessibility.CrosSwitchAccess" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <summary>
    Whether the Chrome OS switch access is on (checked once 45 secs after
    startup).
  </summary>
</histogram>

<histogram name="Accessibility.CrosVirtualKeyboard" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether the Chrome OS Virtual Keyboard feature is on (checked once 45 secs
    after startup).
  </summary>
</histogram>

<histogram name="Accessibility.InvertedColors" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether Windows system settings show that high-contrast mode is enabled and
    the user has selected a light-on-dark color scheme (checked once 45 secs
    after startup). This causes Chrome to prompt the user with a bubble to
    optionally install a High Contrast extension and theme.
  </summary>
</histogram>

<histogram name="Accessibility.Mac.DifferentiateWithoutColor"
    enum="BooleanEnabled">
  <owner>ellyjones@chromium.org</owner>
  <summary>
    Whether the &quot;differentiate without color&quot; Mac system setting is
    enabled. This is checked once, 45 seconds after startup.
  </summary>
</histogram>

<histogram name="Accessibility.Mac.FullKeyboardAccessEnabled"
    enum="BooleanEnabled">
  <owner>ellyjones@chromium.org</owner>
  <summary>
    Whether the &quot;full keyboard access&quot; Mac system setting is enabled.
    This is checked once, 45 seconds after startup.
  </summary>
</histogram>

<histogram name="Accessibility.Mac.IncreaseContrast" enum="BooleanEnabled">
  <owner>ellyjones@chromium.org</owner>
  <summary>
    Whether the &quot;increase contrast&quot; Mac system setting is enabled.
    This is checked once, 45 seconds after startup.
  </summary>
</histogram>

<histogram name="Accessibility.Mac.ReduceTransparency" enum="BooleanEnabled">
  <owner>ellyjones@chromium.org</owner>
  <summary>
    Whether the &quot;reduce transparency&quot; Mac system setting is enabled.
    This is checked once, 45 seconds after startup.
  </summary>
</histogram>

<histogram name="Accessibility.ManuallyEnabled" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether Chrome has enabled accessibility support because the user passed the
    --force-renderer-accessibility flag on the command-line (checked once 45
    secs after startup).
  </summary>
</histogram>

<histogram name="Accessibility.ModeFlag" enum="AccessibilityModeFlagEnum">
  <owner>dmazzoni@chromium.org</owner>
  <owner>aboxhall@chromium.org</owner>
  <summary>
    Whether individual accessibility mode flags are set. Tracked when each mode
    flag is flipped from false to true. These flags are flipped automatically
    when software communicates with Chrome via accessibility APIs. Flags can
    only be flipped off by advanced users or for debugging using
    chrome://accessibility/ - and that isn't tracked in this histogram.
  </summary>
</histogram>

<histogram name="Accessibility.State" enum="BooleanEnabled">
  <obsolete>
    Deprecated 12/2016 in Issue 672205 with the addition of
    Accessibility.ModeFlag.
  </obsolete>
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether Chrome has enabled accessibility support because it detects
    supported assistive technology running, or due to being manually enabled via
    a command-line flag (checked once 45 secs after startup).
  </summary>
</histogram>

<histogram name="Accessibility.WinAPIs" enum="AccessibilityWinAPIEnum">
  <owner>dmazzoni@chromium.org</owner>
  <owner>nektar@chromium.org</owner>
  <summary>Tracks usage of all public Windows accessibility APIs.</summary>
</histogram>

<histogram name="Accessibility.WinAudioDescription" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether Windows system settings show that audio descriptions are enabled
    (checked once 45 secs after startup).
  </summary>
</histogram>

<histogram name="Accessibility.WinJAWS" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether the third-party JAWS screen reader is running (checked once 45 secs
    after startup).
  </summary>
</histogram>

<histogram name="Accessibility.WinNVDA" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether the third-party NVDA screen reader is running (checked once 45 secs
    after startup).
  </summary>
</histogram>

<histogram name="Accessibility.WinSAToGo" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether the third-party System Access To Go screen reader is running
    (checked once 45 secs after startup).
  </summary>
</histogram>

<histogram name="Accessibility.WinScreenReader" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether Windows system settings show that a screen reader is running
    (checked once 45 secs after startup). Note that this does not necessarily
    mean that Chrome has detected a supported screen reader and has enabled its
    accessibility mode.
  </summary>
</histogram>

<histogram name="Accessibility.WinStickyKeys" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether Windows system settings show that Sticky Keys are enabled.
  </summary>
</histogram>

<histogram name="Accessibility.WinZoomText" enum="BooleanEnabled">
  <owner>dmazzoni@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Whether the third-party ZoomText screen magnifier is running.
  </summary>
</histogram>

<histogram name="ActivityTracker.Collect.InitStatus"
    enum="ActivityTrackerCollectInitStatus">
  <owner>manzagop@chromium.org</owner>
  <summary>
    Status of the initialization to collect stability debug files. Logged once,
    during the initialization of the stability debug file collection.
  </summary>
</histogram>

<histogram name="ActivityTracker.Collect.StabilityFileCount" units="count">
  <owner>manzagop@chromium.org</owner>
  <summary>
    Number of files found during stability file collection. Logged each time the
    stability file collection proceeds (at most once per launch).
  </summary>
</histogram>

<histogram name="ActivityTracker.Collect.Status"
    enum="ActivityTrackerCollectStatus">
  <owner>manzagop@chromium.org</owner>
  <summary>
    Status for the collection of a stability debug file. Logged each time a
    debug file collection attempt is made.
  </summary>
</histogram>

<histogram name="ActivityTracker.Collect.SystemSessionAnalysisStatus"
    enum="ActivityTrackerSystemSessionAnalysisStatus">
  <owner>manzagop@chromium.org</owner>
  <summary>
    Status for the analysis of the system session state. Logged each time a
    debug file is collected.
  </summary>
</histogram>

<histogram name="ActivityTracker.Collect.TotalTime" units="ms">
  <owner>manzagop@chromium.org</owner>
  <summary>
    Time spent collecting stability debug information. Logged each time a
    collection is performed.
  </summary>
</histogram>

<histogram name="ActivityTracker.Collect.WriteDumpStatus"
    enum="ActivityTrackerWriteDumpStatus">
  <owner>manzagop@chromium.org</owner>
  <summary>
    Status of the minidump writing. Logged each time a writing a minidump is
    attempted.
  </summary>
</histogram>

<histogram name="ActivityTracker.Record.InitStatus"
    enum="ActivityTrackerRecordInitStatus">
  <owner>manzagop@chromium.org</owner>
  <summary>
    Status of internal activity tracking initialization. Logged once, during the
    activity tracking initialization.
  </summary>
</histogram>

<histogram name="ActivityTracker.Record.SetupTime" units="ms">
  <owner>manzagop@chromium.org</owner>
  <summary>
    Time spent setting up the stability debugging instrumentation. Logged once,
    during setup of the stability debugging instrumentation.
  </summary>
</histogram>

<histogram name="ActivityTracker.ThreadTrackers.Count" units="count">
  <owner>bcwhite@chromium.org</owner>
  <summary>
    The number of threads being tracked for activities such as waiting for a
    lock/event, a thread to join, or a task to run. Analysis of this data can
    reveal why a thread will not exit. This value is updated every time a new
    thread gets an activity tracked for the first time so will show one count
    for every permanent thread but multiple counts for a thread than exits and
    is replaced.
  </summary>
</histogram>

<histogram name="ActivityTracker.ThreadTrackers.MemLimitTrackerCount"
    units="count">
  <owner>bcwhite@chromium.org</owner>
  <summary>
    The limit on the number of thread trackers that could be allocated from the
    persistent memory segment. Trackers beyond this number were allocated from
    the heap and thus were not available for analysis. This value is updated on
    every &quot;memory full&quot; failure.
  </summary>
</histogram>

<histogram name="Android.Activity.ChromeTabbedActivity.StopReason"
    enum="AndroidActivityStopReason">
  <owner>dfalcantara@chromium.org</owner>
  <summary>
    What caused ChromeTabbedActivity#onStop() to be called, which indicates that
    Chrome is sent to the background.
  </summary>
</histogram>

<histogram name="Android.Activity.ChromeTabbedActivity.SystemBackAction"
    enum="AndroidActivitySystemBackAction">
  <owner>dfalcantara@chromium.org</owner>
  <summary>
    What happened when the user hit the system back button in
    ChromeTabbedActivity.
  </summary>
</histogram>

<histogram name="Android.ArmFpu" enum="AndroidArmFpu">
  <owner>fdegans@chromium.org</owner>
  <summary>
    Reports the FPU capabilities of the Android ARM device. This is recorded
    once per browser session during startup.
  </summary>
</histogram>

<histogram name="Android.ChromeHome.DurationOpen" units="ms">
  <owner>mdjones@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>The duration the Chrome Home bottom sheet was open.</summary>
</histogram>

<histogram name="Android.ChromeHome.OpenReason" enum="ChromeHomeOpenReason">
  <owner>mdjones@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>The reason the bottom sheet was opened.</summary>
</histogram>

<histogram name="Android.ChromeHome.TimeBetweenCloseAndNextOpen" units="ms">
  <owner>mdjones@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The time between the last time the Chrome Home bottom sheet was closed and
    the next time it was opened.
  </summary>
</histogram>

<histogram name="Android.ChromeHome.TimeToFirstOpen" units="ms">
  <owner>mdjones@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The time between app creation and the first open of the Chrome Home bottom
    sheet for this run of Chrome.
  </summary>
</histogram>

<histogram name="Android.CustomFeedback.Category"
    enum="AndroidFeedbackCategory">
  <owner>jwanda@chromium.org</owner>
  <summary>
    Recorded when the user selects a category button when in the Custom Feedback
    UI.
  </summary>
</histogram>

<histogram name="Android.CustomFeedback.CategoryDetails"
    enum="AndroidFeedbackCategoryDetails">
  <owner>jwanda@chromium.org</owner>
  <summary>
    Recorded when a user selects an option related to their problem within the
    Custom Feedback UI.
  </summary>
</histogram>

<histogram name="Android.DownloadManager.Filter"
    enum="AndroidDownloadFilterType">
  <owner>dfalcantara@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <owner>ianwen@chromium.org</owner>
  <summary>
    Recorded when the user selects a filter from the Chrome download manager
    navigation drawer.
  </summary>
</histogram>

<histogram name="Android.DownloadManager.InitialCount">
  <owner>dfalcantara@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <owner>ianwen@chromium.org</owner>
  <summary>
    The number of non-incognito download items displayed when the download UI is
    initialized.
  </summary>
</histogram>

<histogram name="Android.DownloadManager.Item.OpenFailed"
    enum="AndroidDownloadFilterType">
  <owner>dfalcantara@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <owner>ianwen@chromium.org</owner>
  <summary>Recorded when a download fails to open.</summary>
</histogram>

<histogram name="Android.DownloadManager.Item.OpenSucceeded"
    enum="AndroidDownloadFilterType">
  <owner>dfalcantara@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <owner>ianwen@chromium.org</owner>
  <summary>Recorded when a download is opened.</summary>
</histogram>

<histogram name="Android.DownloadManager.OtherExtensions.InitialCount"
    enum="AndroidDownloadExtensionType">
  <owner>dfalcantara@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The extension type for non-incognito download items that match the
    &quot;other&quot; filter type. Recorded when the download UI is initialized.
  </summary>
</histogram>

<histogram name="Android.DownloadManager.OtherExtensions.OpenFailed"
    enum="AndroidDownloadExtensionType">
  <owner>dfalcantara@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The extension type for downloads that match the &quot;other&quot; filter
    type. Recorded when a download fails to open.
  </summary>
</histogram>

<histogram name="Android.DownloadManager.OtherExtensions.OpenSucceeded"
    enum="AndroidDownloadExtensionType">
  <owner>dfalcantara@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The extension type for downloads that match the &quot;other&quot; filter
    type. Recorded when a download is opened.
  </summary>
</histogram>

<histogram name="Android.DownloadManager.OtherExtensions.Share"
    enum="AndroidDownloadExtensionType">
  <owner>dfalcantara@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The extension type for downloads that match the &quot;other&quot; filter
    type. Recorded when downloads are shared through the download manager.
  </summary>
</histogram>

<histogram name="Android.DownloadManager.Share.Count">
  <owner>dfalcantara@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <owner>ianwen@chromium.org</owner>
  <summary>The number of downloads shared at the same time.</summary>
</histogram>

<histogram name="Android.DownloadManager.Share.FileTypes"
    enum="AndroidDownloadFilterType">
  <owner>dfalcantara@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <owner>ianwen@chromium.org</owner>
  <summary>
    Recorded when downloads are shared through the download manager. A recorded
    value of &quot;All&quot; indicates that multiple types of downloads were
    shared.
  </summary>
</histogram>

<histogram name="Android.DownloadManager.SpaceUsed" units="%">
  <owner>dfalcantara@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <owner>ianwen@chromium.org</owner>
  <summary>The percentage of total storage downloads consume.</summary>
</histogram>

<histogram name="Android.HistoryPage.OpenSelected">
  <owner>twellington@chromium.org</owner>
  <summary>
    The number of selected items the user opened in new tabs from the native
    Android history page.
  </summary>
</histogram>

<histogram name="Android.HistoryPage.RemoveSelected">
  <owner>twellington@chromium.org</owner>
  <summary>
    The number of selected items the user removed from the native Android
    history page.
  </summary>
</histogram>

<histogram name="Android.InstantApps.ApiCallDuration2" units="ms">
  <owner>mariakhomenko@chromium.org</owner>
  <summary>
    Measures the amount of time spent in the getInstantAppIntent() API call.
  </summary>
</histogram>

<histogram name="Android.InstantApps.ApiCallDurationWithApp" units="ms">
  <owner>mariakhomenko@chromium.org</owner>
  <summary>
    Measures the amount of time spent in the getInstantAppIntent() API call when
    the API was able to find an Instant App for the URL.
  </summary>
</histogram>

<histogram name="Android.InstantApps.ApiCallDurationWithoutApp" units="ms">
  <owner>mariakhomenko@chromium.org</owner>
  <summary>
    Measures the amount of time spent in the getInstantAppIntent() API call when
    the API was not able to find an Instant App for the URL.
  </summary>
</histogram>

<histogram name="Android.InstantApps.CallSource" enum="InstantAppsCallSource">
  <owner>mariakhomenko@chromium.org</owner>
  <summary>
    For intents to load a web page in browser from Instant Apps, records where
    the request to load came from.
  </summary>
</histogram>

<histogram name="Android.InstantApps.FallbackDuration" units="ms">
  <owner>mariakhomenko@chromium.org</owner>
  <summary>
    Measures the time from when we first received an eligible intent for Instant
    Apps to the time we processed it in the case where the  Instant Apps
    activity had to invoke a fallback intent.
  </summary>
</histogram>

<histogram name="Android.InstantApps.HandleIntentDuration" units="ms">
  <owner>mariakhomenko@chromium.org</owner>
  <summary>
    Measures the amount of time spent triaging an incoming event to decide
    whether it needs to be routed to Instant Apps.
  </summary>
</histogram>

<histogram name="Android.IsLastSharedAppInfoRetrieved"
    enum="BooleanIsLastSharedAppInfoRetrieved">
  <owner>jaekyun@chromium.org</owner>
  <summary>
    Signifies whether the last shared app information is retrieved successfully
    or not. This is logged when configuring the direct sharing menu item.
  </summary>
</histogram>

<histogram name="Android.KernelVersion" enum="AndroidKernelVersion">
  <owner>rsesek@chromium.org</owner>
  <summary>
    Reports the kernel major and minor version from the utsname.release field.
    The low 16 bits of each version are combined into a 32-bit integer. The
    range is from [0x00020006,0x0004000a] to track kernel versions 2.6 through
    4.10.
  </summary>
</histogram>

<histogram name="Android.ManageSpace.ActionTaken"
    enum="AndroidManageSpaceButton">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Recorded when the user presses a button in the 'Manage Space' screen for
    Chrome. Note: the 'Clear App Data' option is likely incorrect, as the result
    of that button disables UMA recording (as we factory reset the app).
  </summary>
</histogram>

<histogram name="Android.ModerateBindingCount" units="bindings">
  <owner>jaekyun@chromium.org</owner>
  <summary>
    The number of moderate bindings which were kept while Chrome process is in
    the foreground. This is logged right before Chrome process goes into the
    background.
  </summary>
</histogram>

<histogram name="Android.MultiInstanceMigration.FailedToRenameMetadataFile"
    enum="Boolean">
  <owner>twellington@chromium.org</owner>
  <summary>
    Renaming the old tab metadata file failed during multi-instance migration.
    Only true is recorded.
  </summary>
</histogram>

<histogram name="Android.MultiInstanceMigration.NewMetadataFileExists"
    enum="Boolean">
  <owner>twellington@chromium.org</owner>
  <summary>
    The new tab metadata file already existed when multi-instance migration was
    attempted. Only true is recorded.
  </summary>
</histogram>

<histogram name="Android.MultiWindowMode.Active" enum="BooleanEnabled">
  <owner>twellington@chromium.org</owner>
  <summary>
    Records on every metrics upload whether the activity is running in Android N
    multi-window mode or not.
  </summary>
</histogram>

<histogram name="Android.MultiWindowMode.IsTabletScreenWidthBelow600"
    enum="Boolean">
  <owner>twellington@chromium.org</owner>
  <summary>
    Records whether the screen width is below 600dp when the activity is in
    Android N multi-window mode. True if the screen width is less than 600dp and
    false if is greater than or equal to 600dp.
  </summary>
</histogram>

<histogram name="Android.MultiWindowMode.TabletScreenWidth" units="dp">
  <owner>twellington@chromium.org</owner>
  <summary>
    Records the screen width in dp when the activity is in Android N
    multi-window mode and the width is below 600dp.
  </summary>
</histogram>

<histogram name="Android.NativeLibraryPreloader.Result.Browser"
    enum="NativeLibraryPreloaderResult">
  <owner>michaelbai@chromium.org</owner>
  <summary>
    The return value of NativeLibraryPreloader.loadLibrary() in browser process,
    is recorded once per browser process start.
  </summary>
</histogram>

<histogram name="Android.NativeLibraryPreloader.Result.Renderer"
    enum="NativeLibraryPreloaderResult">
  <owner>michaelbai@chromium.org</owner>
  <summary>
    The return value of NativeLibraryPreloader.loadLibrary() in renderer
    process, is recorded once per renderer process start.
  </summary>
</histogram>

<histogram name="Android.NTP.Impression" enum="NTPImpressionType">
  <owner>finkm@chromium.org</owner>
  <summary>
    Counts impressions of the NTP on Android. It also counts potential
    impressions. A potential impression is a place where it would make sense to
    open the NTP instead of the current view. E.g. the no-tab view is counted as
    a potential impression since this view could be replaced with the NTP. For
    better comparison regular impressions are also counted. The no-tab view
    counting happens right after the user closed the last tab and the regular
    impression counting happens at construction time of the NTP (=whenever a new
    tab is opened).
  </summary>
</histogram>

<histogram name="Android.PrepareMenu.OpenWebApkVisibilityCheck" units="ms">
  <owner>hanxi@chromium.org</owner>
  <owner>pkotwicz@chromium.org</owner>
  <summary>
    Measures the amount of time spent querying for whether a WebAPK is already
    installed.
  </summary>
</histogram>

<histogram name="Android.RestoreResult" enum="AndroidRestoreResult">
  <owner>aberent@chromium.org</owner>
  <summary>
    Whether Chrome tried to restore its settings from a previous device or
    installation, and what happened when it did. Only recorded on first run.
  </summary>
</histogram>

<histogram name="Android.SeccompStatus.Prctl" enum="AndroidSeccompStatus">
  <owner>rsesek@chromium.org</owner>
  <summary>
    Reports the level of kernel support for the seccomp-bpf sandbox using
    prctl(PR_SET_SECCOMP).
  </summary>
</histogram>

<histogram name="Android.SeccompStatus.RendererSandbox"
    enum="AndroidSeccompSandboxStatus">
  <owner>rsesek@chromium.org</owner>
  <summary>
    Reports the status of the seccomp-bpf sandbox in renderer processes.
    Anything other than &quot;Sandbox Engaged&quot; indicates the sandbox is not
    turned on. See https://crbug.com/477049.
  </summary>
</histogram>

<histogram name="Android.SeccompStatus.Syscall" enum="AndroidSeccompStatus">
  <owner>rsesek@chromium.org</owner>
  <summary>
    Reports the level of kernel support for the seccomp-bpf sandbox using the
    seccomp system call.
  </summary>
</histogram>

<histogram name="Android.SelectFileDialogScope" enum="SelectFileDialogScope">
  <owner>peter@chromium.org</owner>
  <summary>
    Records the scope of accepted content for a select file dialog when shown by
    a Web developer.
  </summary>
</histogram>

<histogram name="Android.StrictMode.CheckGooglePlayServicesTime" units="ms">
  <owner>wnwen@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Measures the amount of time due to a StrictMode violation from checking for
    whether play services is available.
  </summary>
</histogram>

<histogram name="Android.StrictMode.CheckGoogleSignedTime" units="ms">
  <owner>estevenson@chromium.org</owner>
  <owner>wnwen@chromium.org</owner>
  <summary>
    Measures the amount of time due to a StrictMode violation from checking for
    whether a package is Google signed.
  </summary>
</histogram>

<histogram name="Android.StrictMode.DocumentModeSharedPrefs" units="ms">
  <obsolete>
    Deprecated 05/2016 in Issue 582539 with the removal of document mode.
  </obsolete>
  <owner>hartmanng@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Measures the amount of time due to a StrictMode violation from fetching the
    DocumentMode shared preferences file.
  </summary>
</histogram>

<histogram name="Android.StrictMode.DocumentTabStateLoad" units="ms">
  <obsolete>
    Deprecated 05/2016 in Issue 582539 with the removal of document mode.
  </obsolete>
  <owner>wnwen@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Measures the amount of time due to a StrictMode violation from document mode
    loading its prioritized tab's state.
  </summary>
</histogram>

<histogram name="Android.StrictMode.DownloadsDir" units="ms">
  <owner>wnwen@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Measures the amount of time due to a StrictMode violation from fetching and
    possibly creating the downloads directory.
  </summary>
</histogram>

<histogram name="Android.StrictMode.NotificationUIBuildTime" units="ms">
  <owner>wnwen@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Measures the amount of time due to a StrictMode violation from custom
    notification builder through date formatting.
  </summary>
</histogram>

<histogram name="Android.StrictMode.OverrideUrlLoadingTime" units="ms">
  <owner>yfriedman@chromium.org</owner>
  <owner>wnwen@chromium.org</owner>
  <summary>
    Measures the amount of time due to a StrictMode violation from calling out
    to Android activity manager.
  </summary>
</histogram>

<histogram name="Android.StrictMode.SnippetUIBuildTime" units="ms">
  <owner>wnwen@chromium.org</owner>
  <owner>peconn@chromium.org</owner>
  <summary>
    Measures the amount of time due to a StrictMode violation from snippet UI
    through date formatting.
  </summary>
</histogram>

<histogram name="Android.StrictMode.TabPersistentStore" units="ms">
  <owner>wnwen@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Measures time spent during StrictMode-whitelisted code in
    TabPersistentStore.
  </summary>
</histogram>

<histogram name="Android.StrictMode.ThumbnailCacheDir" units="ms">
  <owner>wnwen@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Measures the amount of time due to a StrictMode violation from fetching for
    the thumbnail cache directory.
  </summary>
</histogram>

<histogram name="Android.StrictMode.WebappAuthenticatorMac" units="ms">
  <owner>wnwen@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Measures the amount of time due to a StrictMode violation from looking up a
    webapp's MAC on startup.
  </summary>
</histogram>

<histogram name="Android.StrictMode.WebappDir" units="ms">
  <owner>wnwen@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Measures the amount of time due to a StrictMode violation from fetching for
    creating the webapp directory.
  </summary>
</histogram>

<histogram name="Android.StrictMode.WebappSaveState" units="ms">
  <owner>wnwen@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Measures the amount of time due to a StrictMode violation from reading and
    saving webapp state.
  </summary>
</histogram>

<histogram name="Android.StrictMode.WebappSharedPrefs" units="ms">
  <owner>hartmanng@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Measures the amount of time due to a StrictMode violation from fetching the
    Webapp shared preferences file.
  </summary>
</histogram>

<histogram name="Android.TabNavigationInterceptResult"
    enum="NavigationInterceptResult">
  <owner>mariakhomenko@chromium.org</owner>
  <summary>
    The distribution of results when running ExternalNavigationHandler, this
    shows how often we send intents to be handled by other applications.
  </summary>
</histogram>

<histogram name="Android.TabPersistentStore.MergeStateMetadataFileSize"
    units="bytes">
  <owner>twellington@chromium.org</owner>
  <summary>
    The number of bytes read for the other tab state's metadata file when
    merging tab states in Android N+.
  </summary>
</histogram>

<histogram name="Android.TabPersistentStore.MergeStateTabCount" units="tabs">
  <owner>twellington@chromium.org</owner>
  <summary>
    The number of normal and incognito tabs merged (for Android N+
    multi-instance). This will be logged for both cold-start and non-cold-start
    merging assuming that the native library is loaded.
  </summary>
</histogram>

<histogram name="Android.TabPersistentStore.MergeStateTimePerTab" units="ms">
  <owner>twellington@chromium.org</owner>
  <summary>
    Measures the amount of time it takes to restore state for each merged tab
    (for Android N+ multi-instance). This will only be logged for non-cold-start
    merging, because restoring merged tabs is not distingushed from restoring
    regular tabs on cold start.
  </summary>
</histogram>

<histogram name="Android.TabPersistentStore.MetadataFileSize">
  <owner>wnwen@chromium.org</owner>
  <owner>dfalcantara@chromium.org</owner>
  <summary>The number of bytes written for the tab metadata file.</summary>
</histogram>

<histogram name="AndroidTabCloseUndo.Toast"
    enum="AndroidTabCloseUndoToastEvent">
  <owner>dtrainor@chromium.org</owner>
  <summary>
    When a user closes a tab an undo toast will popup on certain devices giving
    the user the chance to undo closing that tab.  This stat tracks how the user
    interacts with that UI and what actions they take.  A cold start means that
    the undo bar wasn't showing when it was triggered to show again.  A warm
    start means that it was.  Warm starts can happen when the user closes
    multiple tabs close together.  When the undo bar is dismissed, all closes
    that were queued up to be undone are committed.  This can happen either by a
    timeout or by an action by the user to move to another part of the UI.
  </summary>
</histogram>

<histogram name="AppBanners.BeforeInstallEvent"
    enum="AppBannersBeforeInstallEvent">
  <owner>dominickn@chromium.org</owner>
  <summary>
    App banners promote an application related to the current website, and are
    requested specifically through the current page's HTML.  This stat tracks
    usage of the BeforeInstallPromptEvent, which allows developers to control
    when an app banner appears. The events in this histogram are not mutually
    exclusive - for example, preventDefault() must be called if prompt() is
    called.
  </summary>
</histogram>

<histogram name="AppBanners.DismissEvent" enum="AppBannersDismissEvent">
  <owner>dfalcantara@chromium.org</owner>
  <summary>
    App banners promote an application related to the current website, and are
    requested specifically through the current page's HTML.  This stat tracks
    the different ways that an app banner left the screen, e.g. through an
    automatic dismissal after navigation or an explicit user action.
  </summary>
</histogram>

<histogram name="AppBanners.DisplayEvent" enum="AppBannersDisplayEvent">
  <owner>dfalcantara@chromium.org</owner>
  <summary>
    App banners promote an application related to the current website, and are
    requested specifically through the current page's HTML.  This stat tracks
    when an app banner was requested and how the request was handled, e.g. the
    user blocked its appearance or the banner was ultimately created.
  </summary>
</histogram>

<histogram name="AppBanners.InstallableStatusCode"
    enum="AppBannersInstallableStatusCode">
  <owner>dominickn@chromium.org</owner>
  <summary>
    App banners promote an application related to the current website, and are
    requested specifically through the current page's HTML.  This stat tracks
    the status code logged by the app banner system as it processes a site's
    eligibility for an app banner. Every request for a banner will be logged in
    a bucket of this histogram.
  </summary>
</histogram>

<histogram name="AppBanners.InstallEvent" enum="AppBannersInstallEvent">
  <owner>dfalcantara@chromium.org</owner>
  <summary>
    App banners promote an application related to the current website, and are
    requested specifically through the current page's HTML.  This stat tracks
    when a user triggers an install dialog for the app promoted by the banner,
    as well as whether or not the user ultimately decided to install the app.
  </summary>
</histogram>

<histogram name="AppBanners.MinutesFromFirstVisitToBannerShown" units="minutes">
  <owner>dominickn@chromium.org</owner>
  <summary>
    App banners promote an application related to the current website, and are
    requested specifically through the current page's HTML.  This stat tracks
    the number of minutes between the first recorded visit to an origin and the
    time when the banner is actually shown.
  </summary>
</histogram>

<histogram name="AppBanners.UserResponse" enum="AppBannersUserResponse">
  <owner>dominickn@chromium.org</owner>
  <summary>
    App banners promote an application related to the current website, and are
    requested specifically through the current page's HTML.  This stat
    specifically tracks a user's response to a displayed banner.
  </summary>
</histogram>

<histogram name="appcache.CheckResponseResult"
    enum="AppCacheCheckResponseResult">
  <owner>michaeln@chromium.org</owner>
  <summary>AppCache check response result code.</summary>
</histogram>

<histogram name="appcache.CompletionQueueTime" units="ms">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Time elapsed between a completion task being queued and run.
  </summary>
</histogram>

<histogram name="appcache.CompletionRunTime" units="ms">
  <owner>michaeln@chromium.org</owner>
  <summary>
    The amount of time taken to run a completion task on the IO thread.
  </summary>
</histogram>

<histogram name="appcache.CorruptionDetected">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Tracks the number of times corruption is detected in the sql database.
  </summary>
</histogram>

<histogram name="appcache.InitResult" enum="AppCacheInitResult">
  <owner>michaeln@chromium.org</owner>
  <summary>AppCache initialization result code.</summary>
</histogram>

<histogram name="appcache.JobStartDelay.AppCache" units="ms">
  <owner>michaeln@chromium.org</owner>
  <summary>
    How long URLRequests to be retrieved from the appcache are delayed.
  </summary>
</histogram>

<histogram name="appcache.JobStartDelay.Error" units="ms">
  <owner>michaeln@chromium.org</owner>
  <summary>
    How long URLRequests that result in a synthesized error are delayed.
  </summary>
</histogram>

<histogram name="appcache.JobStartDelay.Network" units="ms">
  <owner>michaeln@chromium.org</owner>
  <summary>
    How long URLRequests to be retrieved over the network are delayed.
  </summary>
</histogram>

<histogram name="appcache.MainPageLoad" enum="BooleanSecure">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Counts the number of appcached page loads for secure vs insecure origins.
  </summary>
</histogram>

<histogram name="appcache.MainResourceResponseRetrieval" enum="BooleanSuccess">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Tracks the success rate of retrieving a main resource from the appcache.
  </summary>
</histogram>

<histogram name="appcache.MissingManifestDetectedAtCallsite"
    enum="AppCacheErrorSite">
  <owner>michaeln@chromium.org</owner>
  <summary>Identifies where a missing manifest was detected occured.</summary>
</histogram>

<histogram name="appcache.MissingManifestEntry" enum="BooleanSuccess">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Logged on each occurrence of there being no record for the manifest file in
    the entries table.
  </summary>
</histogram>

<histogram name="appcache.ReinitAttempt">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Tracks the number of times the appcache reinit process occurs. The boolean
    value indicates whether it was a repeated attempt to reinitialize during a
    browsing session.
  </summary>
</histogram>

<histogram name="appcache.SubResourceResponseRetrieval" enum="BooleanSuccess">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Tracks the success rate of retrieving a sub resource from the appcache.
  </summary>
</histogram>

<histogram name="appcache.TaskQueueTime" units="ms">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Time elapsed between a background task being queued and run.
  </summary>
</histogram>

<histogram name="appcache.TaskRunTime" units="ms">
  <owner>michaeln@chromium.org</owner>
  <summary>The amount of time taken to run a background task.</summary>
</histogram>

<histogram name="appcache.UpdateJobResult" enum="AppCacheUpdateJobResult">
  <owner>michaeln@chromium.org</owner>
  <summary>AppCache update job result code.</summary>
</histogram>

<histogram name="appcache.UpdateProgressAtPointOfFaliure" units="%">
  <owner>michaeln@chromium.org</owner>
  <summary>Percent completion at point of failure of an update job.</summary>
</histogram>

<histogram name="appcache.UpdateWasOffOriginAtPointOfFailure" enum="Boolean">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Whether the resource causing the failure was from a different origin.
  </summary>
</histogram>

<histogram name="appcache.UpdateWasStalledAtPointOfFailure" enum="Boolean">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Whether any progresss had been made in the 5 minutes preceeding failure.
  </summary>
</histogram>

<histogram name="AppleScript.CommandEvent" enum="AppleScriptCommandEvents">
  <owner>spqchan@chromium.org</owner>
  <summary>The number of times an AppleScript event gets called.</summary>
</histogram>

<histogram name="Apps.AppInfoDialog.Launches" enum="AppInfoDialogLaunchOrigin">
  <owner>sashab@chromium.org</owner>
  <summary>
    The number of times the app info dialog is launched. This is gathered each
    time the app info dialog is opened, from each of the places the dialog can
    be opened from.
  </summary>
</histogram>

<histogram name="Apps.AppInfoDialog.OpenedForLocation" enum="AppLocation">
  <owner>sashab@chromium.org</owner>
  <summary>
    The location of the app that the dialog was opened for. This is gathered
    each time the app info dialog is opened.
  </summary>
</histogram>

<histogram name="Apps.AppInfoDialog.OpenedForType" enum="ExtensionType">
  <owner>sashab@chromium.org</owner>
  <summary>
    The type of the app that the dialog was opened for. This is gathered each
    time the app info dialog is opened.
  </summary>
</histogram>

<histogram name="Apps.AppLaunch" enum="AppLaunch">
  <owner>tapted@chromium.org</owner>
  <owner>benwells@chromium.org</owner>
  <summary>
    The number of times v2 packaged apps are launched grouped by
    extension_misc::AppLaunchBuckets. See also Extensions.AppLaunch.
  </summary>
</histogram>

<histogram name="Apps.AppLauncherPromo" enum="AppLauncherPromo">
  <owner>mad@chromium.org</owner>
  <summary>Interactions with the App Launcher promo dialog.</summary>
</histogram>

<histogram name="Apps.AppListCreationTime" units="ms">
  <owner>calamity@chromium.org</owner>
  <summary>
    The amount of time it takes to build the app list UI. This is logged each
    time the app list is built from scratch.
  </summary>
</histogram>

<histogram name="Apps.AppListDoodleAction" enum="AppListDoodleAction">
  <owner>calamity@chromium.org</owner>
  <summary>
    The number of user interactions with the app list doodle. This is logged
    once per action.
  </summary>
</histogram>

<histogram name="Apps.AppListHowEnabled" enum="AppListEnableSource">
  <owner>tapted@chromium.org</owner>
  <summary>
    The trigger that caused the app list to be enabled. Recorded when the user
    first shows the app list. If not shown after one hour, will be recorded
    then. If Chrome was not running at the one-hour mark, will be recorded
    during the next Chrome startup.
  </summary>
</histogram>

<histogram name="Apps.AppListPageOpened" enum="AppListPage">
  <owner>calamity@chromium.org</owner>
  <summary>
    The page that the app list goes to. This is gathered every time the user
    initiates a transition to another page in the launcher.
  </summary>
</histogram>

<histogram name="Apps.AppListSearchCommenced" units="searches">
  <owner>tapted@chromium.org</owner>
  <summary>
    The number of searches that are started in the app list. This is gathered
    each time the app list search box transitions from empty to non-empty.
  </summary>
</histogram>

<histogram name="Apps.AppListSearchQueryLength" units="characters">
  <owner>calamity@chromium.org</owner>
  <summary>
    The length of the app list search query when a result is opened. This is
    gathered per click of a search result.
  </summary>
</histogram>

<histogram name="Apps.AppListSearchResultDistanceFromOrigin" units="keystrokes">
  <owner>calamity@chromium.org</owner>
  <summary>
    The minimum number of arrow keys a user would need to press to navigate to
    the opened search result. This is gathered per click of a search result.
  </summary>
</histogram>

<histogram name="Apps.AppListSearchResultOpenDisplayType"
    enum="AppListSearchResultDisplayType">
  <owner>calamity@chromium.org</owner>
  <summary>
    The display type of the app list search result that was opened by the user.
    This is gathered per click of a search result.
  </summary>
</histogram>

<histogram name="Apps.AppListSearchResultOpenType" enum="AppListSearchResult">
  <owner>tapted@chromium.org</owner>
  <summary>
    The type of app list search result that was opened by the user. This is
    gathered per click of a search result.
  </summary>
</histogram>

<histogram name="Apps.AppListTimeToDiscover" units="ms">
  <owner>tapted@chromium.org</owner>
  <summary>
    Time between enabling the app list, and a user explicitly choosing to show
    it. If the app list is not shown after one hour, an entry in the last bucket
    is recorded. If the user installs a second packaged app within one hour, or
    if the app list was not enabled by installing a packaged app from the Web
    Store, no time value is recorded - only Apps.AppListHowEnabled.
  </summary>
</histogram>

<histogram name="Apps.AppListWarmupDuration" units="ms">
  <obsolete>
    Deprecated 07/2016 in Issue 600915 with the removal of the app list on
    Windows.
  </obsolete>
  <owner>tapted@chromium.org</owner>
  <summary>
    The amount of time spent in warmup (in WarmupForProfile call). This will
    tell us how long warmup blocks the UI.
  </summary>
</histogram>

<histogram name="Apps.AppShimErrorVersion">
  <owner>jackhou@chromium.org</owner>
  <summary>
    Counts which major milestone versions of app_mode_loader are sending
    --app-shim-error. --app-shim-error is sent as a command line argument to
    Chrome when app_mode_loader was unable to dyload the Chrome Framework and
    call ChromeAppModeMain. For example, when Chrome updates from 32-bit to
    64-bit, an older shim will find the new framework version but fail to dyload
    it.
  </summary>
</histogram>

<histogram name="Apps.NoteTakingApp.DefaultLaunchResult"
    enum="NoteTakingAppLaunchResult">
  <owner>derat@chromium.org</owner>
  <owner>jdufault@chromium.org</owner>
  <summary>
    The result of attempting to launch a default note-taking app on Chrome OS.
    Only reported if the preferred app was unspecified or failed to launch.
  </summary>
</histogram>

<histogram name="Apps.NoteTakingApp.PreferredLaunchResult"
    enum="NoteTakingAppLaunchResult">
  <owner>derat@chromium.org</owner>
  <owner>jdufault@chromium.org</owner>
  <summary>
    The result of attempting to launch the user-specified preferred note-taking
    app, if any, on Chrome OS.
  </summary>
</histogram>

<histogram name="Arc.AndroidBootTime" units="ms">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>The time elapsed for booting up the ARC instance.</summary>
</histogram>

<histogram name="Arc.AppCount">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>
    The number of ARC apps open at any given time. Collected every 5 minutes.
    This indicates both how many users are engaging with apps and, when they do
    engage, how many apps they are engaging with at a time.
  </summary>
</histogram>

<histogram name="Arc.AppsInstalledAtStartup" units="App Count">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>
    Total number of ARC apps installed on a device measured at startup. Note:
    This includes launchable apps that are installed by default, such as Play
    Store and Settings, as well as any vendor specific apps.
  </summary>
</histogram>

<histogram name="Arc.boot_progress" units="ms">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>
    The relative time of a boot progress event since the ARC starts.
  </summary>
</histogram>

<histogram name="Arc.ComplianceReportSinceUpdateNotificationTime" units="ms">
  <owner>alexchau@google.com</owner>
  <owner>emaxx@google.com</owner>
  <summary>
    Elapsed time from the policy update notification sent to ARC to the
    corresponding successfully obtained compliance report from CloudDPS.
  </summary>
</histogram>

<histogram name="Arc.CumulativeUseTime" units="seconds">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>
    ARC use time. The use time is incremented in regular intervals while android
    container is active. Reported at most once a day, at which point accumulated
    time is reset (which means that sum of reported times for a OS version would
    give an estimate of ARC usage time per OS version).
  </summary>
</histogram>

<histogram name="Arc.FirstComplianceReportTime.SinceSignIn" units="ms">
  <owner>alexchau@google.com</owner>
  <owner>emaxx@google.com</owner>
  <summary>
    Elapsed time from the signing in process start to a successfully obtained
    compliance report from CloudDPS.
  </summary>
</histogram>

<histogram name="Arc.FirstComplianceReportTime.SinceStartup" units="ms">
  <owner>alexchau@google.com</owner>
  <owner>emaxx@google.com</owner>
  <summary>
    Elapsed time from ARC startup to a successfully obtained compliance report
    from CloudDPS. This value is not reported during the first startup when
    signing in happens.
  </summary>
</histogram>

<histogram name="Arc.IntentHandlerAction" enum="ArcIntentHandlerAction">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>ARC intent handler action taken by user.</summary>
</histogram>

<histogram name="Arc.IntentHandlerDestinationPlatform"
    enum="ArcIntentHandlerDestinationPlatform">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>
    ARC intent handler destination platform. The destination may be specified
    due to the user explicit selection or a previously stored preference.
  </summary>
</histogram>

<histogram name="Arc.LowMemoryKiller.Count">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>Cumulative count of low memory kills in one user session.</summary>
</histogram>

<histogram name="Arc.LowMemoryKiller.FreedSize" units="KB">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>The memory size freed by each low memory kill event.</summary>
</histogram>

<histogram name="Arc.LowMemoryKiller.TimeDelta" units="ms">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>The elapsed time to last low memory kill event.</summary>
</histogram>

<histogram name="Arc.OOMKills.Count" units="kills">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>Cumulative count of OOM kills in one user session.</summary>
</histogram>

<histogram name="Arc.OOMKills.Score" units="badness score">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>
    The oom_badness score of a OOM killed process as reported by kernel.
  </summary>
</histogram>

<histogram name="Arc.OOMKills.TimeDelta" units="ms">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>The elapsed time since last OOM kill event.</summary>
</histogram>

<histogram name="Arc.OptInAction" enum="ArcOptInAction">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>Arc OptIn action taken by user.</summary>
</histogram>

<histogram name="Arc.OptInCancel" enum="ArcOptInCancel">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>Arc OptIn cancelation reason.</summary>
</histogram>

<histogram name="Arc.OptInResult" enum="ArcOptInResult">
  <owner>elijahtaylor@google.com</owner>
  <owner>khmel@google.com</owner>
  <summary>Arc OptIn flow result.</summary>
</histogram>

<histogram name="Arc.OptInSilentAuthCode" enum="ArcOptInSilentAuthCode">
  <owner>elijahtaylor@google.com</owner>
  <summary>
    Arc Silent Auth Code status. This status is set during the ARC OptIn flow.
    Retrieving Auth Code silently is optional feature. If it is not activated,
    Disabled state is reported. Once it active, Auth code is retrieved silently.
    In no error occurs, Success is reported. Otherwise specific error is sent.
  </summary>
</histogram>

<histogram name="Arc.Provisioning.Result" enum="ArcProvisioningResult">
  <obsolete>
    Deprecated on 2016-09-15 and replaced by Arc.Provisioning.Result.Managed and
    Arc.Provisioning.Result.Unmanaged.
  </obsolete>
  <owner>alexchau@google.com</owner>
  <owner>phweiss@google.com</owner>
  <summary>
    The result (success or the type of failure) of ARC provisioning.
  </summary>
</histogram>

<histogram name="Arc.Provisioning.Result.Managed" enum="ArcProvisioningResult">
  <owner>alexchau@google.com</owner>
  <owner>phweiss@google.com</owner>
  <summary>
    The result (success or the type of failure) of ARC provisioning on managed
    devices.
  </summary>
</histogram>

<histogram name="Arc.Provisioning.Result.Unmanaged"
    enum="ArcProvisioningResult">
  <owner>alexchau@google.com</owner>
  <owner>phweiss@google.com</owner>
  <summary>
    The result (success or the type of failure) of ARC provisioning on unmanaged
    devices.
  </summary>
</histogram>

<histogram name="Arc.Provisioning.TimeDelta.Failure.Managed" units="ms">
  <owner>alexchau@google.com</owner>
  <owner>phweiss@google.com</owner>
  <summary>
    Elapsed time from the signing in process start to call to onSignInFailed for
    managed users.
  </summary>
</histogram>

<histogram name="Arc.Provisioning.TimeDelta.Failure.Unmanaged" units="ms">
  <owner>alexchau@google.com</owner>
  <owner>phweiss@google.com</owner>
  <summary>
    Elapsed time from the signing in process start to call to onSignInFailed for
    unmanaged users.
  </summary>
</histogram>

<histogram name="Arc.Provisioning.TimeDelta.Success.Managed" units="ms">
  <owner>alexchau@google.com</owner>
  <owner>phweiss@google.com</owner>
  <summary>
    Elapsed time from the signing in process start to successful call to
    onSignInComplete for managed users.
  </summary>
</histogram>

<histogram name="Arc.Provisioning.TimeDelta.Success.Unmanaged" units="ms">
  <owner>alexchau@google.com</owner>
  <owner>phweiss@google.com</owner>
  <summary>
    Elapsed time from the signing in process start to successful call to
    onSignInComplete for unmanaged users.
  </summary>
</histogram>

<histogram name="Arc.ShutdownTime" units="ms">
  <owner>elijahtaylor@google.com</owner>
  <summary>
    The time it takes for ARC to shut down. This value is recorded on ARC
    shutdown as the time is takes for the init process to exit after setting
    'sys.powerctl shutdown'. It is reported on the next ARC startup to avoid
    sending data during shutdown.
  </summary>
</histogram>

<histogram name="Arc.State" enum="BooleanEnabled">
  <owner>elijahtaylor@google.com</owner>
  <owner>mitsuji@google.com</owner>
  <summary>
    Whether ARC is enabled or not.  Before M56 this was collected only on login
    and when ARC was enabled or disabled.  From M56 forward this is collected
    during every metrics recording interval, so it is in every record uploaded
    to the server.  This is required because this value is used to categorize
    all other data in the dashboard as collected with ARC enabled or not.
  </summary>
</histogram>

<histogram name="ArcAuth.AccountCheckStatus" enum="ArcAuthAccountCheckStatus">
  <owner>elijahtaylor@google.com</owner>
  <summary>The status of account check before GMS Sign-in.</summary>
</histogram>

<histogram name="ArcAuth.AccountCheckTime" units="ms">
  <owner>elijahtaylor@chromium.org</owner>
  <summary>
    Elapsed time waiting for the account status check to be completed. This is
    not recorded in case of account status check failure.
  </summary>
</histogram>

<histogram name="ArcAuth.CheckinAttempts" units="attempts">
  <owner>elijahtaylor@chromium.org</owner>
  <summary>
    Number of attempts done while waiting for the check-in task to be completed.
    0 means that device was already checked-in. This is recorded in case
    check-in task is completed successfully.
  </summary>
</histogram>

<histogram name="ArcAuth.CheckinTime" units="ms">
  <owner>elijahtaylor@chromium.org</owner>
  <summary>
    Elapsed time waiting for the check-in task to be completed. This is recorded
    in case check-in task is completed successfully.
  </summary>
</histogram>

<histogram name="ArcAuth.NetworkWaitTime" units="ms">
  <owner>elijahtaylor@chromium.org</owner>
  <summary>
    Elapsed time waiting for network connection before starting other
    authorization operations.
  </summary>
</histogram>

<histogram name="ArcAuth.SignInTime" units="ms">
  <owner>elijahtaylor@chromium.org</owner>
  <summary>Elapsed time waiting for GMS sign-in to complete.</summary>
</histogram>

<histogram name="ArcRuntime.LowMemoryKiller.FreedSize" units="KB">
  <obsolete>
    Renamed to Arc.LowMemoryKiller.FreedSize on 2016/03/24.
  </obsolete>
  <owner>elijahtaylor@google.com</owner>
  <summary>The memory size freed by each low memory kill event.</summary>
</histogram>

<histogram name="ArcRuntime.LowMemoryKiller.TimeDelta" units="ms">
  <obsolete>
    Renamed to Arc.LowMemoryKiller.TimeDelta on 2016/03/24.
  </obsolete>
  <owner>elijahtaylor@google.com</owner>
  <summary>The elapsed time to last low memory kill event.</summary>
</histogram>

<histogram name="Ash.Accelerators.Deprecated.LockScreen"
    enum="DeprecatedAcceleratorUsage">
  <owner>afakhry@chromium.org</owner>
  <summary>
    The lock screen action has two accelerators:   - Ctrl+Shift+L which is
    deprecated.   - Search+L which is new. This histogram shows the number of
    times each accelerator (deprecated and new) is used.
  </summary>
</histogram>

<histogram name="Ash.Accelerators.Deprecated.NextIME"
    enum="DeprecatedAcceleratorUsage">
  <obsolete>
    Deprecated 01/2017 for Issue 672905.
  </obsolete>
  <owner>afakhry@chromium.org</owner>
  <summary>
    The switch to the next IME action has two accelerators: - Shift+Alt which is
    deprecated.   - Ctrl+Shift+Space which is new. This histogram shows the
    number of times each accelerator (deprecated and new) is used.
  </summary>
</histogram>

<histogram name="Ash.Accelerators.Deprecated.ShowImeMenuBubble"
    enum="DeprecatedAcceleratorUsage">
  <owner>afakhry@chromium.org</owner>
  <summary>
    Showing the IME menu bubble has two accelerators:   - Alt+Shift+K which is
    deprecated.   - Search+Shift+K which is new. This histogram shows the number
    of times each accelerator (deprecated and new) is used.
  </summary>
</histogram>

<histogram name="Ash.Accelerators.Deprecated.ShowTaskManager"
    enum="DeprecatedAcceleratorUsage">
  <owner>afakhry@chromium.org</owner>
  <summary>
    Opening the task manager has two accelerators:   - Shift+Esc which is
    deprecated.   - Search+Esc which is new. This histogram shows the number of
    times each accelerator (deprecated and new) is used.
  </summary>
</histogram>

<histogram name="Ash.ActiveTouchPoints">
  <obsolete>
    Deprecated 02/2017 due to lack of usage.
  </obsolete>
  <owner>kuscher@google.com</owner>
  <owner>rbyers@chromium.org</owner>
  <summary>
    Number of active touch-points when a new touch-point is added.
  </summary>
</histogram>

<histogram name="Ash.ActiveWindowShowTypeOverTime" enum="ActiveWindowShowType">
  <owner>kuscher@google.com</owner>
  <summary>
    The show type of the active window tracked over time by logging on a regular
    basis (30 minutes).
  </summary>
</histogram>

<histogram name="Ash.AppList.TimeBetweenTaskSwitches" units="seconds">
  <obsolete>
    Deprecated 10/2016 for Issue 616581.
  </obsolete>
  <owner>bruthig@chromium.org</owner>
  <owner>tdanderson@chromium.org</owner>
  <summary>
    The amount of time between selecting an item from the Ash app list. Not
    recorded on the first time an item is selected from the app list after
    startup.
  </summary>
</histogram>

<histogram name="Ash.Desktop.TimeBetweenNavigateToTaskSwitches" units="seconds">
  <owner>bruthig@chromium.org</owner>
  <owner>tdanderson@chromium.org</owner>
  <summary>
    The number of seconds between task window activations triggered by users
    clicking or tapping on a window, as recorded by the Desktop_SwitchTask user
    action. Recorded on ChromeOS only. Task switches from other sources are
    ignored and do not affect this metric. In other words, if a user performs
    the following steps (1) click on task window 'A' (2) Alt+Tab to task 'Z'(3)
    click on task window 'B', then this will result in a sample recorded for the
    time delta between activating task window 'A'and 'B'.
  </summary>
</histogram>

<histogram name="Ash.Dock.Action" enum="DockedAction">
  <owner>kuscher@google.com</owner>
  <owner>varkha@chromium.org</owner>
  <summary>
    User-initiated action taken that affects docked windows such as docking,
    undocking, minimizing, restoring, closing or just dragging a docked window.
  </summary>
</histogram>

<histogram name="Ash.Dock.ActionSource" enum="DockedActionSource">
  <owner>kuscher@google.com</owner>
  <owner>varkha@chromium.org</owner>
  <summary>
    Source (mouse, touch, keyboard or unknown) of the user-initiated action for
    docked windows.
  </summary>
</histogram>

<histogram name="Ash.Dock.ItemsAll">
  <owner>kuscher@google.com</owner>
  <owner>varkha@chromium.org</owner>
  <summary>
    Number of all docked windows or panels including hidden or minimized.
    Recorded on every user action that interacts with docked windows.
  </summary>
</histogram>

<histogram name="Ash.Dock.ItemsLarge">
  <owner>kuscher@google.com</owner>
  <owner>varkha@chromium.org</owner>
  <summary>
    Number of large (wider than dock maximum width) windows that had to be
    shrunk to get docked among the visible docked windows. Recorded on every
    user action that interacts with docked windows.
  </summary>
</histogram>

<histogram name="Ash.Dock.ItemsPanels">
  <owner>kuscher@google.com</owner>
  <owner>varkha@chromium.org</owner>
  <summary>
    Number of docked visible panels. Recorded on every user action that
    interacts with docked windows.
  </summary>
</histogram>

<histogram name="Ash.Dock.ItemsVisible">
  <owner>kuscher@google.com</owner>
  <owner>varkha@chromium.org</owner>
  <summary>
    Number of visible docked windows or panels. Recorded on every user action
    that interacts with docked windows.
  </summary>
</histogram>

<histogram name="Ash.Dock.TimeBetweenUse" units="seconds">
  <owner>kuscher@google.com</owner>
  <owner>varkha@chromium.org</owner>
  <summary>
    Time elapsed between instances of docking, undocking or any other action
    affecting docked state of a window.
  </summary>
</histogram>

<histogram name="Ash.Dock.Width" units="pixels">
  <owner>kuscher@google.com</owner>
  <owner>varkha@chromium.org</owner>
  <summary>
    Width of the docked area in pixels. Recorded every time it changes after a
    user window resize operation is completed.
  </summary>
</histogram>

<histogram name="Ash.GestureCreated" enum="UIEventType">
  <obsolete>
    Deprecated 08/2014 in Issue 352654, and replaced by Event.GestureCreated.
  </obsolete>
  <owner>kuscher@google.com</owner>
  <owner>rbyers@chromium.org</owner>
  <summary>
    The gesture-events recognized and dispatched by the browser gesture
    recognizer.
  </summary>
</histogram>

<histogram name="Ash.GestureTarget" enum="GestureActionType">
  <owner>kuscher@google.com</owner>
  <owner>rbyers@chromium.org</owner>
  <summary>
    The gesture-events recognized and dispatched by the browser gesture
    recognizer for various UI components.
  </summary>
</histogram>

<histogram name="Ash.ImmersiveFullscreen.WindowType" enum="WindowType">
  <owner>kuscher@google.com</owner>
  <summary>
    The type of the window which is put into immersive fullscreen. Immersive
    fullscreen is entered via the F4 key.
  </summary>
</histogram>

<histogram name="Ash.NumberOfVisibleWindowsInPrimaryDisplay" units="Windows">
  <owner>tdanderson@google.com</owner>
  <owner>bruthig@google.com</owner>
  <summary>
    An upper bound on the number of windows visible to the user on the primary
    display. Determined by processing the windows in increasing z-order and
    counting all non-minimized windows until a maximized or fullscreen window is
    processed. This metric is logged periodically every 30 minutes.
  </summary>
</histogram>

<histogram name="Ash.Rotation.AnimationSmoothness" units="%">
  <owner>wutao@chromium.org</owner>
  <summary>
    Relative smoothness of animations when rotating screen. 100% represents
    ideally smooth 60 frames per second. 50% represents only 30 frames per
    second is achieved during the animations. 0% should not happen. This metric
    is recorded exactly once when the user rotates the screen.
  </summary>
</histogram>

<histogram name="Ash.Shelf.Menu.NumItemsEnabledUponSelection" units="Count">
  <owner>bruthig@google.com</owner>
  <owner>tdanderson@google.com</owner>
  <summary>
    Tracks the number of menu items that are enabled in a shelf item's secondary
    menu. This metric is only recorded when a menu item is selected.
  </summary>
</histogram>

<histogram name="Ash.Shelf.Menu.SelectedMenuItemIndex" units="Index">
  <owner>bruthig@google.com</owner>
  <owner>tdanderson@google.com</owner>
  <summary>
    Tracks the index of the selected menu item in a shelf item's secondary menu.
    This metric is only recorded when a menu item is selected.
  </summary>
</histogram>

<histogram name="Ash.Shelf.NumberOfItems" units="Icons">
  <owner>bruthig@google.com</owner>
  <owner>tdanderson@google.com</owner>
  <summary>
    The number of icons in the shelf, not including the App Launcher icon. This
    metric is recorded every 30 minutes.
  </summary>
</histogram>

<histogram name="Ash.Shelf.NumberOfPinnedItems" units="Icons">
  <owner>bruthig@google.com</owner>
  <owner>tdanderson@google.com</owner>
  <summary>
    The number of pinned icons in the shelf, not including the App Launcher
    icon. This metric is recorded every 30 minutes.
  </summary>
</histogram>

<histogram name="Ash.Shelf.NumberOfUnpinnedItems" units="Icons">
  <owner>bruthig@google.com</owner>
  <owner>tdanderson@google.com</owner>
  <summary>
    The number of unpinned icons in the shelf. This metric is recorded every 30
    minutes.
  </summary>
</histogram>

<histogram name="Ash.Shelf.Palette.InLaserPointerMode" units="ms">
  <owner>xiaoyinh@chromium.org</owner>
  <summary>
    Tracks the amount of time spend in Palette laser point mode.
  </summary>
</histogram>

<histogram name="Ash.Shelf.Palette.InMagnifyMode" units="ms">
  <owner>xiaoyinh@chromium.org</owner>
  <summary>Tracks the amount of time spend in Palette Magnify mode.</summary>
</histogram>

<histogram name="Ash.Shelf.Palette.ModeCancellation"
    enum="PaletteModeCancelType">
  <owner>xiaoyinh@chromium.org</owner>
  <summary>
    Tracks the number of times a palette mode is explicitly cancelled or
    switched out of.
  </summary>
</histogram>

<histogram name="Ash.Shelf.Palette.Usage" enum="PaletteTrayOptions">
  <owner>xiaoyinh@chromium.org</owner>
  <summary>
    Tracks the usage of each pen palette option when palette is not
    automatically opened by a stylus eject event.
  </summary>
</histogram>

<histogram name="Ash.Shelf.Palette.Usage.AutoOpened" enum="PaletteTrayOptions">
  <owner>xiaoyinh@chromium.org</owner>
  <summary>
    Tracks the usage of each pen palette option when palette is automatically
    opened by a stylus eject event.
  </summary>
</histogram>

<histogram name="Ash.Shelf.TimeBetweenNavigateToTaskSwitches" units="seconds">
  <owner>bruthig@google.com</owner>
  <owner>tdanderson@google.com</owner>
  <summary>
    The number of seconds between contiguous task switch user actions triggered
    by the Shelf buttons where the user activates a different user-predictable
    task. Task switches from other sources are ignored and do not affect this
    metric. In other words, if a user performs the following steps (1) launch
    task 'A' from the Shelf (2) Alt+Tab to task 'Z' (3) launch task 'B' from the
    Shelf, then this will result in a sample recorded for the time delta between
    launching tasks 'A' and 'B'.
  </summary>
</histogram>

<histogram name="Ash.Shelf.TimeBetweenWindowMinimizedAndActivatedActions"
    units="ms">
  <owner>bruthig@google.com</owner>
  <owner>tdanderson@google.com</owner>
  <summary>
    Tracks the amount of time between a window being minimized by the shelf and
    subsequently activated. In other words this metric is only recorded if a
    shelf button pressed action causes a window to be minimized and the very
    next shelf button pressed action causes the same window to be activated.
  </summary>
</histogram>

<histogram name="Ash.ShelfAlignmentOverTime" enum="ShelfAlignmentValue">
  <owner>kuscher@google.com</owner>
  <summary>
    The current state of the shelf (alignment) tracked over time by logging on a
    regular basis (30 minutes), this is used instead of log in or shelf usage to
    track users that do not lock/unlock or log in frequently and use a small
    number of browser instances or otherwise infrequently interact with the
    shelf launcher.
  </summary>
</histogram>

<histogram name="Ash.ShelfAlignmentUsage" enum="ShelfAlignmentValue">
  <owner>kuscher@google.com</owner>
  <summary>
    The current state of the shelf (alignment) when the shelf launcher is used
    to launch an app/window/etc, this is used instead of log in to give data on
    users that do not lock/unlock or log in frequently.
  </summary>
</histogram>

<histogram name="Ash.StationaryTouchDuration" units="seconds">
  <obsolete>
    Deprecated 02/2017 due to lack of usage.
  </obsolete>
  <owner>kuscher@google.com</owner>
  <owner>rbyers@chromium.org</owner>
  <summary>The duration of mostly stationary long-duration touches.</summary>
</histogram>

<histogram name="Ash.SystemMenu.DefaultView.VisibleRows"
    enum="SystemMenuDefaultViewRows">
  <owner>bruthig@chromium.org</owner>
  <owner>tbuckley@chromium.org</owner>
  <summary>
    The visible rows displayed in the system menu's default view. Recorded each
    time the menu is opened.
  </summary>
</histogram>

<histogram name="Ash.SystemMenu.PercentageOfWorkAreaHeightCoveredByMenu"
    units="%">
  <owner>tdanderson@chromium.org</owner>
  <owner>tbuckley@chromium.org</owner>
  <summary>
    The height of the system menu divided by the height of the Ash desktop work
    area; a value over 100% indicates that a portion of the system menu is not
    visible to the user. Recorded each time the menu is opened.
  </summary>
</histogram>

<histogram name="Ash.SystemMenu.Rows" units="rows">
  <owner>tdanderson@chromium.org</owner>
  <owner>tbuckley@chromium.org</owner>
  <summary>
    The number of user-visible rows in the system menu's default view. Recorded
    each time the menu is opened.
  </summary>
</histogram>

<histogram name="Ash.Tab.TimeBetweenSwitchToExistingTabUserActions"
    units="seconds">
  <obsolete>
    Deprecated 10/2016 for Issue 616581.
  </obsolete>
  <owner>bruthig@chromium.org</owner>
  <owner>tdanderson@chromium.org</owner>
  <summary>
    The number of seconds between tab switches triggered by a user gesture (e.g.
    Ctrl+T, Ctrl+1, tapping or clicking the tab strip, etc).
  </summary>
</histogram>

<histogram name="Ash.TimeBetweenTaskSwitches" units="seconds">
  <owner>bruthig@google.com</owner>
  <owner>tdanderson@google.com</owner>
  <summary>
    The number of seconds between contiguous task switch user actions triggered
    by any of the other task switch actions that are tracked. (e.g.,
    Ash.Shelf.TimeBetweenNavigateToTaskSwitches,
    Ash.Tab.TimeBetweenSwitchToExistingTabUserActions,
    Ash.WindowCycleController.TimeBetweenTaskSwitches,
    Ash.AppList.TimeBetweenTaskSwitches,
    Ash.WindowSelector.TimeBetweenActiveWindowChanges, etc). Note the
    Ash.AppList.TimeBetweenTaskSwitches and
    Ash.Tab.TimeBetweenSwitchToExistingTabUserActions histograms were deprecated
    and removed in 10/2016.
  </summary>
</histogram>

<histogram name="Ash.TouchDuration" units="ms">
  <obsolete>
    Deprecated 12/2013 in r239809, and replaced by Ash.TouchDuration2.
  </obsolete>
  <owner>kuscher@google.com</owner>
  <summary>The duration of a touch-sequence.</summary>
</histogram>

<histogram name="Ash.TouchDuration2" units="ms">
  <obsolete>
    Deprecated 08/2014 in Issue 352654, and replaced by Event.TouchDuration.
  </obsolete>
  <owner>kuscher@google.com</owner>
  <owner>rbyers@chromium.org</owner>
  <summary>The duration of a touch-sequence.</summary>
</histogram>

<histogram name="Ash.TouchMaxDistance" units="pixels">
  <obsolete>
    Deprecated 08/2014 in Issue 352654, and replaced by Event.TouchMaxDistance.
  </obsolete>
  <owner>kuscher@google.com</owner>
  <owner>rbyers@chromium.org</owner>
  <summary>
    The maximum euclidean distance in dips which a touch point has travelled
    away from its starting point. Only measured for single finger gestures.
  </summary>
</histogram>

<histogram name="Ash.TouchMoveInterval" units="ms">
  <obsolete>
    Deprecated 02/2017 due to lack of usage.
  </obsolete>
  <owner>kuscher@google.com</owner>
  <owner>rbyers@chromium.org</owner>
  <summary>The interval between touch-move events.</summary>
</histogram>

<histogram name="Ash.TouchMoveSteps" units="pixels">
  <owner>kuscher@google.com</owner>
  <owner>rbyers@chromium.org</owner>
  <summary>The distance between touch-move events.</summary>
</histogram>

<histogram name="Ash.TouchPositionX" units="pixels">
  <owner>tdanderson@chromium.org</owner>
  <owner>kuscher@google.com</owner>
  <summary>The position of the touch-events along the X axis.</summary>
</histogram>

<histogram name="Ash.TouchPositionY" units="pixels">
  <owner>tdanderson@chromium.org</owner>
  <owner>kuscher@google.com</owner>
  <summary>The position of the touch-events along the Y axis.</summary>
</histogram>

<histogram name="Ash.TouchRadius" units="pixels">
  <owner>tdanderson@chromium.org</owner>
  <owner>kuscher@google.com</owner>
  <summary>The radius of a touch event.</summary>
</histogram>

<histogram name="Ash.TouchStartAfterEnd" units="ms">
  <owner>tdanderson@chromium.org</owner>
  <owner>kuscher@google.com</owner>
  <summary>
    The interval between the end of a touch-sequence and the start of the next
    touch-sequence.
  </summary>
</histogram>

<histogram name="Ash.TouchStartBurst">
  <obsolete>
    Deprecated 02/2017 due to lack of usage.
  </obsolete>
  <owner>kuscher@google.com</owner>
  <owner>rbyers@chromium.org</owner>
  <summary>
    The number of rapid touch-starts that happened within a short interval.
    Logged once for each such burst group.
  </summary>
</histogram>

<histogram name="Ash.TouchView.TouchViewActive" units="ms">
  <owner>girard@chromium.org</owner>
  <summary>
    The length of time that TouchView is active, for each activation.
  </summary>
</histogram>

<histogram name="Ash.TouchView.TouchViewActivePercentage" units="%">
  <owner>girard@chromium.org</owner>
  <summary>The proportion of time spent in TouchView during a session.</summary>
</histogram>

<histogram name="Ash.TouchView.TouchViewActiveTotal" units="seconds">
  <owner>girard@chromium.org</owner>
  <summary>The total time that TouchView is active during a session.</summary>
</histogram>

<histogram name="Ash.TouchView.TouchViewInactive" units="ms">
  <owner>girard@chromium.org</owner>
  <summary>The length of time between TouchView activations.</summary>
</histogram>

<histogram name="Ash.TouchView.TouchViewInactiveTotal" units="seconds">
  <owner>girard@chromium.org</owner>
  <summary>
    The total time that TouchView is not active during a session.
  </summary>
</histogram>

<histogram name="Ash.Wallpaper.Apps" enum="WallpaperApps">
  <owner>xdai@chromium.org</owner>
  <summary>
    The Wallpaper App that the user is using right now on Chrome OS. It's the
    app that is used when the user right clicks on desktop and selects &quot;Set
    wallpaper&quot; or when the user selects &quot;Set wallpaper&quot; from
    chrome://settings page. This is recorded at user login.
  </summary>
</histogram>

<histogram name="Ash.Wallpaper.ColorExtractionResult" enum="BooleanSuccess">
  <owner>bruthig@chromium.org</owner>
  <owner>tbuckley@chromium.org</owner>
  <summary>
    Tracks the success rate for wallpaper color extraction. Recorded each time
    the wallpaper image changes.
  </summary>
</histogram>

<histogram name="Ash.Wallpaper.CustomLayout" enum="WallpaperLayout">
  <owner>xdai@chromium.org</owner>
  <summary>
    The custom wallpaper layout type. Recorded when the user sets a new custom
    wallpaper or changes the existing custom wallpaper's layout.
  </summary>
</histogram>

<histogram name="Ash.Wallpaper.DefaultIndex">
  <obsolete>
    Deprecated as of 11/2012. Use of indices has been removed.
  </obsolete>
  <owner>kuscher@google.com</owner>
  <summary>
    The wallpaper index if one of the default wallpapers has been selected.
    Recorded at user login. Currently only for the old wallpaper picker UI.
  </summary>
</histogram>

<histogram name="Ash.Wallpaper.Source" enum="WallpaperType">
  <owner>xdai@chromium.org</owner>
  <summary>
    Recorded when a new wallpaper is set, either by the built-in Wallpaper
    Picker App, or by a third party App. Note the wallpaper change triggered by
    Sync file system event doesn't count.
  </summary>
</histogram>

<histogram name="Ash.Wallpaper.TimeSpentExtractingColors" units="ms">
  <owner>bruthig@chromium.org</owner>
  <owner>tbuckley@chromium.org</owner>
  <summary>
    The time taken to extract colors from wallpapers. Recorded each time the
    wallpaper image changes.
  </summary>
</histogram>

<histogram name="Ash.Wallpaper.TimeSpentResizing" units="ms">
  <owner>bruthig@chromium.org</owner>
  <owner>tbuckley@chromium.org</owner>
  <summary>
    The time taken to resize wallpapers. Recorded once each time the wallpaper
    changes (e.g. initial wallpaper loading at boot, switching user avatar at
    login screen, switching between logged in users, user selects new wallpaper,
    etc).
  </summary>
</histogram>

<histogram name="Ash.Wallpaper.Type" enum="WallpaperType">
  <owner>kuscher@google.com</owner>
  <summary>The wallpaper type. Recorded at user login.</summary>
</histogram>

<histogram name="Ash.WindowCycleController.CycleTime" units="ms">
  <owner>varkha@chromium.org</owner>
  <owner>tbuckley@google.com</owner>
  <summary>
    The amount of time the Alt key is held after pressing Alt+Tab to begin
    cycling through windows.
  </summary>
</histogram>

<histogram name="Ash.WindowCycleController.Items" units="items">
  <owner>varkha@chromium.org</owner>
  <owner>tbuckley@google.com</owner>
  <summary>
    The number of windows in the Alt+Tab selector. Only recorded once when
    cycling starts, not every time when Tab is pressed without releasing Alt.
  </summary>
</histogram>

<histogram name="Ash.WindowCycleController.SelectionDepth" units="items">
  <owner>varkha@chromium.org</owner>
  <owner>tbuckley@google.com</owner>
  <summary>
    When a window is selected after pressing Alt+Tab, records that window's
    position in the global MRU ordering. 1 represents the most-recently used
    window, 2 represents the next most-recently used window, and so on. Recorded
    when Alt+Tab cycling stops, i.e., when Alt key is released.
  </summary>
</histogram>

<histogram name="Ash.WindowCycleController.TimeBetweenTaskSwitches"
    units="seconds">
  <owner>varkha@chromium.org</owner>
  <owner>tbuckley@google.com</owner>
  <summary>
    The number of seconds between task switches triggered by the next window and
    previous window accelerator keys (ie Alt+Tab, Alt+Shift+Tab).
  </summary>
</histogram>

<histogram name="Ash.WindowManager.Lock.Success" units="ms">
  <owner>jdufault@chromium.org</owner>
  <summary>
    How long it took for the screen lock process to complete. This does not
    include timeouts.
  </summary>
</histogram>

<histogram name="Ash.WindowManager.Lock.Timeout" units="ms">
  <owner>jdufault@chromium.org</owner>
  <summary>
    How long it took for the screen lock process to complete, for timeouts only.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.AnimationSmoothness.Close" units="%">
  <owner>varkha@chromium.org</owner>
  <owner>tdanderson@chromium.org</owner>
  <summary>
    Relative smoothness of animations when closing a window in overview mode.
    100% represents ideally smooth 60 frames per second.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.AnimationSmoothness.Enter" units="%">
  <owner>varkha@chromium.org</owner>
  <owner>tdanderson@chromium.org</owner>
  <summary>
    Relative smoothness of animations when entering overview mode. 100%
    represents ideally smooth 60 frames per second.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.AnimationSmoothness.Exit" units="%">
  <owner>varkha@chromium.org</owner>
  <owner>tdanderson@chromium.org</owner>
  <summary>
    Relative smoothness of animations when exiting overview mode. 100%
    represents ideally smooth 60 frames per second.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.ArrowKeyPresses">
  <owner>flackr@chromium.org</owner>
  <owner>tdanderson@chromium.org</owner>
  <summary>
    The number of times the arrow keys are pressed in overview mode per session,
    i.e. between bringing up overview mode and ending it. This is only measured
    for the sessions that end by selecting a window with the enter key.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.CycleTime" units="ms">
  <obsolete>
    Deprecated as of 06/2014. No longer relevant since alt-tab switching was
    separated from WindowSelector.
  </obsolete>
  <owner>flackr@chromium.org</owner>
  <owner>kuscher@google.com</owner>
  <summary>
    The amount of time the Alt key is held after pressing Alt+Tab to begin
    cycling through windows.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.Items">
  <owner>flackr@chromium.org</owner>
  <owner>kuscher@google.com</owner>
  <summary>
    The number of items (single windows or groups of windows such as panels) in
    the overview mode, present at the start of each session.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.ItemsWhenTextFilteringUsed" units="items">
  <owner>tdanderson@chromium.org</owner>
  <owner>flackr@chromium.org</owner>
  <summary>
    The number of items showing in overview mode at the moment when an item is
    selected or when selection is canceled. Only recorded if the text filtering
    textfield contains a non-empty string.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.KeyPressesOverItemsRatio" units="%">
  <owner>flackr@chromium.org</owner>
  <owner>tdanderson@chromium.org</owner>
  <summary>
    The ratio between the arrow key presses and the number of overview items,
    expressed as a percentage for a single session.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.OverviewClosedItems">
  <owner>flackr@chromium.org</owner>
  <owner>tdanderson@chromium.org</owner>
  <summary>
    The number of items closed from the window overview for a single session.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.SelectionDepth" units="items">
  <owner>varkha@chromium.org</owner>
  <owner>tdanderson@chromium.org</owner>
  <owner>tbuckley@chromium.org</owner>
  <summary>
    When a window is selected in overview mode, records that window's position
    in the global MRU ordering. 1 represents the most-recently used window, 2
    represents the next most-recently used window, and so on.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.TextFilteringStringLength"
    units="characters">
  <owner>tdanderson@chromium.org</owner>
  <owner>flackr@chromium.org</owner>
  <summary>
    The length of the string entered into the text filtering textfield at the
    moment when an item is selected or when selection is canceled.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.TextFilteringTextfieldCleared">
  <owner>tdanderson@chromium.org</owner>
  <owner>flackr@chromium.org</owner>
  <summary>
    The number of times the text filtering textfield has had all of its text
    removed within a single overview mode session. Measured from the time
    overview mode is invoked to when an item is selected or when selection is
    canceled.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.TimeBetweenActiveWindowChanges"
    units="seconds">
  <owner>bruthig@chromium.org</owner>
  <owner>tdanderson@chromium.org</owner>
  <summary>
    The amount of time between endings of overview mode sessions which were
    caused by the user selecting a window which was not previously active. Only
    recorded on the second and later times after startup that the user selected
    a window which was not previously active.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.TimeBetweenUse" units="ms">
  <owner>flackr@chromium.org</owner>
  <owner>kuscher@google.com</owner>
  <summary>
    The amount of time between uses of overview mode, recorded when overview
    mode is entered. Only recorded on the second and later times after startup
    that the user entered overview mode.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.TimeInOverview" units="ms">
  <owner>flackr@chromium.org</owner>
  <owner>kuscher@google.com</owner>
  <summary>
    The amount of time spent in overview mode. Overview mode is engaged by
    pressing the overview button. The time is measured from the moment the
    windows begin animating to a thumbnail size preview to when a window is
    selected or selection is canceled.
  </summary>
</histogram>

<histogram name="Ash.WindowSelector.TimeInOverviewWithTextFiltering" units="ms">
  <owner>tdanderson@chromium.org</owner>
  <owner>flackr@chromium.org</owner>
  <summary>
    The amount of time spent in overview mode when text filtering is used. The
    time is measured from the moment the windows begin animating to a thumbnail
    size preview to when a window is selected or selection is canceled. Only
    recorded if the text filtering textfield contains a non-empty string.
  </summary>
</histogram>

<histogram name="AsyncDNS.AttemptCountFail">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Count of DnsAttempts before DnsTransaction completes with failure.
  </summary>
</histogram>

<histogram name="AsyncDNS.AttemptCountSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Count of DnsAttempts before DnsTransaction completes successfully.
  </summary>
</histogram>

<histogram name="AsyncDNS.ConfigChange" enum="BooleanSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Whether DnsConfigService::OnConfigChange actually corresponded to a change
    in DnsConfig.
  </summary>
</histogram>

<histogram name="AsyncDNS.ConfigNotifyInterval" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time between calls to DnsConfigService::InvalidateConfig.
  </summary>
</histogram>

<histogram name="AsyncDNS.ConfigParseDuration" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>Duration of time spent parsing DnsConfig.</summary>
</histogram>

<histogram name="AsyncDNS.ConfigParsePosix" enum="AsyncDNSConfigParsePosix">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Counts of results of parsing DnsConfig in DnsConfigServicePosix.
  </summary>
</histogram>

<histogram name="AsyncDNS.ConfigParseResult" enum="BooleanSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>Whether DnsConfig was parsed successfully.</summary>
</histogram>

<histogram name="AsyncDNS.ConfigParseWin" enum="AsyncDNSConfigParseWin">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Counts of results of parsing DnsConfig in DnsConfigServiceWin.
  </summary>
</histogram>

<histogram name="AsyncDNS.DNSChangerDetected" enum="BooleanSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Whether the first valid DnsConfig included a rogue nameserver.
  </summary>
</histogram>

<histogram name="AsyncDNS.DnsClientDisabledReason" enum="NetErrorCodes">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Counts of specific error codes returned by DnsTask if a subsequent ProcTask
    succeeded, at the end of a streak of failures after which the DnsClient was
    disabled.
  </summary>
</histogram>

<histogram name="AsyncDNS.DnsClientEnabled" enum="BooleanSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    TRUE counts the events when a valid DnsConfig is received and used to enable
    DnsClient, while FALSE counts the events when DnsClient is disabled after a
    series of successful fallbacks from DnsTask to ProcTask.
  </summary>
</histogram>

<histogram name="AsyncDNS.FallbackFail" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time spent by ProcTask in failing fallback resolutions.
  </summary>
</histogram>

<histogram name="AsyncDNS.FallbackSuccess" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time spent by ProcTask in successful fallback resolutions.
  </summary>
</histogram>

<histogram name="AsyncDNS.HaveDnsConfig" enum="BooleanSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Whether there was a valid DNS configuration at the start of a job which
    eventually completed successfully.
  </summary>
</histogram>

<histogram name="AsyncDNS.HostParseResult" enum="BooleanSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>Whether DnsHosts were parsed successfully.</summary>
</histogram>

<histogram name="AsyncDNS.HostsChange" enum="BooleanSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Whether DnsConfigService::OnHostsChange actually corresponded to a change in
    DnsHosts.
  </summary>
</histogram>

<histogram name="AsyncDNS.HostsNotifyInterval" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time between calls to DnsConfigService::InvalidateHosts.
  </summary>
</histogram>

<histogram name="AsyncDNS.HostsParseDuration" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>Duration of time spent parsing DnsHosts.</summary>
</histogram>

<histogram name="AsyncDNS.HostsParseWin" enum="AsyncDNSHostsParseWin">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Counts of results of parsing DnsHosts in DnsConfigServiceWin.
  </summary>
</histogram>

<histogram name="AsyncDNS.HostsSize" units="bytes">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The size of the HOSTS file observed before each attempt to parse it.
  </summary>
</histogram>

<histogram name="AsyncDNS.JobQueueTime" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the time the HostResolverImpl::Job was created and the
    time the Job was started (using DnsClient).
  </summary>
</histogram>

<histogram name="AsyncDNS.JobQueueTime_HIGHEST" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the time the HostResolverImpl::Job was created and the
    time the Job was started (using DnsClient). Includes only Jobs which had
    priority HIGHEST when started.
  </summary>
</histogram>

<histogram name="AsyncDNS.JobQueueTime_IDLE" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the time the HostResolverImpl::Job was created and the
    time the Job was started (using DnsClient). Includes only Jobs which had
    priority IDLE when started.
  </summary>
</histogram>

<histogram name="AsyncDNS.JobQueueTime_LOW" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the time the HostResolverImpl::Job was created and the
    time the Job was started (using DnsClient). Includes only Jobs which had
    priority LOW when started.
  </summary>
</histogram>

<histogram name="AsyncDNS.JobQueueTime_LOWEST" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the time the HostResolverImpl::Job was created and the
    time the Job was started (using DnsClient). Includes only Jobs which had
    priority LOWEST when started.
  </summary>
</histogram>

<histogram name="AsyncDNS.JobQueueTime_MEDIUM" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the time the HostResolverImpl::Job was created and the
    time the Job was started (using DnsClient). Includes only Jobs which had
    priority MEDIUM when started.
  </summary>
</histogram>

<histogram name="AsyncDNS.JobQueueTimeAfterChange" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the last time the priority of a HostResolverImpl::Job
    changed (when a Request was attached or detached) and the time the Job was
    started (using DnsClient).
  </summary>
</histogram>

<histogram name="AsyncDNS.JobQueueTimeAfterChange_HIGHEST" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the last time the priority of a HostResolverImpl::Job
    changed (when a Request was attached or detached) and the time the Job was
    started (using DnsClient). Includes only Jobs which had priority HIGHEST
    when started.
  </summary>
</histogram>

<histogram name="AsyncDNS.JobQueueTimeAfterChange_IDLE" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the last time the priority of a HostResolverImpl::Job
    changed (when a Request was attached or detached) and the time the Job was
    started (using DnsClient). Includes only Jobs which had priority IDLE when
    started.
  </summary>
</histogram>

<histogram name="AsyncDNS.JobQueueTimeAfterChange_LOW" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the last time the priority of a HostResolverImpl::Job
    changed (when a Request was attached or detached) and the time the Job was
    started (using DnsClient). Includes only Jobs which had priority LOW when
    started.
  </summary>
</histogram>

<histogram name="AsyncDNS.JobQueueTimeAfterChange_LOWEST" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the last time the priority of a HostResolverImpl::Job
    changed (when a Request was attached or detached) and the time the Job was
    started (using DnsClient). Includes only Jobs which had priority LOWEST when
    started.
  </summary>
</histogram>

<histogram name="AsyncDNS.JobQueueTimeAfterChange_MEDIUM" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the last time the priority of a HostResolverImpl::Job
    changed (when a Request was attached or detached) and the time the Job was
    started (using DnsClient). Includes only Jobs which had priority MEDIUM when
    started.
  </summary>
</histogram>

<histogram name="AsyncDNS.NameServersType" enum="AsyncDNSNameServersType">
  <obsolete>
    Deprecated as of 4/2016.
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Type of nameservers in the DNS config, recorded each time the config is read
    by the DNSConfigService.
  </summary>
</histogram>

<histogram name="AsyncDNS.ParseToAddressList" enum="AsyncDNSParseResult">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Counts of results of parsing addresses out of DNS responses in successful
    DnsTransactions.
  </summary>
</histogram>

<histogram name="AsyncDNS.PrefDefaultSource" enum="AsyncDNSPrefDefaultSource">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The source of the async DNS preference's default. Logged at startup, when
    the IO thread is created.
  </summary>
</histogram>

<histogram name="AsyncDNS.PrefSource" enum="AsyncDNSPrefSource">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The source of the async DNS preference's value. Logged at startup, when the
    IO thread is created.
  </summary>
</histogram>

<histogram name="AsyncDNS.ResolveError" enum="NetErrorCodes">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Counts of specific error codes returned by DnsTask if a subsequent ProcTask
    succeeded.
  </summary>
</histogram>

<histogram name="AsyncDNS.ResolveFail" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken by DnsTask in resolutions that failed. Excludes time
    spent in the subsequent fallback.
  </summary>
</histogram>

<histogram name="AsyncDNS.ResolveStatus" enum="AsyncDNSResolveStatus">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Counts of the overall results of using asynchronous DNS in HostResolverImpl.
    This only includes jobs started with valid DNS configuration and excludes
    synchronous resolutions (as IP literals, from cache, and from HOSTS).
  </summary>
</histogram>

<histogram name="AsyncDNS.ResolveSuccess" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken by DnsTask in resolutions that succeeded.
  </summary>
</histogram>

<histogram name="AsyncDNS.ResolveSuccess_FAMILY_IPV4" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Same as AsyncDNS.ResolveSuccess, but limited to pure IPv4 lookups.
  </summary>
</histogram>

<histogram name="AsyncDNS.ResolveSuccess_FAMILY_IPV6" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Same as AsyncDNS.ResolveSuccess, but limited to pure IPv6 lookups.
  </summary>
</histogram>

<histogram name="AsyncDNS.ResolveSuccess_FAMILY_UNSPEC" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Same as AsyncDNS.ResolveSuccess, but limited to IPv4/IPv6 lookups.
  </summary>
</histogram>

<histogram name="AsyncDNS.ServerCount">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Count of servers in DnsConfig. Recorded on every new DnsSession, which is
    created on DNS change.
  </summary>
</histogram>

<histogram name="AsyncDNS.ServerFailureIndex">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Index in DnsConfig of the failing server, recorded at the time of failure.
  </summary>
</histogram>

<histogram name="AsyncDNS.ServerFailuresAfterNetworkChange">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Count of server failures after network change before first success in the
    DnsSession. Recorded at the time of first success.
  </summary>
</histogram>

<histogram name="AsyncDNS.ServerFailuresAfterSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Count of server failures after success until the end of the session. Server
    has reported success at some point during the session. Recorded at the end
    of the DnsSession.
  </summary>
</histogram>

<histogram name="AsyncDNS.ServerFailuresBeforeSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Count of server failures before success. This is NOT the first success in
    the DnsSession. Recorded at the time of success.
  </summary>
</histogram>

<histogram name="AsyncDNS.ServerFailuresWithoutSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Count of server failures without success until the end of the session.
    Server has never reported success during the DnsSession. Recorded at the end
    of the DnsSession.
  </summary>
</histogram>

<histogram name="AsyncDNS.ServerIsGood" enum="BooleanSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The current server is &quot;good&quot; and does not have to be skipped.
  </summary>
</histogram>

<histogram name="AsyncDNS.SortFailure" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken in failing calls to AddressSorter in dual-stack
    resolutions using DnsTask.
  </summary>
</histogram>

<histogram name="AsyncDNS.SortSuccess" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken in successful calls to AddressSorter in dual-stack
    resolutions using DnsTask.
  </summary>
</histogram>

<histogram name="AsyncDNS.SuffixSearchDone">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The number of names from the search name list consumed during a successful
    transaction (QTYPE A only).
  </summary>
</histogram>

<histogram name="AsyncDNS.SuffixSearchRemain">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The number of names left on the search name list at the end of a successful
    transaction (QTYPE A only).
  </summary>
</histogram>

<histogram name="AsyncDNS.SuffixSearchStart">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The number of names on the search name list at the start of a transaction
    (QTYPE A only).
  </summary>
</histogram>

<histogram name="AsyncDNS.TCPAttemptFail" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken by DnsTCPAttempt in failed attempts. Excludes
    timeouts.
  </summary>
</histogram>

<histogram name="AsyncDNS.TCPAttemptSuccess" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken by DnsTCPAttempt in successful attempts.
  </summary>
</histogram>

<histogram name="AsyncDNS.TimeoutErrorHistogram" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Difference between RTT and timeout calculated using Histogram algorithm.
  </summary>
</histogram>

<histogram name="AsyncDNS.TimeoutErrorHistogramUnder" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Difference between timeout calculated using Histogram algorithm and RTT.
  </summary>
</histogram>

<histogram name="AsyncDNS.TimeoutErrorJacobson" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Difference between RTT and timeout calculated using Jacobson algorithm.
  </summary>
</histogram>

<histogram name="AsyncDNS.TimeoutErrorJacobsonUnder" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Difference between timeout calculated using Jacobson algorithm and RTT.
  </summary>
</histogram>

<histogram name="AsyncDNS.TimeoutSpentHistogram" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time that would be spent waiting for lost request using
    Histogram algorithm.
  </summary>
</histogram>

<histogram name="AsyncDNS.TimeoutSpentJacobson" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time that would be spent waiting for lost request using Jacobson
    algorithm.
  </summary>
</histogram>

<histogram name="AsyncDNS.TotalTime" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time since a HostResolverImpl::Resolve request to the time a
    result is posted. Excludes canceled, evicted, and aborted requests. Includes
    cache hits (recorded as 0). Excludes speculative requests.
  </summary>
</histogram>

<histogram name="AsyncDNS.TotalTime_speculative" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time since a HostResolverImpl::Resolve request to the time a
    result is posted. Excludes canceled, evicted, and aborted requests. Includes
    cache hits (recorded as 0). Speculative requests only.
  </summary>
</histogram>

<histogram name="AsyncDNS.TransactionFailure" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken in failing DnsTransactions. This includes server
    failures, timeouts and NXDOMAIN results.
  </summary>
</histogram>

<histogram name="AsyncDNS.TransactionSuccess" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken in successful DnsTransactions. This includes all
    NOERROR answers, even if they indicate the name has no addresses or they
    cannot be parsed.
  </summary>
</histogram>

<histogram name="AsyncDNS.TransactionSuccess_A" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Same as AsyncDNS.TransactionSuccess but limited to A query type.
  </summary>
</histogram>

<histogram name="AsyncDNS.TransactionSuccess_AAAA" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Same as AsyncDNS.TransactionSuccess but limited to AAAA query type.
  </summary>
</histogram>

<histogram name="AsyncDNS.TTL" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    TTL of the resolved addresses, as in the response received from the server.
    For results served from local cache, the TTL is from the original response.
  </summary>
</histogram>

<histogram name="AsyncDNS.UDPAttemptFail" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken by DnsUDPAttempt in failed attempts. Excludes
    timeouts.
  </summary>
</histogram>

<histogram name="AsyncDNS.UDPAttemptSuccess" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken by DnsUDPAttempt in successful attempts. Includes
    responses arriving after timeout, if multiple attempts are allowed.
  </summary>
</histogram>

<histogram name="AsyncDNS.UnchangedConfigInterval" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time since the last empty config result to the time a non-change
    OnConfigChange is received.
  </summary>
</histogram>

<histogram name="AsyncDNS.UnchangedHostsInterval" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time since the last empty config result to the time a non-change
    OnHostsChange is received.
  </summary>
</histogram>

<histogram name="AsyncDNS.WatchStatus" enum="AsyncDNSWatchStatus">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The result of DnsConfigService watch. Counts STARTED on every initialization
    and FAILED_* on any failure.
  </summary>
</histogram>

<histogram name="Aura.CreatedGpuBrowserCompositor" enum="CompositorType">
  <owner>jbauman@chromium.org</owner>
  <summary>
    Whether the browser compositor uses GPU or the software renderer.
  </summary>
</histogram>

<histogram name="AuthPolicy.ErrorTypeOfAuthenticateUser"
    enum="AuthPolicyErrorType">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Result from an attempt to authenticate a user to an Active Directory domain.
  </summary>
</histogram>

<histogram name="AuthPolicy.ErrorTypeOfJoinADDomain" enum="AuthPolicyErrorType">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Result from an attempt to join a machine to an Active Directory domain.
  </summary>
</histogram>

<histogram name="AuthPolicy.ErrorTypeOfRefreshDevicePolicy"
    enum="AuthPolicyErrorType">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Result from an attempt to fetch device policy from an Active Directory
    domain and store it on disk.
  </summary>
</histogram>

<histogram name="AuthPolicy.ErrorTypeOfRefreshUserPolicy"
    enum="AuthPolicyErrorType">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Result from an attempt to fetch user policy from an Active Directory domain
    and store it on disk.
  </summary>
</histogram>

<histogram name="AuthPolicy.FailedTriesOfKinit">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Number of times 'kinit' failed until the next try succeeded or the method
    gave up because a maximum number of tries was exceeded. 'kinit' is run for
    Active Directory enrolled devices during user authentication and device
    policy fetch.
  </summary>
</histogram>

<histogram name="AuthPolicy.FailedTriesOfSmbClient">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Number of times 'smbclient' failed until it the next try succeeded or the
    method gave up because a maximum number of tries was exceeded. 'smbclient'
    is run for Active Directory enrolled devices during policy fetch.
  </summary>
</histogram>

<histogram name="AuthPolicy.NumGposToDownload">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Number of group policy objects attached to a specific user or machine on an
    Active Directory domain. This value is recorded when user or device policy
    is fetched from an Active Directory server.
  </summary>
</histogram>

<histogram name="AuthPolicy.TimeToAuthenticateUser" units="ms">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Time in milliseconds to authenticate a user to an Active Directory domain.
    The value is recorded no matter if the operation was successful or not.
  </summary>
</histogram>

<histogram name="AuthPolicy.TimeToJoinADDomain" units="ms">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Time in milliseconds to join a machine to an Active Directory domain. Domain
    join is part of the Active Directory enrollment process. The value is
    recorded no matter if the operation was successful or not.
  </summary>
</histogram>

<histogram name="AuthPolicy.TimeToRefreshDevicePolicy" units="ms">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Time in milliseconds to fetch device policy from an Active Directory domain
    and store it on disk. The value is recorded no matter if the operation was
    successful or not.
  </summary>
</histogram>

<histogram name="AuthPolicy.TimeToRefreshUserPolicy" units="ms">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Time in milliseconds to fetch user policy from an Active Directory domain
    and store it on disk. The value is recorded no matter if the operation was
    successful or not.
  </summary>
</histogram>

<histogram name="AuthPolicy.TimeToRunKinit" units="ms">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Time in milliseconds to call 'kinit' (request Kerberos ticket-granting-
    ticket). TGTs are requested regularly for accessing services on Active
    Directory domains. The value is recorded no matter if the operation was
    successful or not.
  </summary>
</histogram>

<histogram name="AuthPolicy.TimeToRunNetAdsInfo" units="ms">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Time in milliseconds to call 'net ads info' (query Active Directory
    information). The value is recorded no matter if the operation was
    successful or not.
  </summary>
</histogram>

<histogram name="AuthPolicy.TimeToRunNetAdsJoin" units="ms">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Time in milliseconds to call 'net ads join' (join machine to an Active
    Directory domain). The value is recorded no matter if the operation was
    successful or not.
  </summary>
</histogram>

<histogram name="AuthPolicy.TimeToRunNetAdsSearch" units="ms">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Time in milliseconds to call 'net ads search' (query information about an
    Active Directory account). The value is recorded no matter if the operation
    was successful or not.
  </summary>
</histogram>

<histogram name="AuthPolicy.TimeToRunNetAdsWorkgroup" units="ms">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Time in milliseconds to call 'net ads workgroup' (query Active Directory
    workgroup). The value is recorded no matter if the operation was successful
    or not.
  </summary>
</histogram>

<histogram name="AuthPolicy.TimeToRunSmbclient" units="ms">
  <owner>ljusten@chromium.org</owner>
  <summary>
    Time in milliseconds to call 'smbclient' (download policy from an Active
    Directory domain). The value is recorded no matter if the operation was
    successful or not.
  </summary>
</histogram>

<histogram name="Autocheckout.Bubble" enum="AutocheckoutBubble">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the frequency of user interactions with the Autocheckout bubble,
    which prompts users to invoke Autocheckout on supported websites.
  </summary>
</histogram>

<histogram name="Autocheckout.BuyFlow" enum="AutocheckoutBuyFlow">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the frequency of final states reached in Autocheckout buy flow.
  </summary>
</histogram>

<histogram name="Autocheckout.DismissalState"
    enum="AutofillDialogDismissalState">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The state of the Autocheckout dialog when it was dismissed.</summary>
</histogram>

<histogram name="Autocheckout.FlowDuration" units="ms">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the time elapsed between when the user submitted the Autocheckout
    dialog and when the Autocheckout flow, or filling process, concluded.
  </summary>
</histogram>

<histogram name="Autocheckout.FlowDuration.Failed" units="ms">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the time elapsed between when the user submitted the Autocheckout
    dialog and when the Autocheckout flow concluded, in cases where the flow
    failed.
  </summary>
</histogram>

<histogram name="Autocheckout.FlowDuration.Succeeded" units="ms">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the time elapsed between when the user submitted the Autocheckout
    dialog and when the Autocheckout flow concluded, in cases where the flow
    succeeded.
  </summary>
</histogram>

<histogram name="Autocheckout.InitialUserState"
    enum="AutofillDialogInitialUserState">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The initial state of a user that's interacting with a freshly shown
    Autocheckout dialog.
  </summary>
</histogram>

<histogram name="Autocheckout.PopupInDialog" enum="AutofillDialogPopupEvent">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    User interactions with the Autofill popup shown while filling an
    Autocheckout dialog.
  </summary>
</histogram>

<histogram name="Autocheckout.Security" enum="AutofillDialogSecurity">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the frequency of security warnings and errors in the Autocheckout
    dialog.
  </summary>
</histogram>

<histogram name="Autocheckout.UiDuration" units="ms">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the duration for which an Autocheckout dialog was shown.
  </summary>
</histogram>

<histogram name="Autocheckout.UiDuration.Cancel" units="ms">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the duration for which an Autocheckout dialog was shown, in cases
    where the user ended up canceling out of the dialog.
  </summary>
</histogram>

<histogram name="Autocheckout.UiDuration.Submit" units="ms">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the duration for which an Autocheckout dialog was shown, in cases
    where the user ended up accepting the dialog.
  </summary>
</histogram>

<histogram name="Autocheckout.UiEvents" enum="AutofillDialogUiEvents">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures how users are interacting with the Autocheckout dialog UI.
  </summary>
</histogram>

<histogram name="Autocheckout.UiLatencyToShow" units="ms">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the duration of time it takes for the Autocheckout UI to be
    actionable by the user after it is shown.
  </summary>
</histogram>

<histogram name="Autocheckout.WalletErrors" enum="WalletErrors">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the frequency of errors in communicating with the Google Online
    Wallet server.
  </summary>
</histogram>

<histogram name="Autocheckout.WalletRequiredActions"
    enum="WalletRequiredActions">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the frequency of required user actions returned by the Google
    Online Wallet server.
  </summary>
</histogram>

<histogram name="Autocheckout.WhitelistDownloadDuration" units="ms">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures time taken to download the Autocheckout whitelist file.
  </summary>
</histogram>

<histogram name="Autocheckout.WhitelistDownloadDuration.Failed" units="ms">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures time taken to download the Autocheckout whitelist file in case the
    download was failed.
  </summary>
</histogram>

<histogram name="Autocheckout.WhitelistDownloadDuration.Succeeded" units="ms">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures time taken to download the Autocheckout whitelist file in case the
    download was succeeded.
  </summary>
</histogram>

<histogram name="AutodetectEncoding.Attempted" enum="BooleanAttempted">
  <obsolete>
    Deprecated as of 2/2016.
  </obsolete>
  <owner>jinsukkim@chromium.org</owner>
  <summary>
    Whether the text encoding auto detection logic was attempted for a web page.
    The logic is triggered when the parser fails to find the encoding method
    from other signals such as http header, meta tag, BOM, etc.

    If the logic successfully detects a new encoding method which is different
    from the default one, the result is reported through
    AutodetectEncoding.Detected with the encoding method (see below). Otherwise
    - i.e. detection logic somehow fails to work for the page or the detected
    one is same as the default - no result is reported.
  </summary>
</histogram>

<histogram name="AutodetectEncoding.Detected" enum="EncodingMethod"
    units="pages">
  <obsolete>
    Deprecated as of 2/2016.
  </obsolete>
  <owner>jinsukkim@chromium.org</owner>
  <summary>
    The number of web pages whose encoding method is found by the auto detection
    logic. Grouped by the encoding methods defined in EncodingMethod.
  </summary>
</histogram>

<histogram name="Autofill.AddressBook.AccessSkipped" enum="BooleanSkipped">
  <obsolete>
    Deprecated as of 8/2015.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    Whether an attempt to access the Mac AddressBook was skipped because doing
    so would incorrectly cause the appearance of the permissions dialog. This
    happens when Chrome auto-update changes the binary on disk before the first
    AddressBook access attempt.
  </summary>
</histogram>

<histogram name="Autofill.AddressBookAvailable" enum="BooleanAvailable">
  <obsolete>
    Deprecated as of 8/2015.
  </obsolete>
  <owner>isherman@chromium.org</owner>
  <summary>
    Whether the Mac AddressBook was available on an attempt to read data from
    it.
  </summary>
</histogram>

<histogram name="Autofill.AddressBookAvailableOnFirstAttempt"
    enum="BooleanAvailable">
  <obsolete>
    Deprecated as of 8/2015.
  </obsolete>
  <owner>isherman@chromium.org</owner>
  <summary>
    Whether the Mac AddressBook was available on the *first* attempt to read
    data from it.  This is only recorded once per Chrome profile.
  </summary>
</histogram>

<histogram name="Autofill.AddressSuggestionsCount">
  <owner>isherman@chromium.org</owner>
  <summary>
    The number of address suggestions shown in the Autofill popup.
  </summary>
</histogram>

<histogram name="Autofill.AutomaticProfileCreation" enum="BooleanCreated">
  <obsolete>
    Deprecated as of 6/2015, replaced by Autofill.ProfileActionOnFormSubmitted.
  </obsolete>
  <owner>sebsg@chromium.org</owner>
  <summary>
    Whether a new Autofill profile was created automatically. In the
    &quot;false&quot; case, an existing profile was used (and possibly updated).
  </summary>
</histogram>

<histogram name="Autofill.CardUploadDecision" enum="AutofillCardUploadDecision">
  <obsolete>
    Deprecated as of 2/2016, replaced by Autofill.CardUploadDecisionExpanded.
  </obsolete>
  <owner>jdonnelly@chromium.org</owner>
  <summary>
    Whether upload was offered upon detecting a form submission with credit card
    data and a reason if it wasn't.
  </summary>
</histogram>

<histogram name="Autofill.CardUploadDecisionExpanded"
    enum="AutofillCardUploadDecisionExpanded">
  <owner>jdonnelly@chromium.org</owner>
  <summary>
    Whether upload was offered upon detecting a form submission with credit card
    data and a detailed reason if it wasn't.
  </summary>
</histogram>

<histogram name="AutoFill.CCInfoBarAccepted">
  <obsolete>
    Deprecated as of 3/2011, replaced by Autofill.CreditCardInfoBar.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The Autofill credit card info bar was accepted.</summary>
</histogram>

<histogram name="AutoFill.CCInfoBarDenied">
  <obsolete>
    Deprecated as of 3/2011, replaced by Autofill.CreditCardInfoBar.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The Autofill credit card info bar was denied.</summary>
</histogram>

<histogram name="Autofill.CreditCardFillingInfoBar"
    enum="AutofillCreditCardInfoBar">
  <owner>mathp@chromium.org</owner>
  <summary>
    The relative frequency with which users accept, deny, or ignore the Autofill
    credit card assisted filling infobar prompt.
  </summary>
</histogram>

<histogram base="true" name="Autofill.CreditCardInfoBar"
    enum="AutofillCreditCardInfoBar">
  <owner>isherman@chromium.org</owner>
  <summary>
    The relative frequency with which users accept, deny, or ignore the Autofill
    credit card info bar prompt.
  </summary>
</histogram>

<histogram name="Autofill.DaysSinceLastUse.CreditCard" units="days">
  <owner>sebsg@chromium.org</owner>
  <summary>
    Logs the number of days that have passed since the credit card was last
    used.
  </summary>
</histogram>

<histogram name="Autofill.DaysSinceLastUse.Profile" units="days">
  <owner>sebsg@chromium.org</owner>
  <summary>
    Logs the number of days that have passed since the profile was last used.
  </summary>
</histogram>

<histogram name="Autofill.DeveloperEngagement"
    enum="AutofillDeveloperEngagement">
  <owner>isherman@chromium.org</owner>
  <summary>
    Measures the adoption of the HTML autocomplete type hint specification (see
    http://is.gd/whatwg_autocomplete for more details).  For each fillable form
    detected, logs whether that form includes author-specified type hints.
  </summary>
</histogram>

<histogram name="Autofill.FillDuration.FromInteraction.WithAutofill">
  <owner>isherman@chromium.org</owner>
  <summary>
    Time elapsed between the user's first interaction with a form and the form's
    submission, for an autofilled form.
  </summary>
</histogram>

<histogram name="Autofill.FillDuration.FromInteraction.WithoutAutofill">
  <owner>isherman@chromium.org</owner>
  <summary>
    Time elapsed between the user's first interaction with a form and the form's
    submission, for a non-autofilled form.
  </summary>
</histogram>

<histogram name="Autofill.FillDuration.FromLoad.WithAutofill">
  <owner>isherman@chromium.org</owner>
  <summary>
    Time elapsed between form load and form submission, for an autofilled form.
  </summary>
</histogram>

<histogram name="Autofill.FillDuration.FromLoad.WithoutAutofill">
  <owner>isherman@chromium.org</owner>
  <summary>
    Time elapsed between form load and form submission, for a non-autofilled
    form.
  </summary>
</histogram>

<histogram name="Autofill.FormEvents.Address" enum="AutofillFormEvent">
  <owner>waltercacau@chromium.org</owner>
  <summary>
    Autofill form events for address forms. These are recorded when the user
    interacts with a form requesting an address.
  </summary>
  <details>
    Important caveat about submission metrics: - Submission using autofill data
    is determined by simply evaluating if there was a fill operation in this
    page. So, if the user filled with local data, completed erased or modified
    the data after and then submitted, we would only emit one &quot;Submitted
    with server suggestion filled (once)&quot;; - The submission segmentation
    works by checking what kind of data was last filled for this type of form in
    the page load. So, if a user initially filled with local data and after that
    filled with server, we will only emit &quot;Submitted with server suggestion
    filled (once)&quot;.
  </details>
</histogram>

<histogram name="Autofill.FormEvents.CreditCard" enum="AutofillFormEvent">
  <owner>waltercacau@chromium.org</owner>
  <summary>
    Autofill form events for credit card forms. These are recorded when the user
    interacts with a form requesting a credit card.
  </summary>
  <details>
    Important caveat about submission metrics: - Submission using autofill data
    is determined by simply evaluating if there was a fill operation in this
    page. So, if the user filled with local data, completed erased or modified
    the data after and then submitted, we would only emit one &quot;Submitted
    with server suggestion filled (once)&quot;; - The submission segmentation
    works by checking what kind of data was last filled for this type of form in
    the page load. So, if a user initially filled with local data and after that
    filled with server, we will only emit &quot;Submitted with server suggestion
    filled (once)&quot;.
  </details>
</histogram>

<histogram name="Autofill.FormEvents.CreditCard.OnNonsecurePage"
    enum="AutofillFormEvent">
  <owner>estark@chromium.org</owner>
  <summary>
    Autofill form events for credit card forms on nonsecure pages. These are
    recorded when the user interacts with a form requesting a credit card.
  </summary>
  <details>
    Important caveat about submission metrics: - Submission using autofill data
    is determined by simply evaluating if there was a fill operation in this
    page. So, if the user filled with local data, completed erased or modified
    the data after and then submitted, we would only emit one &quot;Submitted
    with server suggestion filled (once)&quot;; - The submission segmentation
    works by checking what kind of data was last filled for this type of form in
    the page load. So, if a user initially filled with local data and after that
    filled with server, we will only emit &quot;Submitted with server suggestion
    filled (once)&quot;.
  </details>
</histogram>

<histogram name="Autofill.FormSubmittedState" enum="AutofillFormSubmittedState">
  <owner>sebsg@chromium.org</owner>
  <summary>The autofill state related to a submitted form.</summary>
</histogram>

<histogram name="Autofill.IcuCollatorCreationSuccess" enum="BooleanSuccess">
  <owner>mathp@chromium.org</owner>
  <summary>
    Tracks whether Autofill was able to create the ICU collator successfully.
  </summary>
</histogram>

<histogram name="Autofill.IsEnabled.PageLoad" enum="BooleanEnabled">
  <owner>isherman@chromium.org</owner>
  <summary>
    Tracks whether Autofill is enabled on page load for a page containing forms.
  </summary>
</histogram>

<histogram name="Autofill.IsEnabled.Startup" enum="BooleanEnabled">
  <owner>isherman@chromium.org</owner>
  <summary>Tracks whether Autofill is enabled when Chrome launches.</summary>
</histogram>

<histogram name="Autofill.KeyboardAccessoryButtonsIOS"
    enum="AutofillKeyboardAccessoryButtonsIOS">
  <owner>bondd@chromium.org</owner>
  <summary>
    [iOS] Measures the frequency of button presses on the iOS Autofill keyboard
    accessory.
  </summary>
</histogram>

<histogram name="Autofill.MacAddressBook" enum="AutofillMacAddressBook">
  <obsolete>
    Deprecated as of 8/2015.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    When Chrome tries to access the user's Address Book, OSX presents a blocking
    dialog which disrupts the user experience. A new Chrome feature has been
    introduced wherein Chrome only shows this blocking dialog if the user
    explicitly asked Chrome to access the user's Address Book. If a form's field
    looks like it might support Autofill suggestions from the user's Address
    Book and there are no other suggestions, Chrome shows an Autofill entry that
    prompts the user to give Chrome access to the user's Address Book. This
    histogram tracks the frequency that this Autofill entry is presented, and
    the frequency that this Autofill entry is selected.
  </summary>
</histogram>

<histogram name="Autofill.MacAddressBook.AcceptedSuggestionIsFromAddressBook"
    enum="BooleanFromAddressBook">
  <obsolete>
    Deprecated as of 8/2015.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    This metric is emitted each time the user accepts an Autofill suggestion. It
    records whether the result is from the Address Book.
  </summary>
</histogram>

<histogram name="Autofill.MacAddressBook.AccessTime" units="ms">
  <obsolete>
    Deprecated as of 8/2015.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    The amount of time spent accessing the OSX Address Book the first time after
    Chrome was launched. If this time is larger than ~100ms, this it is likely
    that the user was shown a blocking, modal dialog.
  </summary>
</histogram>

<histogram name="Autofill.MacAddressBook.ContainedMeCard"
    enum="BooleanContainedMeCard">
  <obsolete>
    Deprecated as of 8/2015.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    After a Chrome is given access to the Mac Address Book, whether the Address
    Book contained a Me card.
  </summary>
</histogram>

<histogram name="Autofill.MacAddressBook.MeCard.HadAddress"
    enum="BooleanHadAddress">
  <obsolete>
    Deprecated as of 8/2015.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    When Chrome is given access to the Me Card of the Address Book, whether the
    card has an address that contained a street number and either a city or zip
    code.
  </summary>
</histogram>

<histogram name="Autofill.MacAddressBook.MeCard.HadEmail"
    enum="BooleanHadEmail">
  <obsolete>
    Deprecated as of 8/2015.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    When Chrome is given access to the Me Card of the Address Book, whether the
    card has an email.
  </summary>
</histogram>

<histogram name="Autofill.MacAddressBook.MeCard.HadName" enum="BooleanHadName">
  <obsolete>
    Deprecated as of 8/2015.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    When Chrome is given access to the Me Card of the Address Book, whether the
    card has a name.
  </summary>
</histogram>

<histogram name="Autofill.MacAddressBook.MeCard.HadPhoneNumber"
    enum="BooleanHadPhoneNumber">
  <obsolete>
    Deprecated as of 8/2015.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    When Chrome is given access to the Me Card of the Address Book, whether the
    card has a phone number.
  </summary>
</histogram>

<histogram name="Autofill.MacAddressBook.NumShowsBeforeSelected">
  <obsolete>
    Deprecated as of 8/2015.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    The number of times that the access Address Book prompt has been shown when
    the user selects the prompt.
  </summary>
</histogram>

<histogram name="Autofill.NumberOfEditedAutofilledFieldsAtSubmission"
    units="fields">
  <owner>mathp@chromium.org</owner>
  <summary>
    The number of autofilled fields that were subsequently edited prior to the
    form being submitted.
  </summary>
</histogram>

<histogram name="Autofill.NumberOfProfilesConsideredForDedupe" units="profiles">
  <owner>mathp@chromium.org</owner>
  <summary>
    The number of Autofill profiles that have been considered for deduplication.
  </summary>
</histogram>

<histogram name="Autofill.NumberOfProfilesRemovedDuringDedupe" units="profiles">
  <owner>mathp@chromium.org</owner>
  <summary>
    The number of Autofill profiles that have been removed during deduplication.
  </summary>
</histogram>

<histogram name="Autofill.PasswordFormQueryVolume"
    enum="PasswordFormQueryVolume">
  <obsolete>
    Deprecated 10/2015.
  </obsolete>
  <owner>dvadym@chromium.org</owner>
  <owner>gcasto@chromium.org</owner>
  <summary>
    Tracks the increased load on the Autofill server if the restriction on
    querying for password forms with fewer than 3 fields were omitted.
  </summary>
</histogram>

<histogram name="Autofill.PayloadCompressionRatio" units="%">
  <obsolete>
    Deprecated as of 1/2016, autofill payload compression was removed.
  </obsolete>
  <owner>mathp@chromium.org</owner>
  <summary>
    Compression ratio of the query and upload payload that are sent to the
    Autofill server. The payload is compressed using gzip.
  </summary>
</histogram>

<histogram name="Autofill.ProfileActionOnFormSubmitted"
    enum="AutofillProfileAction">
  <owner>sebsg@chromium.org</owner>
  <summary>
    The profile action that took place when a form was submitted.
  </summary>
</histogram>

<histogram name="AutoFill.ProfileCount">
  <obsolete>
    Deprecated as of 3/2011, replaced by Autofill.StoredProfileCount.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The number of Autofill address profiles a user has.</summary>
</histogram>

<histogram name="AutoFill.Quality" enum="AutofillQuality">
  <obsolete>
    Deprecated as of 3/2011, replaced by Autofill.Quality.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The quality of the AutoFill implementation.</summary>
</histogram>

<histogram name="Autofill.Quality" enum="AutofillQuality">
  <obsolete>
    Deprecated as of 2/2014 (M35), replaced by Autofill.UserHappiness.
  </obsolete>
  <owner>isherman@chromium.org</owner>
  <summary>The quality of the Autofill implementation.</summary>
</histogram>

<histogram name="Autofill.Quality.HeuristicType" enum="AutofillTypeQuality">
  <owner>isherman@chromium.org</owner>
  <summary>The quality of Autofill's heuristic field type detection.</summary>
</histogram>

<histogram name="Autofill.Quality.HeuristicType.ByFieldType"
    enum="AutofillTypeQualityByFieldType">
  <owner>isherman@chromium.org</owner>
  <summary>
    The quality of Autofill's heuristic field type detection, broken down by the
    specific field type.  Fields with multiple possible types (based on the
    stored Autofill data) are logged as having ambiguous type.
  </summary>
</histogram>

<histogram name="Autofill.Quality.PredictedType" enum="AutofillTypeQuality">
  <owner>isherman@chromium.org</owner>
  <summary>The overall quality of the Autofill field type predictions.</summary>
</histogram>

<histogram name="Autofill.Quality.PredictedType.ByFieldType"
    enum="AutofillTypeQualityByFieldType">
  <owner>isherman@chromium.org</owner>
  <summary>
    The overall quality of the Autofill field type predictions, broken down by
    the specific field type.  Fields with multiple possible types (based on the
    stored Autofill data) are logged as having ambiguous type.
  </summary>
</histogram>

<histogram name="Autofill.Quality.ServerType" enum="AutofillTypeQuality">
  <owner>isherman@chromium.org</owner>
  <summary>The quality of the Autofill server's field type detection.</summary>
</histogram>

<histogram name="Autofill.Quality.ServerType.ByFieldType"
    enum="AutofillTypeQualityByFieldType">
  <owner>isherman@chromium.org</owner>
  <summary>
    The quality of the Autofill server's field type detection, broken down by
    the specific field type.  Fields with multiple possible types (based on the
    stored Autofill data) are logged as having ambiguous type.
  </summary>
</histogram>

<histogram name="Autofill.QueriedCreditCardFormIsSecure" enum="BooleanSecure">
  <owner>mathp@chromium.org</owner>
  <summary>
    For credit card forms that are queried for Autofill, a ratio of how many are
    within secure contexts (which includes mixed passive content).
  </summary>
</histogram>

<histogram name="Autofill.SaveCreditCardPrompt"
    enum="AutofillSaveCreditCardPrompt">
  <owner>jdonnelly@chromium.org</owner>
  <summary>
    The relative frequency with which users accept or deny the Autofill save
    credit card prompt.
  </summary>
</histogram>

<histogram name="Autofill.ScanCreditCard.Completed" enum="BooleanCompleted">
  <owner>rouslan@chromium.org</owner>
  <summary>Whether a credit card scan was completed or cancelled.</summary>
</histogram>

<histogram name="Autofill.ScanCreditCard.Duration" units="ms">
  <owner>rouslan@chromium.org</owner>
  <summary>How long a credit card took to scan.</summary>
</histogram>

<histogram name="Autofill.ScanCreditCardPrompt"
    enum="AutofillScanCreditCardPrompt">
  <owner>estade@chromium.org</owner>
  <summary>Usage of the &quot;Scan card&quot; control item.</summary>
</histogram>

<histogram name="Autofill.ServerExperimentId" enum="AutofillExperimentId">
  <obsolete>
    Deprecated as of 6/2011, replaced by Autofill.ServerExperimentId.Query.
  </obsolete>
  <owner>isherman@chromium.org</owner>
  <summary>
    The experiment ID received in response to an Autofill server query.
  </summary>
</histogram>

<histogram name="Autofill.ServerExperimentId.Query" enum="AutofillExperimentId">
  <obsolete>
    Deprecated as of 2/2014 (M35).
  </obsolete>
  <owner>isherman@chromium.org</owner>
  <summary>
    The experiment ID received in response to an Autofill server query.
  </summary>
</histogram>

<histogram name="Autofill.ServerExperimentId.Upload"
    enum="AutofillExperimentId">
  <obsolete>
    Deprecated as of 2/2014 (M35).
  </obsolete>
  <owner>isherman@chromium.org</owner>
  <summary>
    The experiment ID received at the time of an Autofill upload.
  </summary>
</histogram>

<histogram name="AutoFill.ServerQueryResponse" enum="AutofillQueryResult">
  <obsolete>
    Deprecated as of 3/2011, replaced by Autofill.ServerQueryResponse.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The usefulness of AutoFill server information.</summary>
</histogram>

<histogram name="Autofill.ServerQueryResponse" enum="AutofillQueryResult">
  <owner>isherman@chromium.org</owner>
  <summary>The usefulness of Autofill server information.</summary>
</histogram>

<histogram name="Autofill.ServerResponseHasDataForForm"
    enum="BooleanHadPredictions">
  <owner>mathp@chromium.org</owner>
  <summary>
    Tracks whether Autofill server had at least some prediction data for a given
    form at query response time.
  </summary>
</histogram>

<histogram name="Autofill.StoredLocalCreditCardCount" units="cards">
  <owner>mathp@chromium.org</owner>
  <summary>
    The number of local credit cards a user has stored, measured at Chrome
    profile launch time.
  </summary>
</histogram>

<histogram name="Autofill.StoredProfileCount">
  <owner>isherman@chromium.org</owner>
  <summary>
    The number of Autofill addresses a user has stored, measured at launch time.
  </summary>
</histogram>

<histogram name="Autofill.StoredProfileCountAtAutofillableFormSubmission">
  <owner>mathp@chromium.org</owner>
  <summary>
    The number of Autofill addresses a user has stored, measured when an
    autofillable form is submitted.
  </summary>
</histogram>

<histogram name="Autofill.StoredServerCreditCardCount" units="cards">
  <owner>mathp@chromium.org</owner>
  <summary>
    The number of server credit cards a user has stored, measured at Chrome
    profile launch time.
  </summary>
</histogram>

<histogram name="Autofill.SuggestionAcceptedIndex" units="position">
  <owner>mathp@chromium.org</owner>
  <summary>The index of the accepted Autofill suggestion in the popup.</summary>
</histogram>

<histogram name="Autofill.SuggestionAcceptedIndex.Autocomplete"
    units="position">
  <owner>mathp@chromium.org</owner>
  <summary>
    The index of the accepted Autocomplete suggestion in the popup.
  </summary>
</histogram>

<histogram name="Autofill.Timing.DetermineHeuristicTypes" units="ms">
  <owner>kenjitoyama@chromium.org</owner>
  <summary>
    Number of milliseconds passed between the start and end of
    FormStructure::DetermineHeuristicTypes().
  </summary>
</histogram>

<histogram name="Autofill.Timing.ParseForm" units="ms">
  <owner>kenjitoyama@chromium.org</owner>
  <summary>
    Number of milliseconds passed between the start and end of parsing a single
    form.
  </summary>
</histogram>

<histogram name="Autofill.UnmaskPrompt.Duration" units="ms">
  <owner>waltercacau@chromium.org</owner>
  <summary>
    Duration of the interaction with the UnmaskPrompt since it was shown until
    it was closed. This prompt is triggered when a user selects a masked card in
    an autofill dropdown.
  </summary>
</histogram>

<histogram name="Autofill.UnmaskPrompt.Events" enum="AutofillUnmaskPromptEvent">
  <owner>waltercacau@chromium.org</owner>
  <summary>
    Events tracking the usage of the unmasking prompt. This prompt is triggered
    when a user selects a masked card in a autofill dropdown.
  </summary>
</histogram>

<histogram name="Autofill.UnmaskPrompt.GetRealPanDuration" units="ms">
  <owner>waltercacau@chromium.org</owner>
  <summary>
    Duration of the GetRealPan API call. This API call is triggered by the
    unmasking prompt when the user types information to verify their ownership
    of the card being fetched.
  </summary>
</histogram>

<histogram name="Autofill.UnmaskPrompt.GetRealPanResult"
    enum="AutofillGetRealPanResult">
  <owner>waltercacau@chromium.org</owner>
  <summary>
    Tracks the result of the GetRealPan API call. This API call is triggered by
    the unmasking prompt when the user types information to verify their
    ownership of the card being fetched.
  </summary>
</histogram>

<histogram name="Autofill.UnmaskPrompt.TimeBeforeAbandonUnmasking" units="ms">
  <owner>waltercacau@chromium.org</owner>
  <summary>
    Time the user waited before abandoning an unmasking operation. In such a
    scenario, the user is cancelling a pending unmasking operation (possibly
    because it is taking too long).  The time measured here corresponds to the
    time between the user clicking the &quot;Verify&quot; button and then
    clicking &quot;Cancel&quot;.
  </summary>
</histogram>

<histogram name="Autofill.UnmaskPrompt.UnmaskingDuration" units="ms">
  <owner>waltercacau@chromium.org</owner>
  <summary>
    Duration between the user clicking the Verify button within the unmasking
    prompt until we get a response back from the server. This prompt is
    triggered when a user selects a masked card in an autofill dropdown.
  </summary>
</histogram>

<histogram name="Autofill.UserHappiness" enum="AutofillUserHappiness">
  <owner>isherman@chromium.org</owner>
  <summary>
    Measures the frequency of various events in the Autofill user interaction
    flow.  By comparing frequencies, we can compute several interesting
    &quot;user happiness&quot; metrics.
  </summary>
</histogram>

<histogram name="Autofill.WalletAddressConversionType"
    enum="AutofillWalletAddressConversionType">
  <owner>sebsg@chromium.org</owner>
  <summary>
    Tracks how the different wallet addresses are converted to local autofill
    profiles.
  </summary>
</histogram>

<histogram base="true" name="BackgroundFetch.EventDispatchFailure.Dispatch"
    enum="ServiceWorkerStatusCode">
<!-- Name completed by histogram_suffixes name="BackgroundFetchEvents" -->

  <owner>peter@chromium.org</owner>
  <summary>
    Records the Service Worker status code that caused a Background Fetch API
    event to fail dispatching whilst trying to dispatch an event on the active
    Service Worker.
  </summary>
</histogram>

<histogram base="true" name="BackgroundFetch.EventDispatchFailure.FindWorker"
    enum="ServiceWorkerStatusCode">
<!-- Name completed by histogram_suffixes name="BackgroundFetchEvents" -->

  <owner>peter@chromium.org</owner>
  <summary>
    Records the Service Worker status code that caused a Background Fetch API
    event to fail dispatching whilst trying to find the Service Worker.
  </summary>
</histogram>

<histogram base="true" name="BackgroundFetch.EventDispatchFailure.StartWorker"
    enum="ServiceWorkerStatusCode">
<!-- Name completed by histogram_suffixes name="BackgroundFetchEvents" -->

  <owner>peter@chromium.org</owner>
  <summary>
    Records the Service Worker status code that caused a Background Fetch API
    event to fail dispatching whilst trying to start the active Service Worker.
  </summary>
</histogram>

<histogram base="true" name="BackgroundFetch.EventDispatchResult"
    enum="BackgroundFetchEventDispatchResult">
<!-- Name completed by histogram_suffixes name="BackgroundFetchEvents" -->

  <owner>peter@chromium.org</owner>
  <summary>
    Records the result of dispatching one of the Background Fetch API events to
    the Service Worker associated with the event.
  </summary>
</histogram>

<histogram name="BackgroundMode.BackgroundApplicationsCount">
  <owner>atwilson@chromium.org</owner>
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>
    The number of background applications (extensions) for a profile that were
    loaded after the profile was registered with the BackgroundModeManager.
  </summary>
</histogram>

<histogram name="BackgroundMode.BackgroundModeEnabledPrefChanged"
    enum="BooleanEnabled">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>
    Logged if BackgroundModeManager is running and listening for pref changes,
    and the pref does indeed change. The new value is logged.
  </summary>
</histogram>

<histogram name="BackgroundMode.MenuItemClick" enum="BackgroundModeMenuItem">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>
    Logged when an item in the system tray icon menu is clicked.
  </summary>
</histogram>

<histogram name="BackgroundMode.OnStartup.AutoLaunchState"
    enum="AutoLaunchState">
  <owner>gab@chromium.org</owner>
  <summary>
    Logged during BackgroundModeManager's initialization. Indicates the
    AutoLaunchState the current browser process was launched in.
  </summary>
</histogram>

<histogram name="BackgroundMode.OnStartup.IsBackgroundModePrefEnabled"
    enum="BooleanEnabled">
  <owner>gab@chromium.org</owner>
  <summary>
    Logged during BackgroundModeManager's initialization. Indicates the state of
    the kBackgroundModeEnabled pref on startup.
  </summary>
</histogram>

<histogram name="BackgroundMode.TimeBeforeOptimizedRestart" units="ms">
  <owner>dgn@chromium.org</owner>
  <summary>
    The duration of a session before the browser got restarted in the background
    by the BackgroundOptimizer to purge the memory.
  </summary>
</histogram>

<histogram name="BackgroundSync.Event.BatchSize">
  <owner>iclelland@chromium.org</owner>
  <summary>
    Records the number of sync events which were fired in a batch. A batch is
    defined as the set of sync events dispatched at the same time by the
    BackgroundSyncManager. One-shots usually run individually (a batch of one),
    unless the device was offline and multiple are waiting for the device to go
    back online.
  </summary>
</histogram>

<histogram name="BackgroundSync.Event.OneShotResult" enum="BooleanSuccess">
  <obsolete>
    As of 10/2015 this has been replaced by
    BackgroundSync.Event.OneShotResultPattern.
  </obsolete>
  <owner>iclelland@chromium.org</owner>
  <summary>Records whether a one-shot sync event succeeded or failed.</summary>
</histogram>

<histogram name="BackgroundSync.Event.OneShotResultPattern"
    enum="BackgroundSyncResultPattern">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    Records whether a periodic sync event succeeded or failed and whether the
    sync event finished in the foreground or background.
  </summary>
  <details>
    A sync event finished in the foreground if the associated Service Worker
    Registration has a client at the time that the event finished.
  </details>
</histogram>

<histogram name="BackgroundSync.Event.OneShotStartedInForeground"
    enum="BooleanInForeground">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    Records whether a one-shot sync started firing in the foreground or
    background. Called shortly before the event is fired.
  </summary>
</histogram>

<histogram name="BackgroundSync.Event.PeriodicResult" enum="BooleanSuccess">
  <obsolete>
    As of 10/2015 this has been replaced by
    BackgroundSync.Event.PeriodicResultPattern.
  </obsolete>
  <owner>iclelland@chromium.org</owner>
  <summary>Records whether a periodic sync event succeeded or failed.</summary>
</histogram>

<histogram name="BackgroundSync.Event.PeriodicResultPattern"
    enum="BackgroundSyncResultPattern">
  <obsolete>
    Stopped recording as of 1/2016.
  </obsolete>
  <owner>jkarlin@chromium.org</owner>
  <summary>
    Records whether a one-shot sync event succeeded or failed and whether the
    sync event finished in the foreground or background.
  </summary>
  <details>
    A sync event finished in the foreground if the associated Service Worker
    Registration has a client at the time that the event finished.
  </details>
</histogram>

<histogram name="BackgroundSync.Event.PeriodicStartedInForeground"
    enum="BooleanInForeground">
  <obsolete>
    Stopped recording as of 1/2016.
  </obsolete>
  <owner>jkarlin@chromium.org</owner>
  <summary>
    Records whether a periodic sync event started firing in the foreground or
    background. Called shortly before the event is fired.
  </summary>
</histogram>

<histogram name="BackgroundSync.Event.Time" units="ms">
  <owner>iclelland@chromium.org</owner>
  <summary>
    Time taken to execute a batch of sync events. A batch is defined as the set
    of sync events dispatched at the same time by the BackgroundSyncManager.
    Periodic syncs often run in a batch. One-shots usually run individually (a
    batch of one), unless the device was offline and multiple are waiting for
    the device to go back online.
  </summary>
</histogram>

<histogram name="BackgroundSync.LaunchTask.CancelSuccess" enum="BooleanSuccess">
  <owner>iclelland@chromium.org</owner>
  <summary>
    Records the result of attempting to cancel a future browser launch using the
    GCM Network Manager on Android.
  </summary>
</histogram>

<histogram name="BackgroundSync.LaunchTask.PlayServicesAvailable"
    enum="Boolean">
  <owner>iclelland@chromium.org</owner>
  <summary>
    Records whether Google Play Services is available to the Background Sync
    system on Android, for scheduling future sync events when the browser is not
    running. This will be logged at most once per run.
  </summary>
</histogram>

<histogram name="BackgroundSync.LaunchTask.ScheduleSuccess"
    enum="BooleanSuccess">
  <owner>iclelland@chromium.org</owner>
  <summary>
    Records the result of attempting to schedule a future browser launch using
    the GCM Network Manager on Android.
  </summary>
</histogram>

<histogram name="BackgroundSync.NetworkObserver.HasPermission" enum="Boolean">
  <owner>iclelland@chromium.org</owner>
  <summary>
    Records whether the browser has sufficient permissions to create a
    BackgroundSyncNetworkObserver object on Android, at the point when it tries
    to create it. This should never be false, but is being tracked in order to
    help resolve crbug.com/545473.
  </summary>
</histogram>

<histogram name="BackgroundSync.Registration.OneShot"
    enum="BackgroundSyncStatus">
  <owner>iclelland@chromium.org</owner>
  <summary>
    Records the result of attempting to register a one-shot sync.
  </summary>
</histogram>

<histogram name="BackgroundSync.Registration.OneShot.CouldFire"
    enum="BooleanCouldFireImmediately">
  <owner>iclelland@chromium.org</owner>
  <summary>
    Records the result of attempting to register a one-shot sync in a situation
    where the sync could fire immediately.
  </summary>
</histogram>

<histogram name="BackgroundSync.Registration.OneShot.IsDuplicate"
    enum="BooleanRegistrationIsDuplicate">
  <owner>iclelland@chromium.org</owner>
  <summary>
    Records whether a one-shot sync registration exactly duplicates an existing
    registered sync.
  </summary>
</histogram>

<histogram name="BackgroundSync.Registration.Periodic"
    enum="BackgroundSyncStatus">
  <obsolete>
    Stopped recording as of 1/2016.
  </obsolete>
  <owner>iclelland@chromium.org</owner>
  <summary>
    Records the result of attempting to register a periodic sync.
  </summary>
</histogram>

<histogram name="BackgroundSync.Registration.Periodic.IsDuplicate"
    enum="BooleanRegistrationIsDuplicate">
  <obsolete>
    Stopped recording as of 1/2016.
  </obsolete>
  <owner>iclelland@chromium.org</owner>
  <summary>
    Records whether a periodic sync registration exactly duplicates an existing
    registered sync.
  </summary>
</histogram>

<histogram name="BackgroundSync.Unregistration.OneShot"
    enum="BackgroundSyncStatus">
  <obsolete>
    Stopped recording as of 2/2016.
  </obsolete>
  <owner>iclelland@chromium.org</owner>
  <summary>
    Records the result of attempting to unregister a one-shot sync.
  </summary>
</histogram>

<histogram name="BackgroundSync.Unregistration.Periodic"
    enum="BackgroundSyncStatus">
  <obsolete>
    Stopped recording as of 1/2016.
  </obsolete>
  <owner>iclelland@chromium.org</owner>
  <summary>
    Records the result of attempting to unregister a periodic sync.
  </summary>
</histogram>

<histogram name="BatteryStatus.NumberBatteriesLinux"
    enum="BatteryStatusNumberBatteries">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Number of batteries reported by the UPower service on Linux at the start of
    the Battery Status API.
  </summary>
</histogram>

<histogram name="BatteryStatus.NumberBatteriesMac"
    enum="BatteryStatusNumberBatteries">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Number of internal batteries reported by MacOS at the start of the Battery
    Status API.
  </summary>
</histogram>

<histogram name="BatteryStatus.NumberBatteriesWin"
    enum="BatteryStatusNumberBatteriesWin">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Number of batteries reported by Windows at the start of the Battery Status
    API.
  </summary>
</histogram>

<histogram name="BatteryStatus.StartAndroid" enum="BooleanSuccess">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Whether the Battery Status API was successfully started up on Android.
  </summary>
</histogram>

<histogram name="Blacklist.Blocked" enum="DllHash">
  <owner>csharp@chromium.org</owner>
  <summary>
    Records the name hashes of all the dlls that are blocked from the browser
    process.
  </summary>
</histogram>

<histogram name="Blacklist.PatchedInRenderer" enum="BooleanHit">
  <obsolete>
    Removed at 2015 July.
  </obsolete>
  <owner>csharp@chromium.org</owner>
  <summary>
    Counts the number of times a renderer process is started with the browser
    blacklist patch. This should never be hit.
  </summary>
</histogram>

<histogram name="Blacklist.RetryAttempts.Success">
  <owner>csharp@chromium.org</owner>
  <owner>krstnmnlsn@chromium.org</owner>
  <summary>
    Records the number of attempts needed before the blacklist is properly set
    up. This is logged immediately after a successful setup.
  </summary>
</histogram>

<histogram name="Blacklist.Setup" enum="BlacklistSetup">
  <owner>csharp@chromium.org</owner>
  <summary>
    Records the successes and failures when running the browser blacklist setup
    code. Used to determine if the blacklist is working as intended during
    startup (since the blacklist runs before crash reporting is set up). This
    only occurs on Windows.
  </summary>
</histogram>

<histogram name="Blimp.Compositor.CommitSizeKb" units="KB">
  <owner>shaktisahu@chromium.org</owner>
  <summary>
    Records the size of the uncompressed commit messages received by Blimp
    compositor.
  </summary>
</histogram>

<histogram name="Blimp.Connected" enum="BooleanConnected">
  <owner>shaktisahu@chromium.org</owner>
  <summary>
    Records whether connection attempt to the Blimp engine was successful.
  </summary>
</histogram>

<histogram name="Blimp.Supported" enum="BooleanSupported">
  <owner>shaktisahu@chromium.org</owner>
  <summary>Records whether Blimp is supported.</summary>
</histogram>

<histogram name="Blimp.Tab.Visible" enum="BooleanVisible">
  <owner>shaktisahu@chromium.org</owner>
  <summary>Records whenever a Blimp tab toggles visibility.</summary>
</histogram>

<histogram name="Blink.Binding.InitializeMainLocalWindowProxy"
    units="microseconds">
  <owner>peria@chromium.org</owner>
  <summary>
    Time spent initializing LocalWindowProxy during a page loading in main
    windows.
  </summary>
</histogram>

<histogram name="Blink.Binding.InitializeMainRemoteWindowProxy"
    units="microseconds">
  <owner>peria@chromium.org</owner>
  <summary>
    Time spent initializing RemoteWindowProxy during a page loading in main
    frame of OOPIF.
  </summary>
</histogram>

<histogram name="Blink.Binding.InitializeMainWindowProxy" units="microseconds">
  <obsolete>
    Deprecated as of 03/2017. This metric was split into two metrics depending
    if it figures time for local window proxies or remote ones.
  </obsolete>
  <owner>peria@chromium.org</owner>
  <summary>
    Time spent initializing WindowProxy during a page loading in main windows.
  </summary>
</histogram>

<histogram name="Blink.Binding.InitializeNonMainLocalWindowProxy"
    units="microseconds">
  <owner>peria@chromium.org</owner>
  <summary>
    Time spent initializing LocalWindowProxy during a page loading in non-main
    windows, e.g. iframe.
  </summary>
</histogram>

<histogram name="Blink.Binding.InitializeNonMainRemoteWindowProxy"
    units="microseconds">
  <owner>peria@chromium.org</owner>
  <summary>
    Time spent initializing RemoteWindowProxy during a page loading in OOPIF.
  </summary>
</histogram>

<histogram name="Blink.Binding.InitializeNonMainWindowProxy"
    units="microseconds">
  <obsolete>
    Deprecated as of 03/2017. This metric was split into two metrics depending
    if it figures time for local window proxies or remote ones.
  </obsolete>
  <owner>peria@chromium.org</owner>
  <summary>
    Time spent initializing WindowProxy during a page loading in non-main
    windows, e.g. iframe.
  </summary>
</histogram>

<histogram name="Blink.Binding.InitializeWindowProxy" units="microseconds">
  <obsolete>
    Deprecated as of 10/2016.  This metric was split into two metrics depending
    if it figures time for main windows.
  </obsolete>
  <owner>peria@chromium.org</owner>
  <summary>Time spent initializing WindowProxy during a page loading.</summary>
</histogram>

<histogram name="Blink.BudgetAPI.QueryBudget" units="budget">
  <owner>harkness@chromium.org</owner>
  <summary>
    Whenever the Budget API framework receives a query for the current budget,
    this records the total budget available to the origin, which is an internal
    Chrome value for the amount of background processing an origin can do
    without visibly alerting the user. Scale for the budget is 0 to 100. Care
    should be taken when drawing conclusions from this metric, as budget is
    based on both engagement and usage, so could vary significantly based on
    user behaviour and origin.
  </summary>
</histogram>

<histogram name="Blink.BudgetAPI.Reserve" enum="BooleanSuccess">
  <owner>harkness@chromium.org</owner>
  <summary>
    Whenever the Budget API framework receives a request to reserve budget for a
    future background operation, this records whether the reserve request
    succeeded or not.
  </summary>
</histogram>

<histogram name="Blink.Canvas.DrawImage" units="microseconds">
  <owner>junov@chromium.org</owner>
  <summary>Time spent on 2D canvas drawImage API call.</summary>
</histogram>

<histogram name="Blink.Canvas.GetImageData" units="microseconds">
  <owner>junov@chromium.org</owner>
  <summary>Time spent on 2D canvas getImageData API call.</summary>
</histogram>

<histogram name="Blink.Canvas.OffscreenCommitTimer" units="microseconds">
  <owner>junov@chromium.org</owner>
  <owner>xidachen@chromium.org</owner>
  <summary>Wall clock durations of OffscreenCanvas.commit() calls.</summary>
</histogram>

<histogram name="Blink.Canvas.PutImageData" units="microseconds">
  <owner>junov@chromium.org</owner>
  <summary>Time spent on 2D canvas putImageData API call.</summary>
</histogram>

<histogram name="Blink.Canvas.ToBlob.IdleEncodeDuration" units="microseconds">
  <owner>junov@chromium.org</owner>
  <owner>xlai@chromium.org</owner>
  <summary>
    This metric measures the total time spent on encoding all the rows of an
    image (jpeg or png), as part of a canvas.toBlob API call. Encoding occurs
    during one or more idle periods on the main thread.

    This metric is useful in helping us adjust the IdleTaskCompleteTimeoutDelay
    in canvas.toBlob. When the encoding idle task is delayed for longer than
    IdleTaskCompleteTimeoutDelay, the browser will switch to a non-idle task to
    force encoding to happen on the main thread.

    In addition, metric values from OffscreenCanvas.convertToBlob API call are
    also gathered into this histogram, because the logic flow is exactly the
    same as canvas.toBlob. It's worth to note that the values can come from idle
    tasks on either main or worker thread.
  </summary>
</histogram>

<histogram name="Blink.Canvas.ToBlob.IdleTaskStatus" enum="IdleTaskStatus">
  <owner>junov@chromium.org</owner>
  <owner>xlai@chromium.org</owner>
  <summary>
    Records the status of the idle task when finishing a toBlob call.

    In addition, metric values from OffscreenCanvas.convertToBlob API call are
    also gathered into this histogram, because the logic flow is exactly the
    same as canvas.toBlob. It's worth to note that the values can come from idle
    tasks on either main or worker thread.
  </summary>
</histogram>

<histogram name="Blink.Canvas.ToBlob.InitiateEncodingDelay"
    units="microseconds">
  <owner>junov@chromium.org</owner>
  <owner>xlai@chromium.org</owner>
  <summary>
    This metric measures the time spent from initiating image encoding (jpeg or
    png) on idle task to the actual execution time of initiation, as part of a
    canvas.toBlob API call.

    This metric is useful in helping us adjust the IdleTaskStartTimeoutDelay in
    canvas.toBlob. When the initialization idle task is delayed for longer than
    IdleTaskStartTimeoutDelay, the browser will switch to a non-idle task to
    force initialization and encoding to occur on the main thread.

    In addition, metric values from OffscreenCanvas.convertToBlob API call are
    also gathered into this histogram, because the logic flow is exactly the
    same as canvas.toBlob. It's worth to note that the values can come from idle
    tasks on either main or worker thread.
  </summary>
</histogram>

<histogram name="Blink.Canvas.ToBlobDuration" units="microseconds">
  <owner>junov@chromium.org</owner>
  <owner>xlai@chromium.org</owner>
  <summary>
    Time spent on 2D canvas toBlob API call.

    In addition, metric values from OffscreenCanvas.convertToBlob API call are
    also gathered into this histogram, because the logic flow is exactly the
    same as canvas.toBlob. It's worth to note that the values can come from idle
    tasks on either main or worker thread.
  </summary>
</histogram>

<histogram name="Blink.Canvas.ToDataURL" units="microseconds">
  <owner>junov@chromium.org</owner>
  <summary>Time spent on 2D canvas toDataURL API call.</summary>
</histogram>

<histogram name="Blink.ColorGamut.Destination" enum="Gamut">
  <owner>hubbe@chromium.org</owner>
  <summary>Gamut properties of destination color space.</summary>
</histogram>

<histogram name="Blink.ColorGamut.Source" enum="Gamut">
  <owner>hubbe@chromium.org</owner>
  <summary>Gamut properties of image color space.</summary>
</histogram>

<histogram name="Blink.ColorSpace.Destination" enum="Gamma">
  <owner>msarett@chromium.org</owner>
  <summary>Gamma properties of destination color space.</summary>
</histogram>

<histogram name="Blink.ColorSpace.Destination.ExtractedRawData"
    enum="ColorSpaceExtractedRawDataResult">
  <obsolete>
    Merged into Blink.ColorSpace.Destination.ICCResult on 2017-02-28.
  </obsolete>
  <owner>ccameron@chromium.org</owner>
  <summary>
    Whether or not the output color space ICC profile was able to produce raw
    transfer function tables.
  </summary>
</histogram>

<histogram name="Blink.ColorSpace.Destination.ICCResult"
    enum="ICCProfileAnalyzeResult">
  <owner>ccameron@chromium.org</owner>
  <summary>
    The result of analyzing the destiation color space's ICC profile.
  </summary>
</histogram>

<histogram name="Blink.ColorSpace.Destination.LinearFitError">
  <obsolete>
    Linear fit found to be always inaccurate on 2017-02-28.
  </obsolete>
  <owner>ccameron@chromium.org</owner>
  <summary>
    The L-infinity error (in 8-bit values) of the numerical approximation of
    table-based ICC profile transfer functions, when falling back to a linear
    approximation.
  </summary>
</histogram>

<histogram name="Blink.ColorSpace.Destination.Matrix"
    enum="ColorSpaceMatrixResult">
  <obsolete>
    Merged into Blink.ColorSpace.Destination.ICCResult on 2017-02-28.
  </obsolete>
  <owner>ccameron@chromium.org</owner>
  <summary>
    Whether or not to-XYZD50 matrix was extracted from the output color space
    ICC profile.
  </summary>
</histogram>

<histogram name="Blink.ColorSpace.Destination.NonlinearFitConverged"
    enum="ColorSpaceNonlinearFitConverged">
  <owner>ccameron@chromium.org</owner>
  <summary>
    Whether or not the nonlinear least squares fit of the table-based ICC
    profile transfer function for a single channel converged.
  </summary>
</histogram>

<histogram name="Blink.ColorSpace.Destination.NonlinearFitError">
  <owner>ccameron@chromium.org</owner>
  <summary>
    The L-infinity error (in 8-bit values) of the numerical approximation of
    table-based ICC profile transfer functions for a single channel, when the
    nonlinear approximation converged.
  </summary>
</histogram>

<histogram name="Blink.ColorSpace.Destination.NonlinearFitErrorCombined">
  <owner>ccameron@chromium.org</owner>
  <summary>
    The L-infinity error (in 8-bit values) of the numerical approximation of
    table-based ICC profile transfer functions for all channels combined, when
    the nonlinear approximation converged.
  </summary>
</histogram>

<histogram name="Blink.ColorSpace.Destination.Numerical"
    enum="ColorSpaceNumericalResult">
  <obsolete>
    Merged into Blink.ColorSpace.Destination.ICCResult on 2017-02-28.
  </obsolete>
  <owner>ccameron@chromium.org</owner>
  <summary>
    Whether or not the output color space ICC profile has a numerical transfer
    function.
  </summary>
</histogram>

<histogram name="Blink.ColorSpace.Destination.OneMinusTMax">
  <obsolete>
    TMax found to almost always be 1 on 2017-02-28.
  </obsolete>
  <owner>ccameron@chromium.org</owner>
  <summary>
    One minus the maximum value of table-based ICC profile transfer functions as
    an 8-bit fixed-point value. This histogram is temporary, to see if we can
    bake in the assumption that it will almost always be 255.
  </summary>
</histogram>

<histogram name="Blink.ColorSpace.Destination.TMin">
  <obsolete>
    TMin found to almost always be 0 on 2017-02-28.
  </obsolete>
  <owner>ccameron@chromium.org</owner>
  <summary>
    The minimum value of table-based ICC profile transfer functions as an 8-bit
    fixed-point value. This histogram is temporary, to see if we can bake in the
    assumption that it will almost always be 0.
  </summary>
</histogram>

<histogram name="Blink.ColorSpace.Source" enum="Gamma">
  <owner>ccameron@chromium.org</owner>
  <summary>Gamma properties of image color space.</summary>
</histogram>

<histogram name="Blink.Compositing.UpdateTime" units="microseconds">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent updating compositing in the Blink document lifecyce.
  </summary>
</histogram>

<histogram name="Blink.DecodedImage.CanvasExpanded"
    enum="BooleanCanvasExpanded">
  <obsolete>
    Deprecated as of 11/29/2016.
  </obsolete>
  <owner>ryansturm@chromium.org</owner>
  <owner>bengr@google.com</owner>
  <summary>
    The original canvas dimensions were sufficient to determine image size. This
    is logged once per image header decode, which happens typically twice per
    image on the page.
  </summary>
</histogram>

<histogram name="Blink.DecodedImage.EffectiveDimensionsLocation" units="bytes">
  <obsolete>
    Deprecated as of 11/29/2016.
  </obsolete>
  <owner>ryansturm@chromium.org</owner>
  <owner>bengr@google.com</owner>
  <summary>
    How many bytes of the file were read before an image width and height were
    determined. This is logged once per image header decode, which happens
    typically twice per image on the page.
  </summary>
</histogram>

<histogram name="Blink.DecodedImage.Orientation" enum="DecodedImageOrientation">
  <owner>rob.buis@samsung.org</owner>
  <summary>Image orientation inferred during decode.</summary>
</histogram>

<histogram name="Blink.DecodedImage.XCanvasExpansion" units="pixels">
  <obsolete>
    Deprecated as of 11/29/2016.
  </obsolete>
  <owner>ryansturm@chromium.org</owner>
  <owner>bengr@google.com</owner>
  <summary>
    How much the canvas width needed to be expanded as a result of the first
    frame's width and x-offset being larger than the initial canvas width. This
    is logged once per image header decode, which happens typically twice per
    image on the page.
  </summary>
</histogram>

<histogram name="Blink.DecodedImage.YCanvasExpansion" units="pixels">
  <obsolete>
    Deprecated as of 11/29/2016.
  </obsolete>
  <owner>ryansturm@chromium.org</owner>
  <owner>bengr@google.com</owner>
  <summary>
    How much the canvas height needed to be expanded as a result of the first
    frame's height and y-offset being larger than the initial canvas height.
    This is logged once per image header decode, which happens typically twice
    per image on the page.
  </summary>
</histogram>

<histogram name="Blink.DecodedImageType" enum="DecodedImageType">
  <owner>urvang@chromium.org</owner>
  <summary>Image codec inferred during decode.</summary>
</histogram>

<histogram name="Blink.EventListenerDuration.Resize" units="microseconds">
  <owner>bokan@chromium.org</owner>
  <summary>
    Time it takes to execute all the `resize` event listeners on a page when a
    resize event is fired. Tracked only for the main frame.
  </summary>
</histogram>

<histogram name="Blink.Fetch.RequestResourceTime" units="microseconds">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The total microseconds spent in ResourceFetcher::requestResource.
  </summary>
</histogram>

<histogram name="Blink.Fonts.HarfBuzzFaceZeroCopyAccess" enum="BooleanSuccess">
  <owner>drott@chromium.org</owner>
  <summary>
    Counts success or failure of attempting to access font tables using the zero
    copy instantiation method in the HarfBuzz integration layer. This value is
    only recorded on non-Mac platforms. Reported each time a HarfBuzz face
    object is created.
  </summary>
</histogram>

<histogram name="Blink.Fonts.ShapeCache">
  <owner>eae@chromium.org</owner>
  <summary>
    Total number of entries in all Blink ShapeCache instances. The value is
    reported each time the FontCache::purge() method is called.
  </summary>
</histogram>

<histogram name="Blink.Gesture.Merged" enum="GestureMergeState">
  <owner>jyasskin@chromium.org</owner>
  <owner>domenic@google.com</owner>
  <summary>
    How many times two user gesture tokens were merged by UserGestureIndicator,
    and whether each token had an active gesture. One of the new token's
    gestures, if any, is moved to the old token.
  </summary>
</histogram>

<histogram name="Blink.MediaDocument.DownloadButton"
    enum="MediaDocumentDownloadButtonType">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Records how the download button on the MediaDocument is used.
  </summary>
</histogram>

<histogram name="Blink.MediaElement.Autoplay" enum="MediaElementAutoPlay">
  <obsolete>
    Deprecated 11/2016 in Issue 666370 with the deprecation of Autoplay
    experiment.
  </obsolete>
  <owner>oysteine@chromium.org</owner>
  <summary>
    Records user observation and interaction with Media HTML elements that
    feature autoplay, either script-controlled or through the attribute.
  </summary>
</histogram>

<histogram name="Blink.MemoryCache.RevalidationPolicy"
    enum="RevalidationPolicy">
  <owner>hiroshige@chromium.org</owner>
  <summary>
    RevalidationPolicy used for non-preloading requests for each resource type.
    https://crbug.com/579496
  </summary>
</histogram>

<histogram name="Blink.MemoryCache.RevalidationPolicy.Dead"
    enum="RevalidationPolicy">
  <owner>hiroshige@chromium.org</owner>
  <summary>
    RevalidationPolicy used for requests that hit Resource only referenced from
    MemoryCache for each resource type. https://crbug.com/579496 Requests
    counted by this are also counted by Blink.MemoryCache.RevalidationPolicy or
    Blink.MemoryCache.RevalidationPolicy.Preload.
  </summary>
</histogram>

<histogram name="Blink.MemoryCache.RevalidationPolicy.Preload"
    enum="RevalidationPolicy">
  <owner>hiroshige@chromium.org</owner>
  <summary>
    RevalidationPolicy used for preloading requests for each resource type.
    https://crbug.com/579496
  </summary>
</histogram>

<histogram name="Blink.Paint.UpdateTime" units="microseconds">
  <owner>paint-dev@chromium.org</owner>
  <summary>Time spent updating paint in the Blink document lifecycle.</summary>
</histogram>

<histogram name="Blink.PaintInvalidation.UpdateTime" units="microseconds">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent updating paint invalidation in the Blink document lifecycle. Not
    available when SlimmingPaintInvalidation or SlimmingPaintV2 is enabled.
  </summary>
</histogram>

<histogram name="Blink.PrePaint.UpdateTime" units="microseconds">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent updating paint properties and paint invalidation in the Blink
    document lifecycle. Available when SlimmingPaintInvalidation or
    SlimmingPaintV2 is enabled.
  </summary>
</histogram>

<histogram name="Blink.RestoredCachedStyleSheet"
    enum="RestoredCachedStyleSheet">
  <obsolete>
    Deprecated 01/2016 and replaced by Blink.RestoredCachedStyleSheet2
  </obsolete>
  <owner>kouhei@chromium.org</owner>
  <summary>
    On each link stylesheet tag resolve, record whether a Blink MemoryCached
    StyleSheetContents was reused.
  </summary>
</histogram>

<histogram name="Blink.RestoredCachedStyleSheet2" enum="StyleSheetCacheStatus">
  <obsolete>
    Deprecated 04/2017.
  </obsolete>
  <owner>kouhei@chromium.org</owner>
  <summary>
    On each link stylesheet tag resolve, record which cache Blink hit.
  </summary>
</histogram>

<histogram name="Blink.ScanPendingActivityDuration" units="ms">
  <owner>haraken@chromium.org</owner>
  <summary>
    Duration of time taken to scan pending activities of all V8 wrappers in a
    worker thread.
  </summary>
</histogram>

<histogram name="Blink.ScriptValueSerializer.DOMWrapperCount" units="objects">
  <obsolete>
    Used to justify distribution of serialized data in the wild, but unlikely to
    be useful to track long-term.
  </obsolete>
  <owner>platform-architecture-dev@chromium.org</owner>
  <summary>
    Number of DOM wrappers serialized as part of an object passed to
    postMessage, IndexedDB, or another API that serializes script values.
  </summary>
</histogram>

<histogram name="Blink.ScriptValueSerializer.JSObjectCount" units="objects">
  <obsolete>
    Used to justify distribution of serialized data in the wild, but unlikely to
    be useful to track long-term.
  </obsolete>
  <owner>platform-architecture-dev@chromium.org</owner>
  <summary>
    Number of JavaScript objects (other than DOM wrappers) serialized as part of
    an object passed to postMessage, IndexedDB, or another API that serializes
    script values.
  </summary>
</histogram>

<histogram name="Blink.ScriptValueSerializer.PrimitiveCount" units="values">
  <obsolete>
    Used to justify distribution of serialized data in the wild, but unlikely to
    be useful to track long-term.
  </obsolete>
  <owner>platform-architecture-dev@chromium.org</owner>
  <summary>
    Number of primitive values (numbers, strings, etc.) serialized as part of an
    object passed to postMessage, IndexedDB, or another API that serializes
    script values.
  </summary>
</histogram>

<histogram name="Blink.SharedBuffer.FailedLock" enum="ResourceType">
  <owner>hiroshige@chromium.org</owner>
  <summary>
    Number of failed SharedBuffer::lock() calls for each resource type.
    https://crbug.com/603791
  </summary>
</histogram>

<histogram name="Blink.SharedBuffer.SuccessfulLock" enum="ResourceType">
  <owner>hiroshige@chromium.org</owner>
  <summary>
    Number of successful SharedBuffer::lock() calls for each resource type.
    https://crbug.com/603791
  </summary>
</histogram>

<histogram name="Blink.SharedBuffer.Unlock" enum="ResourceType">
  <owner>hiroshige@chromium.org</owner>
  <summary>
    Number of SharedBuffer::unlock() calls for each resource type.
    https://crbug.com/603791
  </summary>
</histogram>

<histogram name="Blink.StyleAndLayout.UpdateTime" units="microseconds">
  <owner>layout-dev@chromium.org</owner>
  <summary>
    Time spent updating style and layout in the Blink document lifecycle.
  </summary>
</histogram>

<histogram name="Blink.UseCounter.AnimatedCSSProperties"
    enum="MappedCSSProperties">
  <owner>rbyers@chromium.org</owner>
  <summary>
    Records usage of animated CSS properties used on a page, either statically
    or dynamically, from the time the page is initialised to when it is closed
    or navigated away from. Each property is counted at most once per page per
    view.
  </summary>
  <details>
    This histogram counts CSS properties only when they are animated by a CSS
    Animation. Refer to Blink.UseCounter.CSSProperties for more details.
  </details>
</histogram>

<histogram name="Blink.UseCounter.CSSProperties" enum="MappedCSSProperties">
  <owner>rbyers@chromium.org</owner>
  <summary>
    Records usage of CSS properties used on a page, either statically or
    dynamically, from the time the page is initialised to when it is closed or
    navigated away from. Each property is counted at most once per page per
    view.
  </summary>
  <details>
    The first time a CSS property is parsed on a page, the histogram is updated
    to increment the counter.  Each histogram bucket corresponds to a CSS
    property (eg. width, border-radius). The exception is the 'Total pages
    measured' bucket - this counts the number of pages that CSS properties were
    counted on.  When a page navigation occurs the page count bucket is
    incremented and tracking of the set of which properties have been seen is
    reset.

    These numbers give the percentage of pages that use a CSS property. For
    example, if the 'border-radius' histogram bucket has a count of 250, and the
    page count bucket (i.e. bucket number 1) has a count of 1000 - this means
    that 1000 pages were recorded, and border-radius was used on 25% of those
    pages.

    Note that CSS properties used inside of SVG images are tracked separately in
    the Blink.UseCounter.SVGImage.CSSProperties histogram.

    As of M57 this histogram supercedes WebCore.FeatureObserver.CSSProperties.
  </details>
</histogram>

<histogram name="Blink.UseCounter.Features" enum="FeatureObserver">
  <owner>rbyers@chromium.org</owner>
  <summary>
    Count of how many page loads use various features. The PageVisits bucket is
    incremented for each page load, and the other buckets incremented at most
    once per PageVisit via the WebCore::UseCounter class.
  </summary>
  <details>
    Note that features used inside of SVG images are tracked separately in the
    Blink.UseCounter.SVGImage.Features histogram.

    As of M57 this histograms supercedes WebCore.FeatureObserver.
  </details>
</histogram>

<histogram name="Blink.UseCounter.SVGImage.AnimatedCSSProperties"
    enum="MappedCSSProperties">
  <owner>rbyers@chromium.org</owner>
  <summary>
    Like Blink.UseCounter.AnimatedCSSProperties but specifically for the case of
    CSS properties used inside of an SVG image.
  </summary>
  <details>
    This histogram counts usage of animated CSS properties only. Refer to
    Blink.UseCounter.SVGImage.CSSProperties for details.
  </details>
</histogram>

<histogram name="Blink.UseCounter.SVGImage.CSSProperties"
    enum="MappedCSSProperties">
  <owner>rbyers@chromium.org</owner>
  <summary>
    Like Blink.UseCounter.CSSProperties but specifically for the case of CSS
    properties used inside of an SVG image.
  </summary>
  <details>
    The 'Total pages measured' bucket is incremented each time a new SVG image
    is created.  Note that the same SVG image can be used across multiple tabs
    in a single renderer but this counts as a single usage. See
    http://crbug.com/236262.
  </details>
</histogram>

<histogram name="Blink.UseCounter.SVGImage.Features" enum="FeatureObserver">
  <owner>rbyers@chromium.org</owner>
  <summary>
    Like Blink.UseCounter.Features except specifically for the case of SVG
    Images.
  </summary>
  <details>
    Count of how many SVG images use various features. The PageVisits bucket is
    incremented each time a new SVG image is created.  Note that the same SVG
    image can be used across multiple tabs in a single renderer but this counts
    as a single usage.  See http://crbug.com/236262.
  </details>
</histogram>

<histogram name="Blink.XHR.setRequestHeader.HeaderValueCategoryInRFC7230"
    enum="XMLHttpRequestHeaderValueCategoryInRFC7230">
  <owner>hiroshige@chromium.org</owner>
  <summary>
    The count of XMLHttpRequest.setRequestHeader() calls where header values are
    invalid/valid but affected by normalization/valid in RFC 7230.
    https://crbug.com/455099.
  </summary>
</histogram>

<histogram name="BlinkGC.CollectGarbage" units="ms">
  <owner>haraken@chromium.org</owner>
  <summary>Duration of time taken to run Heap::collectGarbage().</summary>
</histogram>

<histogram name="BlinkGC.CollectionRate" units="%">
  <owner>haraken@chromium.org</owner>
  <summary>
    The percentage of objects that have been collected by a Blink GC. 0 is
    passed if there were no objects when a Blink GC started.
  </summary>
</histogram>

<histogram name="BlinkGC.CommittedSize" units="MB">
  <owner>haraken@chromium.org</owner>
  <summary>
    The committed memory size in Blink GC. The value is reported when we see the
    highest memory usage we've ever seen in the renderer process.
  </summary>
</histogram>

<histogram name="BlinkGC.CompleteSweep" units="ms">
  <owner>haraken@chromium.org</owner>
  <summary>Duration of time taken to run ThreadState::completeSweep().</summary>
</histogram>

<histogram name="BlinkGC.GCReason" enum="GCReason">
  <owner>haraken@chromium.org</owner>
  <summary>A type of Blink GC.</summary>
</histogram>

<histogram name="BlinkGC.ObjectSizeAfterGC" units="KB">
  <owner>haraken@chromium.org</owner>
  <summary>
    The size of allocated objects just after Blink GC is triggered.
  </summary>
</histogram>

<histogram name="BlinkGC.ObjectSizeBeforeGC" units="KB">
  <owner>haraken@chromium.org</owner>
  <summary>
    The size of allocated objects just before Blink GC is triggered.
  </summary>
</histogram>

<histogram name="BlinkGC.ObjectSizeFreedByHeapCompaction" units="KB">
  <owner>haraken@chromium.org</owner>
  <summary>
    The total size of objects freed by BlinkGC's heap compaction.   This is
    recorded once following each compaction.
  </summary>
</histogram>

<histogram name="BlinkGC.PerformPendingSweep" units="ms">
  <obsolete>
    Removed at 2014 Jan.
  </obsolete>
  <owner>haraken@chromium.org</owner>
  <summary>
    Duration of time taken to run ThreadState::performPendingSweep().
  </summary>
</histogram>

<histogram name="BlinkGC.TimeForGlobalWeakProcessing" units="ms">
  <owner>haraken@chromium.org</owner>
  <summary>
    Duration of time taken to run global weak processing of Blink GC.
  </summary>
</histogram>

<histogram name="BlinkGC.TimeForHeapCompaction" units="ms">
  <owner>haraken@chromium.org</owner>
  <summary>
    Duration of wall time taken to run BlinkGC's heap compaction.
  </summary>
</histogram>

<histogram name="BlinkGC.TimeForInvokingPreFinalizers" units="ms">
  <owner>haraken@chromium.org</owner>
  <summary>
    Duration of time taken to run ThreadState::invokePreFinalizers().
  </summary>
</histogram>

<histogram name="BlinkGC.TimeForStoppingThreads" units="ms">
  <obsolete>
    As of 02/2017, the code to stop Blink threads was removed.
  </obsolete>
  <owner>haraken@chromium.org</owner>
  <summary>
    Duration of time taken to stop all Blink threads before starting a GC.
  </summary>
</histogram>

<histogram name="BlinkGC.TimeForSweepingAllObjects" units="ms">
  <owner>haraken@chromium.org</owner>
  <summary>Accumulated time taken to sweep all objects.</summary>
</histogram>

<histogram name="BlinkGC.TimeForThreadLocalWeakProcessing" units="ms">
  <obsolete>
    As of 02/2017, the code for thread-local weak processing was removed.
  </obsolete>
  <owner>haraken@chromium.org</owner>
  <summary>Duration of time taken to run thread-local weak processing.</summary>
</histogram>

<histogram name="BlinkGC.TotalAllocatedSpace" units="KB">
  <owner>haraken@chromium.org</owner>
  <summary>
    The total size of allocated space in OS when a Blink GC is triggered.
  </summary>
</histogram>

<histogram name="BlinkGC.TotalObjectSpace" units="KB">
  <owner>haraken@chromium.org</owner>
  <summary>
    The total size of object space in all threads when a Blink GC is triggered.
  </summary>
</histogram>

<histogram name="Bluetooth.Android.GATTConnection.Disconnected.Result"
    enum="AndroidGATTConnectionErrorCodes">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Disconnected GATT connection status codes. Used to better understand errors
    seen in Android.
  </summary>
</histogram>

<histogram name="Bluetooth.Android.GATTConnection.Failure.Result"
    enum="AndroidGATTConnectionErrorCodes">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Failed GATT connection error codes. Used to better understand errors seen in
    Android.
  </summary>
</histogram>

<histogram name="Bluetooth.Android.GATTConnection.Success.Result"
    enum="AndroidGATTConnectionErrorCodes">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Successful GATT connection result codes. Used to better understand Android
    results.
  </summary>
</histogram>

<histogram name="Bluetooth.ConnectedDeviceCount" units="devices">
  <owner>keybuk@chromium.org</owner>
  <summary>
    Counts the number of simulataneously connected Bluetooth devices. Used to
    direct testing efforts, and by our UI team to determine appropriate UI
    sizes.
  </summary>
</histogram>

<histogram name="Bluetooth.DiscoverySession.Start.Outcome"
    enum="BluetoothDiscoveryOutcomes">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the outcome of calls to BluetoothAdapter::StartDiscoverySession.
    Used to prioritize efforts to fix failures of this function.
  </summary>
</histogram>

<histogram name="Bluetooth.DiscoverySession.Stop.Outcome"
    enum="BluetoothDiscoveryOutcomes">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the outcome of calls to BluetoothDiscoverySession::Stop. Used to
    prioritize efforts to fix failures of this function.
  </summary>
</histogram>

<histogram name="Bluetooth.GATTErrors" enum="BluetoothGATTErrors">
  <obsolete>
    As of 08/2015 this has been replaced by
    Bluetooth.Web.Characteristic.ReadValue and
    Bluetooth.Web.Characteristic.WriteValue.
  </obsolete>
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records how many times each GATT Error has occured. The results will be used
    to determine how common this errors are and if we need to provide better
    error messages to the users.
  </summary>
</histogram>

<histogram name="Bluetooth.PairingMethod" enum="BluetoothPairingMethod">
  <owner>keybuk@chromium.org</owner>
  <summary>
    Records the method used to pair each Bluetooth Device. Used to direct our
    testing efforts.
  </summary>
</histogram>

<histogram name="Bluetooth.PairingResult" enum="BluetoothPairingResult">
  <owner>keybuk@chromium.org</owner>
  <summary>
    Records the result of pairing each Bluetooth Device. Used to understand
    whether we are having significant problems with Bluetooth pairing and seeing
    errors more commonly than we should.
  </summary>
</histogram>

<histogram name="Bluetooth.RequestDevice.Outcome"
    enum="WebBluetoothRequestDeviceOutcome">
  <obsolete>
    Deprecated 08/2015 and replaced by Bluetooth.Web.RequestDevice.Outcome.
  </obsolete>
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the result of a navigator.bluetooth.requestDevice() call. Used to
    understand what errors developers are getting so we can target efforts
    toward the most common ones. Multiple outcomes may result for a given
    RequestDevice, such as rescan multiple times and then select a device.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.Android" enum="AndroidGATTStatusResult">
<!-- Name completed by histogram_suffixes name="AndroidGATTEvents" -->

  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>'status' values returned by Android GATT event.</summary>
</histogram>

<histogram name="Bluetooth.Web.Blacklist.ParsedNonEmptyString"
    enum="BooleanSuccess">
  <obsolete>
    Deprecated as of 11/2016, replaced by
    Bluetooth.Web.Blocklist.ParsedNonEmptyString.
  </obsolete>
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the result of BluetoothBlacklist::Add parsing a non-empty string.
    These strings will be updated dynamically by a server, and this histogram
    provides feedback that parsing is functioning correctly on clients.

    False values are BAD, a blacklist is failing to be applied correctly.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.Blocklist.ParsedNonEmptyString"
    enum="BooleanSuccess">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the result of BluetoothBlocklist::Add parsing a non-empty string.
    These strings will be updated dynamically by a server, and this histogram
    provides feedback that parsing is functioning correctly on clients.

    False values are BAD, a blocklist is failing to be applied correctly.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.Characteristic.ReadValue.Outcome"
    enum="WebBluetoothGATTOperationOutcome">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the outcome of a call to characteristic.readValue(). Used to know
    what types of errors users are seeing. The results will be used to determine
    how common these errors are and if we need to provide better error messages
    to the users.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.Characteristic.StartNotifications.Outcome"
    enum="WebBluetoothGATTOperationOutcome">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the outcome of a call to characteristic.startNofications(). Used to
    know what types of errors users are seeing. The results will be used to
    determine how common these errors are and if we need to provide better error
    messages to the users.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.Characteristic.WriteValue.Outcome"
    enum="WebBluetoothGATTOperationOutcome">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the outcome of a call to characteristic.writeValue(). Used to know
    what types of errors users are seeing. The results will be used to determine
    how common these errors are and if we need to provide better error messages
    to the users.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.ChooserInteraction" enum="BooleanInvalid">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Counts how many times users interact with a regular chooser vs. an invalid
    chooser. (A chooser is invalid when it's event handler becomes null.)
  </summary>
</histogram>

<histogram name="Bluetooth.Web.ConnectGATT.Outcome"
    enum="WebBluetoothConnectGATTOutcome">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the result of a device.gatt.connect() call. Used to understand what
    errors developers are getting so we can target efforts toward the most
    common ones.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.ConnectGATT.TimeFailed" units="ms">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records how long it takes for a connection attempt to fail. Use to let
    developers know how to better wait for and handle connection errors.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.ConnectGATT.TimeSuccess" units="ms">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records how long it takes for a device to successfully connect. Use to let
    developers know how long it should take to connect to a BLE device.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.Descriptor.ReadValue.Outcome"
    enum="WebBluetoothGATTOperationOutcome">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the outcome of a call to descriptor.readValue(). Used to know what
    types of errors users are seeing. The results will be used to determine how
    common these errors are and if we need to provide better error messages to
    the users.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.Descriptor.WriteValue.Outcome"
    enum="WebBluetoothGATTOperationOutcome">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the outcome of a call to descriptor.writeValue(). Used to know what
    types of errors users are seeing. The results will be used to determine how
    common these errors are and if we need to provide better error messages to
    the users.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.FunctionCall.Count" enum="WebBluetoothFunction">
  <obsolete>
    Deprecated as of 3/2017. Replaced by using blink IDL annotation MeasureAs
    which appear in Blink.UseCounter.Features.
  </obsolete>
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Counts the number of times each call to a WebBluetooth function is done.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.GetCharacteristic.Characteristic"
    enum="GATTCharacteristicHash">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the UUIDs used when getting a characteristic. The recorded value is
    a 31-bit hash of the UUID. Used to know what types of characteristics to
    target when building libraries that use the Web Bluetooth API.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.GetCharacteristic.Outcome"
    enum="WebBluetoothGetCharacteristicOutcome">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the outcome of a call to getCharacteristic(). Used to understand
    what errors developers are getting so we can target efforts toward the most
    common ones.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.GetCharacteristics.Characteristic"
    enum="GATTCharacteristicHash">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the UUIDs used when getting characteristics. The recorded value is a
    31-bit hash of the UUID. Used to know what types of characteristics to
    target when building libraries that use the Web Bluetooth API.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.GetCharacteristics.Outcome"
    enum="WebBluetoothGetCharacteristicOutcome">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the outcome of a call to getCharacteristics(). Used to understand
    what errors developers are getting so we can target efforts toward the most
    common ones.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.GetDescriptor.Descriptor"
    enum="GATTDescriptorHash">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the UUIDs used when getting a descriptor. The recorded value is a
    31-bit hash of the UUID. Used to know what types of descriptors to target
    when building libraries that use the Web Bluetooth API.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.GetDescriptor.Outcome"
    enum="WebBluetoothGetDescriptorOutcome">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the outcome of a call to getDescriptor(). Used to understand what
    errors developers are getting so we can target efforts toward the most
    common ones.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.GetDescriptors.Descriptor"
    enum="GATTDescriptorHash">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the UUIDs used when getting descriptors. The recorded value is a
    31-bit hash of the UUID. Used to know what types of descriptors to target
    when building libraries that use the Web Bluetooth API.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.GetDescriptors.Outcome"
    enum="WebBluetoothGetDescriptorOutcome">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the outcome of a call to getDescriptors(). Used to understand what
    errors developers are getting so we can target efforts toward the most
    common ones.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.GetPrimaryService.Outcome"
    enum="WebBluetoothGetPrimaryServiceOutcome">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the result of a GATTServer.getPrimaryService() call. Used to
    understand what errors developers are getting so we can target efforts
    toward the most common ones.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.GetPrimaryService.Services"
    enum="GATTServiceHash">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records what GATT Services are used when connected. The record value is a
    31-bit hash of the Service UUID. This will help us know if we should build
    an API for specific services rather than a general Bluetooth API.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.GetPrimaryServices.Outcome"
    enum="WebBluetoothGetPrimaryServiceOutcome">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the result of a GATTServer.getPrimaryServices() call. Used to
    understand what errors developers are getting so we can target efforts
    toward the most common ones.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.GetPrimaryServices.Services"
    enum="GATTServiceHash">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records what GATT Services are used when connected. The record value is a
    31-bit hash of the Service UUID. This will help us know if we should build
    an API for specific services rather than a general Bluetooth API.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.RequestDevice.Filters.Count" units="filters">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records how many filters are used when scanning. These results will help us
    better understand the uses of the API and make changes according to
    developers' behavior.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.RequestDevice.Filters.Services"
    enum="GATTServiceHash">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records a 31-bit hash of the GATT Service UUIDs used when scanning. This
    will help us know if we should build an API for specific services rather
    than a general Bluetooth API.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.RequestDevice.FilterSize" units="services">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records how many services are used in a filter. These results will help us
    better understand the uses of the API and make changes according to
    developers' behavior.
  </summary>
</histogram>

<histogram
    name="Bluetooth.Web.RequestDevice.NumOfDevicesInChooserWhenNotAcceptingAllDevices"
    units="devices">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <owner>juncai@chromium.org</owner>
  <summary>
    In the case of not accepting all devices, records the number of devices that
    are in the chooser when a device is paired.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.RequestDevice.OptionalServices.Count"
    units="filters">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records how many optional services are used when scanning. These results
    will help us better understand the uses of the API and make changes
    according to developers' behavior.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.RequestDevice.OptionalServices.Services"
    enum="GATTServiceHash">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records what optional services are used. The recorded value is a 31-bit hash
    of the Service UUID. These results will help us better understand the uses
    of the API and make changes according to developers' behavior.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.RequestDevice.Options.AcceptAllDevices"
    enum="Boolean">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the value of 'acceptAllDevices' in RequestDeviceOptions. These
    results will help us better understand the uses of the API and make changes
    according to developers' behavior.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.RequestDevice.Outcome"
    enum="WebBluetoothRequestDeviceOutcome">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records the result of a navigator.bluetooth.requestDevice() call. Used to
    understand what errors developers are getting so we can target efforts
    toward the most common ones.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.RequestDevice.RSSISignalStrength" units="dBm">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <owner>juncai@chromium.org</owner>
  <summary>
    Raw RSSI values provided to chooser, before processing them for display in
    the Web Bluetooth chooser.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.RequestDevice.RSSISignalStrengthLevel"
    enum="WebBluetoothRSSISignalStrengthLevel">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <owner>juncai@chromium.org</owner>
  <summary>
    Displayed RSSI levels, after processing and as displayed to users in the Web
    Bluetooth chooser.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.RequestDevice.ScanningDuration" units="ms">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <owner>juncai@chromium.org</owner>
  <summary>
    Records the duration scanning for devices is run, terminated by events such
    as the chooser being closed with a selected device, cancelled, or the scan
    duration timing out.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.RequestDevice.UnionOfServices.Count"
    units="services">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records how many services are used when scanning. This results will help us
    better understand the uses of the API and make changes according to
    developers' behavior.
  </summary>
</histogram>

<histogram name="Bluetooth.Web.RequestDevice.UnionOfServices.Services"
    enum="GATTServiceHash">
  <owner>jyasskin@chromium.org</owner>
  <owner>ortuno@chromium.org</owner>
  <owner>scheib@chromium.org</owner>
  <summary>
    Records what services are used from either required or optional sets. The
    recorded value is a 31-bit hash of the Service UUID. These results will help
    us better understand the uses of the API and make changes according to
    developers' behavior.
  </summary>
</histogram>

<histogram name="BookmarkManager.NumDragged" units="bookmarks">
  <owner>calamity@chromium.org</owner>
  <summary>
    Logs the number of bookmarks that were dragged simultaneously by a user.
  </summary>
</histogram>

<histogram name="BookmarkManager.ResultsRenderedTime" units="ms">
  <owner>calamity@chromium.org</owner>
  <summary>
    Records the time taken to load the bookmarks Web UI and render. This is
    roughly equivalent to 'time to first meaningful paint' for the bookmark
    manager.
  </summary>
</histogram>

<histogram name="Bookmarks.BookmarksInFolder" units="bookmarks">
  <owner>calamity@chromium.org</owner>
  <summary>
    Logs the number of bookmark items inside a folder every time a folder is
    opened inside the bookmark manager.
  </summary>
</histogram>

<histogram name="Bookmarks.EntryPoint" enum="BookmarksEntryPoint">
  <owner>ianwen@chromium.org</owner>
  <summary>How users add a new bookmark.</summary>
</histogram>

<histogram name="Bookmarks.LaunchDepth">
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Logs the depth of the bookmark in the bookmark tree hierarchy every time a
    bookmark is launched. Depth indicates how many levels below a permanent
    bookmark folder the bookmark was found in (e.g. a bookmark immediately in
    the bookmark bar has depth 1).
  </summary>
</histogram>

<histogram name="Bookmarks.LaunchLocation" enum="BookmarkLaunchLocation">
  <owner>ianwen@chromium.org</owner>
  <summary>Logs a UI location from which a bookmark is launched.</summary>
</histogram>

<histogram name="Bookmarks.OnFaviconsChangedIconURL" enum="BooleanHit">
  <owner>pkotwicz@chromium.org</owner>
  <summary>
    Logs how frequently BookmarkModel::OnFaviconsChanged() is called with a
    non-empty |icon_url| to determine whether BookmarkNodes should be cached
    based on their favicon URLs (e.g. http://www.google.com/favicon.ico) in
    addition to their page URLs (e.g. http://www.google.com). OnFaviconChanged()
    is expected to be called less than 10 times per user per day with a
    non-empty |icon_url|.
  </summary>
</histogram>

<histogram name="Bookmarks.OpenAction" enum="BookmarksOpenAction">
  <obsolete>
    Deprecated as of 1/2016.
  </obsolete>
  <owner>kkimlabs@chromium.org</owner>
  <summary>
    Logs how user is opening a bookmark on Android. For example, user can long
    press and select &quot;Open in a new tab&quot; or &quot;Open in incognito
    tab&quot;.
  </summary>
</histogram>

<histogram name="BrotliFilter.CompressionPercent" units="%">
  <owner>eustas@chromium.org</owner>
  <summary>Compressed/Decompressed size ratio.</summary>
</histogram>

<histogram name="BrotliFilter.ErrorCode" enum="BrotliFilterErrorCode">
  <owner>eustas@chromium.org</owner>
  <summary>More detailed failure reason.</summary>
</histogram>

<histogram name="BrotliFilter.GzipHeaderDetected" enum="BooleanPresent">
  <owner>eustas@chromium.org</owner>
  <summary>Indicates whether the gzip-like header was detected.</summary>
</histogram>

<histogram name="BrotliFilter.Status" enum="BrotliFilterDecodingStatus">
  <owner>eustas@chromium.org</owner>
  <summary>The final state of BrotliFilter.</summary>
</histogram>

<histogram name="BrotliFilter.UsedMemoryKB" units="KiB">
  <owner>eustas@chromium.org</owner>
  <summary>Maximal amount of memory allocated by decoder.</summary>
</histogram>

<histogram name="BrowserDialogs.ExternalProtocol.HandleState"
    enum="HandleStateType">
  <owner>ramyasharma@chromium.org</owner>
  <summary>
    Whether or not the user checked the option in the external protocol dialog
    to remember their choice of opening or not opening the specified app.
    Recorded each time the user interacts with the External Protocol Dialog,
    when making a decision.
  </summary>
</histogram>

<histogram name="BrowserDialogs.ExternalProtocol.RememberCheckbox"
    enum="BooleanChecked">
  <owner>dominickn@chromium.org</owner>
  <summary>
    Whether or not the user checked the option in the external protocol dialog
    to remember their choice of opening or not opening the specified app.
    Recorded each time the user interacts with the External Protocol Dialog
    (either accepting or cancelling/dismissing).
  </summary>
</histogram>

<histogram name="BrowserRenderProcessHost.ChildCrashes" enum="RendererType">
  <owner>wfh@chromium.org</owner>
  <summary>Count of renderer process crashes grouped by type.</summary>
</histogram>

<histogram name="BrowserRenderProcessHost.ChildKills" enum="RendererType">
  <owner>wfh@chromium.org</owner>
  <summary>Count of renderer process kills grouped by type.</summary>
</histogram>

<histogram name="BrowserRenderProcessHost.ChildKills.OOM" enum="RendererType">
  <owner>oshima@chromium.org</owner>
  <summary>
    Out of BrowserRenderProcessHost.ChildKills, numer of kills due to SIGKILL,
    which is a strong signal of out of memory on ChromeOS, grouped by renderer
    type.
  </summary>
</histogram>

<histogram name="BrowserRenderProcessHost.ChildLaunchFailureCodes"
    enum="LaunchErrorCodes">
  <owner>wfh@chromium.org</owner>
  <summary>
    The launch error codes for failed renderer process launches.
  </summary>
</histogram>

<histogram name="BrowserRenderProcessHost.ChildLaunchFailures"
    enum="RendererType">
  <owner>wfh@chromium.org</owner>
  <summary>Count of renderer process launch failures grouped by type.</summary>
</histogram>

<histogram name="BrowserRenderProcessHost.DisconnectedAlive"
    enum="RendererType">
  <owner>wfh@chromium.org</owner>
  <summary>
    Count of renderer process crashes that we miscounted because we took the
    exit code too early. Grouped by type.
  </summary>
</histogram>

<histogram name="Bubbles.Close.Accepted" enum="BubbleType">
  <owner>hcarmona@chromium.org</owner>
  <summary>An open bubble was closed because the user accepted it.</summary>
</histogram>

<histogram name="Bubbles.Close.Canceled" enum="BubbleType">
  <owner>hcarmona@chromium.org</owner>
  <summary>
    An open bubble was closed because the user didn't accept it.
  </summary>
</histogram>

<histogram name="Bubbles.Close.FocusLost" enum="BubbleType">
  <owner>hcarmona@chromium.org</owner>
  <summary>An open bubble was closed because of a focus change.</summary>
</histogram>

<histogram name="Bubbles.Close.Forced" enum="BubbleType">
  <owner>hcarmona@chromium.org</owner>
  <summary>An open bubble was forced to close.</summary>
</histogram>

<histogram name="Bubbles.Close.FrameDestroyed" enum="BubbleType">
  <owner>hcarmona@chromium.org</owner>
  <summary>An open bubble was dismissed because a frame was destroyed.</summary>
</histogram>

<histogram name="Bubbles.Close.FullscreenToggled" enum="BubbleType">
  <owner>hcarmona@chromium.org</owner>
  <summary>
    An open bubble was dismissed because fullscreen was toggled.
  </summary>
</histogram>

<histogram name="Bubbles.Close.Navigated" enum="BubbleType">
  <owner>hcarmona@chromium.org</owner>
  <summary>
    An open bubble was dismissed because the page was navigated.
  </summary>
</histogram>

<histogram name="Bubbles.Close.TabDetached" enum="BubbleType">
  <owner>hcarmona@chromium.org</owner>
  <summary>An open bubble was closed because a tab was detached.</summary>
</histogram>

<histogram name="Bubbles.Close.TabSwitched" enum="BubbleType">
  <owner>hcarmona@chromium.org</owner>
  <summary>An open bubble was closed because a tab was switched.</summary>
</histogram>

<histogram name="Bubbles.Close.UserDismissed" enum="BubbleType">
  <owner>hcarmona@chromium.org</owner>
  <summary>
    An open bubble was dismissed by the user without making a decission.
  </summary>
</histogram>

<histogram name="Bubbles.DisplayTime.All" units="ms">
  <owner>hcarmona@chromium.org</owner>
  <summary>
    Log the amount of time any bubble was visible. Only bubbles that are shown
    will have a visible time.
  </summary>
</histogram>

<histogram name="Bubbles.NeverShown" enum="BubbleType">
  <owner>hcarmona@chromium.org</owner>
  <summary>A bubble was given to the bubble manager but not shown.</summary>
</histogram>

<histogram name="Canvas.ContextType" enum="CanvasContextType">
  <owner>junov@chromium.org</owner>
  <owner>kbr@chromium.org</owner>
  <summary>
    Records the context type names used to create canvas rendering contexts.
  </summary>
</histogram>

<histogram name="Canvas.DisplayListFallbackReason"
    enum="CanvasDisplayListFallbackReason">
  <owner>junov@chromium.org</owner>
  <summary>
    The reasons why a canvas initially set to display list mode had to fall back
    to direct rasterization mode.
  </summary>
</histogram>

<histogram name="Canvas.GPUAccelerated2DCanvasDisableDeferralReason"
    enum="CanvasGPUAccelerated2DCanvasDisableDeferralReason">
  <owner>junov@chromium.org</owner>
  <summary>
    The reasons why a GPU accelerated canvas stopped deferring its rendering
    operations.
  </summary>
</histogram>

<histogram name="Canvas.HibernationEvents" enum="CanvasHibernationEvent">
  <owner>junov@chromium.org</owner>
  <summary>
    Records the occurrence of events related to 2D canvas GPU resource
    hibernation.
  </summary>
</histogram>

<histogram name="Canvas.Offscreen.CommitType" enum="OffscreenCanvasCommitType">
  <owner>xidachen@chromium.org</owner>
  <owner>junov@chromium.org</owner>
  <summary>
    The type of code path that OffscreenCanvas's commit API goes through.
  </summary>
</histogram>

<histogram name="Canvas.RequestedImageMimeTypes" enum="RequestedImageMimeType">
  <owner>xlai@chromium.org</owner>
  <summary>
    Records the occurence of image file formats passed into toDataURL and toBlob
    functions in canvas.
  </summary>
</histogram>

<histogram name="CAPSUpdater.Step" enum="CAPSUpdaterStep">
  <obsolete>
    Deprecated 08/2016 with removal of Chrome Crash Service component.
  </obsolete>
  <owner>scottmg@chromium.org</owner>
  <summary>
    Tracks the component updater steps for the Chrome Crash Service.
  </summary>
</histogram>

<histogram name="CaptivePortal.DetectResult" enum="CaptivePortalDetectResult">
  <owner>meacer@chromium.org</owner>
  <summary>Records the result of a captive portal probe.</summary>
</histogram>

<histogram name="CaptivePortal.Notification.Status"
    enum="CaptivePortalNotificationStatus">
  <owner>alemate@chromium.org</owner>
  <summary>
    Count of displayed and not displayed due to errors notifications about
    captive portal.
  </summary>
</histogram>

<histogram name="CaptivePortal.Notification.UserAction"
    enum="CaptivePortalNotificationUserAction">
  <owner>alemate@chromium.org</owner>
  <summary>
    Count of clicked, closed and ignored captive portal notifications.
  </summary>
</histogram>

<histogram name="CaptivePortal.OOBE.DetectionDuration" units="ms">
  <owner>alemate@chromium.org</owner>
  <summary>
    Duration of the captive portal detection process for a particular network at
    OOBE. Detection duration is recorded each time portal detection is completed
    for an active network.
  </summary>
</histogram>

<histogram name="CaptivePortal.OOBE.DetectionResult" enum="CaptivePortalStatus">
  <owner>alemate@chromium.org</owner>
  <summary>
    The result of captive portal detection attempts performed at OOBE. Detection
    result is recorded when portal detection is completed for an active network
    and when it differs from the previous result for the same network.
  </summary>
</histogram>

<histogram name="CaptivePortal.OOBE.DiscrepancyWithShill"
    enum="CaptivePortalStatus">
  <owner>alemate@chromium.org</owner>
  <summary>
    The result of captive portal detection attempts at OOBE if it diverges from
    network manager results. Detection result is recorded each time portal
    detection is completed for an active network.
  </summary>
</histogram>

<histogram name="CaptivePortal.OOBE.PortalToOnlineTransition" units="ms">
  <owner>alemate@chromium.org</owner>
  <summary>
    Number of milliseconds passed between consecutive reports for the same
    network about portal and online states.
  </summary>
</histogram>

<histogram name="CaptivePortal.RedirectTime" units="ms">
  <owner>alemate@chromium.org</owner>
  <summary>
    Number of milliseconds between start of request to gstatic.com/generate_204
    and receipt of response with redirect to captive portal login page.
  </summary>
</histogram>

<histogram name="CaptivePortal.Session.DetectionDuration" units="ms">
  <owner>alemate@chromium.org</owner>
  <summary>
    Duration of the captive portal detection process for a particular network in
    user session. Detection duration is recorded each time portal detection is
    completed for an active network.
  </summary>
</histogram>

<histogram name="CaptivePortal.Session.DetectionResult"
    enum="CaptivePortalStatus">
  <owner>alemate@chromium.org</owner>
  <summary>
    The result of captive portal detection attempts performed in user session.
    Detection result is recorded when portal detection is completed for an
    active network and when it differs from the previous result for the same
    network.
  </summary>
</histogram>

<histogram name="CaptivePortal.Session.DiscrepancyWithShill"
    enum="CaptivePortalStatus">
  <owner>alemate@chromium.org</owner>
  <summary>
    The result of captive portal detection attempts in session if it diverges
    from network manager results. Detection result is recorded each time portal
    detection is completed for an active network.
  </summary>
</histogram>

<histogram name="CaptivePortal.Session.PortalToOnlineTransition" units="ms">
  <owner>alemate@chromium.org</owner>
  <summary>
    Number of milliseconds passed between consecutive reports for the same
    network about portal and online states.
  </summary>
</histogram>

<histogram name="Cast.Channel.Certificate" enum="CastCertificateStatus">
  <owner>ryanchung@google.com</owner>
  <summary>
    Records the result of the Cast certificate verification on the Cast sender.
  </summary>
</histogram>

<histogram name="Cast.Channel.Nonce" enum="CastNonceStatus">
  <owner>ryanchung@google.com</owner>
  <summary>
    Records whether the correct nonce challenge was in the Cast receiver's
    response.
  </summary>
</histogram>

<histogram name="Cast.Network.Down.Duration.In.Seconds" units="seconds">
  <owner>cast-analytics@google.com</owner>
  <summary>
    Records the time the network has been down on a Cast device.  Recorded when
    network goes up.
  </summary>
</histogram>

<histogram name="Cast.Network.Up.Duration.In.Minutes" units="minutes">
  <owner>cast-analytics@google.com</owner>
  <summary>
    Records the time the network has been up on a Cast device.  Recorded when
    network goes down.
  </summary>
</histogram>

<histogram name="Cast.Sender.CastButtonShown" enum="BooleanEnabled">
  <owner>mfoltz@chromium.org</owner>
  <summary>
    Records the number of times the cast button was shown to the user. The value
    will be true if the button is enabled, and false if the button is disabled.
    Note that depending on the current UX, it's possible that we hide the button
    entirely if it's disabled, so it's possible for the false values to be 0.
  </summary>
</histogram>

<histogram name="Cast.Sender.CastButtonShownInitialFullscreen"
    enum="BooleanEnabled">
  <owner>mfoltz@chromium.org</owner>
  <summary>
    Records the number of times the cast button was shown to the user when the
    video is fullscreened. The value will only be recorded on entering
    fullscreen. The value will be true if the button is enabled, and false if
    the button is disabled. Note that depending on the current UX,it's possible
    that we hide the button entirely if it's disabled, so it's possible for the
    false values to be 0.
  </summary>
</histogram>

<histogram name="Cast.Sender.CastMediaType" enum="MediaContainers">
  <owner>miguelg@chromium.org</owner>
  <summary>Records the media type of every video being cast.</summary>
</histogram>

<histogram name="Cast.Sender.CastPlayerResult" enum="CastPlayBackState">
  <owner>maybelle@chromium.org</owner>
  <owner>miguelg@chromium.org</owner>
  <summary>
    Records the result of a request to play remotely on a per player app basis
    within Chrome for Android.
  </summary>
</histogram>

<histogram name="Cast.Sender.CastPlaySuccess" enum="BooleanSuccess">
  <obsolete>
    Deprecated 04/2014, and replaced by Cast.Sender.CastPlayerResult.
  </obsolete>
  <owner>maybelle@chromium.org</owner>
  <owner>miguelg@chromium.org</owner>
  <summary>
    Records the result of a request to play remotely. The value will be true if
    the playback succeeded, and false if there was an error.
  </summary>
</histogram>

<histogram name="Cast.Sender.CastTimeRemainingPercentage" units="%">
  <owner>mfoltz@chromium.org</owner>
  <summary>
    Records the percentage of the video left at the time the remote playback is
    stopped. This will be recorded when the playback is stopped by the user, or
    when it's stopped by the cast device.
  </summary>
</histogram>

<histogram name="Cast.Sender.DeviceType" enum="RemotePlaybackDeviceType">
  <owner>avayvod@google.com</owner>
  <summary>
    Records the type of the remote playback device selected by the user. This
    will be recorded when the user has chosen the device from the media route
    chooser dialog.
  </summary>
</histogram>

<histogram name="Cast.Sender.FullscreenControlsActionWithMediaElement"
    enum="MediaCommand">
  <owner>aberent@chromium.org</owner>
  <owner>avayvod@chromium.org</owner>
  <summary>
    Record each interaction with the fullscreen remote playback controls in
    cases when the corresponding media element on the page was present.
  </summary>
</histogram>

<histogram name="Cast.Sender.FullscreenControlsActionWithoutMediaElement"
    enum="MediaCommand">
  <owner>aberent@chromium.org</owner>
  <owner>avayvod@chromium.org</owner>
  <summary>
    Record each interaction with the fullscreen remote playback controls in
    cases when the corresponding media element on the page was not present.
  </summary>
</histogram>

<histogram name="Cast.Sender.MediaElementPresentWhenShowFullscreenControls"
    enum="BooleanPresent">
  <owner>aberent@chromium.org</owner>
  <owner>avayvod@chromium.org</owner>
  <summary>
    Indicates whether the corresponding media element on the page was present
    when the fullscreen remote playback controls were shown.
  </summary>
</histogram>

<histogram name="Cast.Sender.Overlay" enum="CastOverlayEvents">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Records events and user interactions related to the Cast overlay shown on
    video elements.
  </summary>
</histogram>

<histogram name="Cast.Sender.SessionTimeWithoutMediaElementPercentage"
    units="%">
  <owner>aberent@chromium.org</owner>
  <owner>avayvod@chromium.org</owner>
  <summary>
    Records the ratio of the time the media element was detached from the remote
    playback session to the total duration of the session (as from when the
    element has been attached till when the session stopped or disconnected), in
    percents.
  </summary>
</histogram>

<histogram name="Cast.Sender.UrlResolveResult"
    enum="RemotePlaybackUrlResolveResult">
  <owner>aberent@google.com</owner>
  <summary>
    Records the result of resolving the video URL for cast, including checking
    its CORS header.
  </summary>
</histogram>

<histogram name="Cast.Sender.VideoEncodeAcceleratorInitializeSuccess"
    enum="BooleanSuccess">
  <owner>posciak@chromium.org</owner>
  <summary>
    Indicates whether initialization of a video encode accelerator for Cast
    sender was successful.
  </summary>
</histogram>

<histogram name="CastV2.Transport.Connect.Latency.Unknown" units="ms">
  <owner>cast-analytics@google.com</owner>
  <summary>
    The latency between when a Cast V2 connection is established and the first
    message is received on that connection. &quot;Unknown&quot; is the peer
    type, which is not known at this point in the CastV2 connection
    establishment.  Naming conforms to the CastV2 sender-side histogram naming
    convention &quot;CastV2.[action].[name].[peer_type]&quot;.
  </summary>
</histogram>

<histogram name="CastV2.Transport.SslHandshake.Error.Unknown"
    enum="NetErrorCodes">
  <owner>cast-analytics@google.com</owner>
  <summary>
    On accepting a Cast V2 transport socket connection, if an error is
    encountered, the error code is logged here. &quot;Unknown&quot; is the peer
    type, which is not known at this point in the CastV2 connection
    establishment.  &quot;SslHandshake.Error&quot; is the name of the action.
    Naming conforms to the CastV2 sender-side histogram naming convention
    &quot;CastV2.[action].[name].[peer_type]&quot;.
  </summary>
</histogram>

<histogram name="CastV2.Transport.SslHandshake.Unknown" units="ms">
  <owner>cast-analytics@google.com</owner>
  <summary>
    The time taken to do the handshake during Cast V2 transport socket creation.
    &quot;Unknown&quot; is the peer type, which is not known at this point in
    the CastV2 connection establishment.  Naming conforms to the CastV2
    sender-side histogram naming convention
    &quot;CastV2.[action].[name].[peer_type]&quot;.
  </summary>
</histogram>

<histogram name="Cellular.ActivationFailure">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of cellular device activation failures (Chrome OS).
  </summary>
</histogram>

<histogram name="Cellular.ActivationTry">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The count of cellular device activation tries (Chrome OS).</summary>
</histogram>

<histogram name="Cellular.ConnectionFailed">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of cellular reconnect failures during activation (Chrome OS).
  </summary>
</histogram>

<histogram name="Cellular.ConnectionRetry">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of cellular device reconnect tries during activation (Chrome OS).
  </summary>
</histogram>

<histogram name="Cellular.MobileSetupFailed">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of successful cellular plan established (Chrome OS).
  </summary>
</histogram>

<histogram name="Cellular.MobileSetupStart">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of initiated cellular device setup starts (Chrome OS).
  </summary>
</histogram>

<histogram name="Cellular.MobileSetupSucceeded">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The count of failed cellular plan setup tries (Chrome OS).</summary>
</histogram>

<histogram name="Cellular.PaymentFailed">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The count of failed cellular plan purchases (Chrome OS).</summary>
</histogram>

<histogram name="Cellular.PaymentReceived">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of successfully completed cellular plan purchases (Chrome OS).
  </summary>
</histogram>

<histogram name="CertificateType">
  <obsolete>
    Deprecated as of 8/2013. This histogram only considered the leaf certificate
    expiry date as a proxy for whether a certificate was in-scope for the BRs,
    but did not consider the issuance date. As some CAs have issued long-lived
    certs prior to the BRs, this disproportionately reported those certs as
    being subject to the BRs, but non-compliant, when in reality they're not
    subject.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Information about the certificate algorithms and sizes in use on the web, to
    examine compliance with the CA/Browser Forum requirements and security best
    practice.
  </summary>
</histogram>

<histogram name="CertificateType2">
  <owner>rsleevi@chromium.org</owner>
  <summary>
    Information about the certificate algorithms and sizes in use on the web, to
    examine compliance with the CA/Browser Forum requirements and security best
    practice. This histogram considers the notBefore as the issuance date, for
    purposes of what requirements apply.
  </summary>
</histogram>

<histogram name="ChildProcess.BadMessgeTerminated" enum="ProcessType2">
  <owner>jam@chromium.org</owner>
  <summary>
    Count of child processes killed because they sent an IPC that couldn't be
    deserialized.
  </summary>
</histogram>

<histogram name="ChildProcess.Crashed" enum="ProcessType">
  <obsolete>
    Deprecated 3/2013. Renamed to ChildProcess.Crashed2.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Count of child process crashes grouped by process type.</summary>
</histogram>

<histogram name="ChildProcess.Crashed2" enum="ProcessType2">
  <owner>wfh@chromium.org</owner>
  <summary>Count of child process crashes grouped by process type.</summary>
</histogram>

<histogram name="ChildProcess.CrashedWasAlive" enum="ProcessType">
  <obsolete>
    Deprecated as of 10/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Count of child process crashes that we miscounted because we took the exit
    code too early. Grouped by process type.
  </summary>
</histogram>

<histogram name="ChildProcess.Crashes" enum="ProcessType">
  <obsolete>
    Deprecated 10/2011. Renamed to ChildProcess.Crashed.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Count of child process crashes grouped by process type.</summary>
</histogram>

<histogram name="ChildProcess.CrashesWasAlive" enum="ProcessType">
  <obsolete>
    Deprecated 10/2011. Renamed to ChildProcess.CrashedWasAlive.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Count of child process crashes that we miscounted because we took the exit
    code too early. Grouped by process type.
  </summary>
</histogram>

<histogram name="ChildProcess.DefaultCase" enum="ProcessType">
  <obsolete>
    Deprecated as of 10/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Count of child process crashes for which we were not able to understand the
    exit code, grouped by process type.
  </summary>
</histogram>

<histogram name="ChildProcess.Disconnected" enum="ProcessType">
  <obsolete>
    Deprecated 3/2013. Renamed to ChildProcess.Disconnected2.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Count of child process abnormal channel disconnects grouped by process type.
  </summary>
</histogram>

<histogram name="ChildProcess.Disconnected2" enum="ProcessType2">
  <owner>wfh@chromium.org</owner>
  <summary>
    Count of child process abnormal channel disconnects grouped by process type.
  </summary>
</histogram>

<histogram name="ChildProcess.DisconnectedAlive" enum="ProcessType">
  <obsolete>
    Deprecated 3/2013. Renamed to ChildProcess.DisconnectedAlive2.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Count of child process abnormal channel disconnects that are not classified
    and reported because we took the exit code too early. Grouped by process
    type.
  </summary>
</histogram>

<histogram name="ChildProcess.DisconnectedAlive2" enum="ProcessType2">
  <owner>wfh@chromium.org</owner>
  <summary>
    Count of child process abnormal channel disconnects that are not classified
    and reported because we took the exit code too early. Grouped by process
    type.
  </summary>
</histogram>

<histogram name="ChildProcess.HangRendererType" enum="RendererUnresponsiveType">
  <obsolete>
    Deprecated 3/2017.
  </obsolete>
  <owner>clamy@chromium.org</owner>
  <summary>
    What the browser was waiting for from the renderer when it was reported as
    hung.
  </summary>
</histogram>

<histogram name="ChildProcess.InvalidSandboxStateCrash.NoStartupWindow"
    enum="BooleanPresent">
  <owner>wfh@chromium.org</owner>
  <summary>
    Whether the browser command line had the switch --no-startup-window when a
    child process crashed due to invalid sandbox state. Recorded when a child
    process crashes if the exit code from the child process is
    RESULT_CODE_INVALID_SANDBOX_STATE.
  </summary>
</histogram>

<histogram name="ChildProcess.Killed" enum="ProcessType">
  <obsolete>
    Deprecated 3/2013. Renamed to ChildProcess.Killed2.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Count of child process kills grouped by process type.</summary>
</histogram>

<histogram name="ChildProcess.Killed2" enum="ProcessType2">
  <owner>wfh@chromium.org</owner>
  <summary>Count of child process kills grouped by process type.</summary>
</histogram>

<histogram name="ChildProcess.Killed2.OOM" enum="ProcessType2">
  <owner>oshima@chromium.org</owner>
  <summary>
    Out of ChildProcess.Killled, number of kills due to SIGKILL, which is a
    strong signal of out of memory on ChromeOS, grouped by process type.
  </summary>
</histogram>

<histogram name="ChildProcess.KilledByExtensionAPI">
  <owner>nasko@chromium.org</owner>
  <summary>
    Count of child processes killed by the extension API (processes.terminate).
  </summary>
</histogram>

<histogram name="ChildProcess.KilledWasAlive" enum="ProcessType">
  <obsolete>
    Deprecated as of 10/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Count of child process kills that we miscounted because we took the exit
    code too early. Grouped by process type.
  </summary>
</histogram>

<histogram name="ChildProcess.Kills" enum="ProcessType">
  <obsolete>
    Deprecated 10/2011. Renamed to ChildProcess.Killed.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Count of child process kills grouped by process type.</summary>
</histogram>

<histogram name="ChildProcess.KillsWasAlive" enum="ProcessType">
  <obsolete>
    Deprecated 10/2011. Renamed to ChildProcess.KilledWasAlive.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Count of child process kills that we miscounted because we took the exit
    code too early. Grouped by process type.
  </summary>
</histogram>

<histogram name="Chrome.Android.Activity.CrashCounts" enum="AndroidActivityId">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Indicates how many times each particular type of Activity was in the
    foreground when a UMA session was terminated abnormally. UMA sessions last
    as long as Chrome remains in the foreground.
  </summary>
</histogram>

<histogram name="Chrome.Android.Activity.LaunchCounts" enum="AndroidActivityId">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Indicates how many times each particular type of Activity was brought to the
    foreground when a UMA session was active (i.e. launched at some point). UMA
    sessions last as long as Chrome remains in the foreground.
  </summary>
</histogram>

<histogram name="Chrome.Browser.CrashedExecutionPhase" enum="ExecutionPhase">
  <owner>manzagop@chromium.org</owner>
  <summary>
    Indicates the execution phase the browser was in when the browser crashed.
  </summary>
</histogram>

<histogram name="Chrome.Browser.ExecutionPhase" enum="ExecutionPhase">
  <obsolete>
    Deprecated as of 11/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Indicates the execution phase the browser was in when browser didn't exit
    cleanly.
  </summary>
</histogram>

<histogram name="Chrome.BrowserCrashDumpAttempts">
  <obsolete>
    Deprecated as of 04/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The total number of times the browser process has attempted to generate a
    crash dump. This should be the sum of Chrome.BrowserDumpsWithCrash and
    Chrome.BrowserDumpsWithNoCrash.
  </summary>
</histogram>

<histogram name="Chrome.BrowserDumpsWithCrash">
  <obsolete>
    Deprecated as of 04/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of times the browser process has attempted to generate a crash
    dump because of an actual browser crash.
  </summary>
</histogram>

<histogram name="Chrome.BrowserDumpsWithNoCrash">
  <obsolete>
    Deprecated as of 04/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of times the browser process has attempted to generate a crash
    dump in a non-crashing (i.e., reporting only) context.
  </summary>
</histogram>

<histogram name="Chrome.MessageLoopProblem" enum="MessageLoopProblems">
  <owner>gab@chromium.org</owner>
  <summary>
    Track set of Windows errors inside the meessage loop/pump system, where
    system calls fail, and we try to gracefully recover.  These errors should
    really never happen, so we should be sure to look closer if they do.
  </summary>
</histogram>

<histogram name="Chrome.ProcessSingleton.NotifyResult" enum="NotifyResult">
  <owner>gab@chromium.org</owner>
  <summary>
    The result of every rendez-vous reported once per browser process launch.
  </summary>
</histogram>

<histogram name="Chrome.ProcessSingleton.TimeToCreate" units="ms">
  <owner>gab@chromium.org</owner>
  <summary>
    Time it takes to grab the process singleton. Reported once per successful
    attempt at obtaining the singleton.
  </summary>
</histogram>

<histogram name="Chrome.ProcessSingleton.TimeToFailure" units="ms">
  <owner>gab@chromium.org</owner>
  <summary>
    Time it takes to return an error from the process singleton algorithm (nor
    succeeding in obtaining it, nor in generating a rendez-vous). This does not
    include time spent in the fast notification path (chrome_exe_main_win.cc).
  </summary>
</histogram>

<histogram name="Chrome.ProcessSingleton.TimeToNotify" units="ms">
  <owner>gab@chromium.org</owner>
  <summary>
    Time it takes to find the process singleton owner and notify it. Reported
    once per successful rendez-vous. This does not include time spent in the
    fast notification path (chrome_exe_main_win.cc).
  </summary>
</histogram>

<histogram name="Chrome.SearchSelectExempt" enum="SearchEngine">
  <obsolete>
    Deprecated 8/2013. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The default search engine selected by a user not in the search engine dialog
    experiment.
  </summary>
</histogram>

<histogram name="Chrome.SearchSelectExperiment" enum="SearchEngine">
  <obsolete>
    Deprecated 8/2013. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The default search engine selected by a user in the search engine dialog
    experiment.
  </summary>
</histogram>

<histogram name="Chrome.SearchSelectExperimentSlot1" enum="SearchEngine">
  <obsolete>
    Deprecated 8/2013. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The default search engine selected by a user in slot 1 of a randomized
    search engine dialog.
  </summary>
</histogram>

<histogram name="Chrome.SearchSelectExperimentSlot2" enum="SearchEngine">
  <obsolete>
    Deprecated 8/2013. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The default search engine selected by a user in slot 2 of a randomized
    search engine dialog.
  </summary>
</histogram>

<histogram name="Chrome.SearchSelectExperimentSlot3" enum="SearchEngine">
  <obsolete>
    Deprecated 8/2013. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The default search engine selected by a user in slot 3 of a randomized
    search engine dialog.
  </summary>
</histogram>

<histogram name="Chrome.SearchSelectExperimentSlot4" enum="SearchEngine">
  <obsolete>
    Deprecated 8/2013. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The default search engine selected by a user in slot 4 of a randomized
    search engine dialog.
  </summary>
</histogram>

<histogram name="ChromeGeneratedCustomTab.IntentToFirstCommitNavigationTime"
    units="ms">
  <obsolete>
    Deprecated 10/2016 in favor of .IntentToFirstCommitNavigationTime2.*.
  </obsolete>
  <owner>lizeb@chromium.org</owner>
  <summary>
    Time between the intent arrival in a Chrome generated CCT and the first
    navigation commit, if the navigation is successful. Similar in principle to
    Startup.FirstCommitNavigationTime.
  </summary>
</histogram>

<histogram name="ChromeGeneratedCustomTab.IntentToFirstCommitNavigationTime2"
    units="ms">
  <owner>lizeb@chromium.org</owner>
  <summary>
    In &quot;Herb&quot; mode shows the time between the intent arrival in a
    Chrome generated CCT and the first navigation commit, if the navigation is
    successful. Similar in principle to Startup.FirstCommitNavigationTime.
  </summary>
</histogram>

<histogram name="ChromeGeneratedCustomTab.IntentToPageLoadedTime" units="ms">
  <owner>lizeb@chromium.org</owner>
  <summary>
    In &quot;Herb&quot; mode shows time between the intent arrival in a Chrome
    generated CCT and the first &quot;page loaded&quot; event, if the navigation
    is successful.
  </summary>
</histogram>

<histogram name="ChromeNotifierService.Actions"
    enum="ChromeNotifierServiceActionType">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The actions to enable or disable services sending synced notifications.
    Synced Notification Sending services can be individually disabled by the
    user in the Chrome Notification center settings dialog.
  </summary>
</histogram>

<histogram name="ChromeOS.Display.ColorProfile" enum="ChromeOSColorProfile">
  <owner>xiaowenx@chromium.org</owner>
  <owner>mukai@chromium.org</owner>
  <summary>
    The name of the current color calibration of the display on ChromeOS. This
    value is sent when the color calibration is changed by the user.
  </summary>
</histogram>

<histogram name="ChromeOS.GAIA.WebViewFlow" enum="BooleanGAIAWebViewFlow">
  <owner>achuith@chromium.org</owner>
  <summary>
    Whether a user signed in using the new WebView-based GAIA flow. This value
    is sent after the GAIA screen has completed user authentication.
  </summary>
</histogram>

<histogram name="ChromeOS.MachineIdRegen.AgeSeconds" units="seconds">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of seconds of uptime since the last time the ChromeOS machine-id
    was regenerated. This is reported every time the machine-id is regenerated
    except for the first time since reboot.
  </summary>
</histogram>

<histogram name="ChromeOS.MachineIdRegen.Reason" enum="ChromeOSMachineIdReason">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The reason why the ChromeOS machine-id was regenerated. This is reported
    when the machine-id is re-generated.
  </summary>
</histogram>

<histogram name="ChromeOS.MemoryPressureLevel" enum="MemoryPressureLevel">
  <owner>xdai@chromium.org</owner>
  <summary>
    The memory pressure level in ChromeOS, which is recorded periodically (once
    per second). This is used to show the relative frequency of the system being
    in a critical vs relaxed memory pressure state.
  </summary>
</histogram>

<histogram name="ChromeOS.PlatformVerification.Available"
    enum="BooleanAvailable">
  <owner>dkrahn@chromium.org</owner>
  <summary>
    Whether platform verification subsystem features are available at the time a
    platform verification request is made for content protection on Chrome OS.
  </summary>
</histogram>

<histogram name="ChromeOS.PlatformVerification.ExpiryStatus"
    enum="ChromeOSPlatformVerificationExpiryStatus">
  <owner>dkrahn@chromium.org</owner>
  <summary>
    The result of a certificate expiry check during a platform verification
    attempt for content protection on Chrome OS.
  </summary>
</histogram>

<histogram name="ChromeOS.PlatformVerification.Result"
    enum="ChromeOSPlatformVerificationResult">
  <owner>dkrahn@chromium.org</owner>
  <summary>
    The result of a platform verification attempt for content protection on
    Chrome OS.
  </summary>
</histogram>

<histogram name="ChromeOS.SAML.APIUsed" enum="BooleanUsage">
  <owner>bartfab@chromium.org</owner>
  <summary>
    Whether a Chrome OS login via SAML used the principals API. This is recorded
    during login on Chrome OS if SAML is being used for authentication.
  </summary>
</histogram>

<histogram name="ChromeOS.SAML.Scraping.PasswordCount">
  <owner>bartfab@chromium.org</owner>
  <summary>
    The number of passwords that were scraped during a Chrome OS login via SAML.
    This is set only when the principals API is not used.
  </summary>
</histogram>

<histogram name="ChromeOS.SAML.Scraping.VerificationResult"
    enum="BooleanSuccess">
  <owner>bartfab@chromium.org</owner>
  <summary>
    Whether one of the scraped passwords was successfully verified as the user's
    password. This is set only when the principals API is not used.
  </summary>
</histogram>

<histogram name="ChromiumAndroidLinker.BrowserLoadTime" units="ms">
  <owner>rsesek@chromium.org</owner>
  <summary>
    The amount of time it took to load the native libraries in the browser
    process.
  </summary>
</histogram>

<histogram name="ChromiumAndroidLinker.BrowserStates"
    enum="ChromiumAndroidLinkerBrowserState">
  <owner>simonb@chromium.org</owner>
  <summary>
    Whether relro sharing was attempted for the browser process, and if
    attempted, whether it succeeded.
  </summary>
</histogram>

<histogram name="ChromiumAndroidLinker.IsLowMemoryDevice" enum="Boolean">
  <obsolete>
    Deprecated 10/2014 in Issue 419010, and replaced by
    ChromiumAndroidLinker.BrowserStates.
  </obsolete>
  <owner>simonb@chromium.org</owner>
  <summary>Is low memory device.</summary>
</histogram>

<histogram name="ChromiumAndroidLinker.LibraryLoadFromApkStatus"
    enum="LibraryLoadFromApkStatus">
  <owner>petrcermak@chromium.org</owner>
  <summary>
    Whether the device supports loading a library directly from the APK file.
    The functionality is checked and reported during every Chromium browser
    process start up.
  </summary>
</histogram>

<histogram name="ChromiumAndroidLinker.LoadedAtFixedAddressFailed"
    enum="Boolean">
  <obsolete>
    Deprecated 10/2014 in Issue 419010, and replaced by
    ChromiumAndroidLinker.RendererStates.
  </obsolete>
  <owner>simonb@chromium.org</owner>
  <summary>Load at fixed address failed.</summary>
</histogram>

<histogram name="ChromiumAndroidLinker.RendererLoadTime" units="ms">
  <owner>rsesek@chromium.org</owner>
  <summary>
    The amount of time it took to load the native libraries in the renderer
    process.
  </summary>
</histogram>

<histogram name="ChromiumAndroidLinker.RendererStates"
    enum="ChromiumAndroidLinkerRendererState">
  <owner>simonb@chromium.org</owner>
  <summary>
    Whether relro sharing was attempted for a renderer process, and if
    attempted, whether it succeeded.
  </summary>
</histogram>

<histogram name="Chromoting.Connections" enum="State">
  <owner>anandc@chromium.com</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    Recorded every time a Chromoting connection enters a new state.
  </summary>
</histogram>

<histogram name="Chromoting.Connections.Durations.Closed" units="minutes">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    The duration of sessions that were closed, normally by a user-initiated
    action.
  </summary>
</histogram>

<histogram name="Chromoting.Connections.Durations.Failed" units="minutes">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>The duration of sessions that failed to connect.</summary>
</histogram>

<histogram name="Chromoting.Connections.Times.ToAuthenticate" units="ms">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    The time taken to authenticate as part of a Chromoting connection request.
  </summary>
</histogram>

<histogram name="Chromoting.Connections.Times.ToConnect" units="ms">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    The time taken to connect to a remote-host, after a request has been
    authenticated.
  </summary>
</histogram>

<histogram name="Chromoting.Input.EventLatency" units="microseconds">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    Input event delivery latency from the browser to the plugin.
  </summary>
</histogram>

<histogram name="Chromoting.Video.Bandwidth" units="Bytes/second">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    The bandwidth of non-empty packets in Chromoting remote sessions, updated
    every time a video packet is processed and logged every 1s.
  </summary>
</histogram>

<histogram name="Chromoting.Video.CaptureLatency" units="ms">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    The time to capture a video frame on the host, returned as part of a video
    packet.
  </summary>
</histogram>

<histogram name="Chromoting.Video.CaptureOverhead" units="ms">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    Amount of time wasted on IPC and threading overhead when capturing a video
    frame.
  </summary>
</histogram>

<histogram name="Chromoting.Video.CapturePendingLatency" units="ms">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    The time from when an input event is received to when the next frame is
    captured.
  </summary>
</histogram>

<histogram name="Chromoting.Video.DecodeLatency" units="ms">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>The time to decode a video packet on the client.</summary>
</histogram>

<histogram name="Chromoting.Video.EncodeLatency" units="ms">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    The time to encode a video packet on the host, returned as part of a video
    packet.
  </summary>
</histogram>

<histogram name="Chromoting.Video.EncodePendingLatency" units="ms">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    Delay before a newly captured frame is passed to the encoder.
  </summary>
</histogram>

<histogram name="Chromoting.Video.FrameRate" units="fps">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    The frame-rate of non-empty packets in Chromoting remote sessions, updated
    every time a video packet is processed and logged every 1s.
  </summary>
</histogram>

<histogram name="Chromoting.Video.NetworkLatency" units="ms">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    Estimated network roundtrip latency calculated by subtracting total
    processing time on host and client from the total roundtrip time.
  </summary>
</histogram>

<histogram name="Chromoting.Video.PacketRate" units="packets/second">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    The packets/sec, including empty packets, in Chromoting remote sessions,
    updated every time a video packet is processed and logged every 1s.
  </summary>
</histogram>

<histogram name="Chromoting.Video.PaintLatency" units="ms">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>The time to paint a decoded video packet on the client.</summary>
</histogram>

<histogram name="Chromoting.Video.RoundTripLatency" units="ms">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    The time from an input being sent from the client to a response being
    received by the client after it is processed by the host.
  </summary>
</histogram>

<histogram name="Chromoting.Video.SendPendingLatency" units="ms">
  <owner>anandc@chromium.org</owner>
  <owner>sergeyu@chromium.org</owner>
  <summary>
    Delay before an encoded video packet is written to the send buffer.
  </summary>
</histogram>

<histogram name="clickjacking.discard_download" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The length of time between a dangerous download appearing on the downloads
    shelf, and the &quot;Discard&quot; button being clicked.
  </summary>
</histogram>

<histogram name="clickjacking.dismiss_download" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The length of time between a dangerous download appearing on the downloads
    shelf, and the &quot;Dismiss&quot; button being clicked. Deprecated since
    M54.
  </summary>
</histogram>

<histogram name="clickjacking.launch_url" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The length of time between the external protocol dialog being shown and the
    &quot;Launch Application&quot; button being clicked.
  </summary>
</histogram>

<histogram name="clickjacking.open_download" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The length of time between a download appearing on the download shelf, and
    the user opening it by clicking the item or pressing return.
  </summary>
</histogram>

<histogram name="clickjacking.report_and_discard_download" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time between &quot;Report and Discard&quot; button being shown and it being
    clicked.
  </summary>
</histogram>

<histogram name="clickjacking.save_download" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The length of time between a dangerous download appearing on the download
    shelf, and the &quot;Keep&quot; button being clicked.
  </summary>
</histogram>

<histogram name="Clipboard.ConstructedHasher" enum="BooleanSuccess">
  <obsolete>
    Launched briefly in M-59 dev, then refactoring made obsolete.
  </obsolete>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Whether Android's Clipboard.java successfully constructed a hasher to hash
    clipboard entries.  Recorded on construction of the class, which happens
    only on startup.
  </summary>
</histogram>

<histogram name="Clipboard.IncognitoUseCase" enum="ClipboardAction">
  <obsolete>
    Deprecated as of 4/2013, experiment confirmed correctness of our patch.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Counts how often the user writes or reads from the clipboard and whether the
    write was from an incognito window or not.
  </summary>
</histogram>

<histogram name="Clipboard.X11StoreCopyPasteDuration" units="ms">
  <owner>pkotwicz@chromium.org</owner>
  <summary>
    The length of time that it takes to transfer ownership of Chrome's CLIPBOARD
    selection to the clipboard manager when Chrome exits.
  </summary>
</histogram>

<histogram name="CloudPrint.AuthEvent" enum="CloudPrintAuthEventType">
  <owner>vitalybuka@chromium.org</owner>
  <summary>Event counts in CloudPrintAuth.</summary>
</histogram>

<histogram name="CloudPrint.AvailablePrinters">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The number of printers availible for registration.</summary>
</histogram>

<histogram name="CloudPrint.AvailablePrintersList">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The number of printers availible for registration in Windows Service.
  </summary>
</histogram>

<histogram name="CloudPrint.CapsUpdateInterval" units="ms">
  <obsolete>
    Removed 02/2017. http://crbug.com/643570
  </obsolete>
  <owner>vitalybuka@chromium.org</owner>
  <summary>The amount of time between capabilities updates.</summary>
</histogram>

<histogram name="CloudPrint.JobHandlerEvent"
    enum="CloudPrintJobHandlerEventType">
  <owner>vitalybuka@chromium.org</owner>
  <summary>Event counts in PrinterJobHandler.</summary>
</histogram>

<histogram name="CloudPrint.JobsDonePerInterval">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The number of jobs successfully completed per hour.</summary>
</histogram>

<histogram name="CloudPrint.JobsStartedPerInterval">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The number of jobs started per hour.</summary>
</histogram>

<histogram name="CloudPrint.JobStatus" enum="CloudPrintJobStatusType">
  <owner>vitalybuka@chromium.org</owner>
  <summary>Then number of job completion statuses.</summary>
</histogram>

<histogram name="CloudPrint.NativeJobStatus"
    enum="CloudPrintNativeJobStatusType">
  <owner>vitalybuka@chromium.org</owner>
  <summary>Event counts in PrintSystem.</summary>
</histogram>

<histogram name="CloudPrint.PrepareTime" units="ms">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The amount of time needed to prepare job for spooling.</summary>
</histogram>

<histogram name="CloudPrint.PrinterBlacklistSize">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The number of printers user has blacklisted.</summary>
</histogram>

<histogram name="CloudPrint.PrinterWhitelistSize">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The number of printers user has whitelisted.</summary>
</histogram>

<histogram name="CloudPrint.PrintingTime" units="ms">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The amount of time needed to finish print job.</summary>
</histogram>

<histogram name="CloudPrint.ServiceEvents" enum="ServiceProcessEventType">
  <owner>vitalybuka@chromium.org</owner>
  <summary>Event counts in ServiceProcessControl.</summary>
</histogram>

<histogram name="CloudPrint.ServiceProcessSocketLength">
  <obsolete>
    Removed 12/2015. http://crbug.com/466644
  </obsolete>
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Temporarily histogram with size of IPC sockets in default location.
  </summary>
</histogram>

<histogram name="CloudPrint.ServiceUtilityCapsFailTime" units="ms">
  <obsolete>
    Removed 02/2017. http://crbug.com/643570
  </obsolete>
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The amount of time used to fail to collect printer capabilities.
  </summary>
</histogram>

<histogram name="CloudPrint.ServiceUtilityCapsTime" units="ms">
  <obsolete>
    Removed 02/2017. http://crbug.com/643570
  </obsolete>
  <owner>vitalybuka@chromium.org</owner>
  <summary>The amount of time used to collect printer capabilities.</summary>
</histogram>

<histogram name="CloudPrint.ServiceUtilityDisconnectTime" units="ms">
  <obsolete>
    Removed 02/2017. http://crbug.com/643570
  </obsolete>
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The amount of time the utility process runs before disconnect.
  </summary>
</histogram>

<histogram name="CloudPrint.ServiceUtilityMetafileFailTime" units="ms">
  <obsolete>
    Removed 02/2017. http://crbug.com/643570
  </obsolete>
  <owner>vitalybuka@chromium.org</owner>
  <summary>The amount of time used to fail to generate metafile.</summary>
</histogram>

<histogram name="CloudPrint.ServiceUtilityMetafileTime" units="ms">
  <obsolete>
    Removed 02/2017. http://crbug.com/643570
  </obsolete>
  <owner>vitalybuka@chromium.org</owner>
  <summary>The amount of time used to generate metafile.</summary>
</histogram>

<histogram name="CloudPrint.ServiceUtilityProcessHostEvent"
    enum="ServiceUtilityProcessHostEventType">
  <owner>vitalybuka@chromium.org</owner>
  <summary>Event counts in ServiceUtilityProcessHost.</summary>
</histogram>

<histogram name="CloudPrint.ServiceUtilitySemanticCapsFailTime" units="ms">
  <obsolete>
    Removed 02/2017. http://crbug.com/643570
  </obsolete>
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The amount of time used to fail to collect printer capabilities.
  </summary>
</histogram>

<histogram name="CloudPrint.ServiceUtilitySemanticCapsTime" units="ms">
  <obsolete>
    Removed 02/2017. http://crbug.com/643570
  </obsolete>
  <owner>vitalybuka@chromium.org</owner>
  <summary>The amount of time used to collect printer capabilities.</summary>
</histogram>

<histogram name="CloudPrint.SpoolingTime" units="ms">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The amount of time needed to spool print job.</summary>
</histogram>

<histogram name="CloudPrint.UnregisterPrinters">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The number of printers to unregister.</summary>
</histogram>

<histogram name="CloudPrint.UrlFetcherDownloadSize" units="KB">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The amount of data downloaded on cloud print request.</summary>
</histogram>

<histogram name="CloudPrint.UrlFetcherRequestTime" units="ms">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The amount of time needed for cloud print request.</summary>
</histogram>

<histogram name="CloudPrint.UrlFetcherRequestType"
    enum="CloudPrintUrlFetcherRequestType">
  <owner>vitalybuka@chromium.org</owner>
  <summary>Request counts to cloud print service.</summary>
</histogram>

<histogram name="CloudPrint.UrlFetcherRetries">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The number of retries used to complete cloud print request.</summary>
</histogram>

<histogram name="CloudPrint.UrlFetcherUploadSize" units="KB">
  <owner>vitalybuka@chromium.org</owner>
  <summary>The amount of data uploaded with cloud print request.</summary>
</histogram>

<histogram name="CloudPrint.XmppPingTry">
  <owner>vitalybuka@chromium.org</owner>
  <summary>Number of tries before successful ping. 99 means giving up.</summary>
</histogram>

<histogram name="CloudPrint.XmppTimeout" units="ms">
  <obsolete>
    Removed 02/2017. http://crbug.com/643570
  </obsolete>
  <owner>vitalybuka@chromium.org</owner>
  <summary>Xmpp timeout option value provided by server.</summary>
</histogram>

<histogram name="ComponentUpdater.Calls" enum="ComponentUpdaterCalls">
  <owner>sorin@chromium.org</owner>
  <summary>
    The number of times the component updater called UpdateClient::Install or
    UpdateClient::Update. These correspond to the number of manual component
    update checks performed as a result of a user action, and the number of
    automated component update checks.
  </summary>
</histogram>

<histogram name="ComponentUpdater.UpdateCompleteResult" enum="BooleanError">
  <owner>sorin@chromium.org</owner>
  <summary>The result of an install or an update check.</summary>
</histogram>

<histogram name="ComponentUpdater.UpdateCompleteTime" units="ms">
  <owner>sorin@chromium.org</owner>
  <summary>
    Time to complete an Install or an Update component update call.
  </summary>
</histogram>

<histogram
    name="Compositing.Browser.DisplayListRecordingSource.UpdateInvalidatedAreaPerMs"
    units="pixels/ms">
  <obsolete>
    Deprecated 05/2016. See Blink.Paint.UpdateTime as a related alternate
    metric.
  </obsolete>
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Area of invalidated content, in pixels, divided by update (i.e. record), in
    milliseconds. Recorded when display list recording source is updated (in a
    browser process).
  </summary>
</histogram>

<histogram name="Compositing.Browser.DisplayListRecordingSource.UpdateUs"
    units="microseconds">
  <obsolete>
    Deprecated 05/2016. See Blink.Paint.UpdateTime as a related alternate
    metric.
  </obsolete>
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent updating (i.e. recording) a display list, in microseconds.
    Recorded when display list is updated (in a browser process).
  </summary>
</histogram>

<histogram base="true" name="Compositing.Browser.LayersUpdateTime"
    units="microseconds">
  <owner>threaded-rendering@chromium.org</owner>
  <summary>
    Time spent updating layers, in microseconds. Recorded when layers are
    updated (in a browser process).
  </summary>
</histogram>

<histogram name="Compositing.Browser.LayerTreeImpl.CalculateDrawPropertiesUs"
    units="microseconds">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent updating layer draw properties, in microseconds. Recorded when a
    LayerTreeImpl's draw properties are updated (in a browser process).
  </summary>
</histogram>

<histogram name="Compositing.Browser.NumActiveLayers" units="layers">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    The number of layers in the active tree for each compositor frame. This is
    logged once per frame, before the frame is drawn (in a browser process).
  </summary>
</histogram>

<histogram name="Compositing.Browser.NumRenderSurfaces" units="surfaces">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    The number of render surfaces in the render surface layer list. Recorded
    each time the render surface layer list is constructed (in a browser
    process).
  </summary>
</histogram>

<histogram name="Compositing.Browser.PictureMemoryUsageKb" units="KB">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Total estimated memory used by SkPictures in the layer tree, in kilobytes.
    Recorded once per frame, before the frame is drawn (in a browser process).
  </summary>
</histogram>

<histogram name="Compositing.Browser.PicturePile.UpdateInvalidatedAreaPerMs"
    units="pixels/ms">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Area of invalidated content, in pixels, divided by update (i.e. record), in
    milliseconds. Recorded when picture pile is updated (in a browser process).
  </summary>
</histogram>

<histogram name="Compositing.Browser.PicturePile.UpdateUs" units="microseconds">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent updating (i.e. recording) a picture pile, in microseconds.
    Recorded when picture pile is updated (in a browser process).
  </summary>
</histogram>

<histogram name="Compositing.Browser.RasterTask.RasterPixelsPerMs"
    units="pixels/ms">
  <obsolete>
    Deprecated 11/2016. Increased the max tracking range to accomendate GPU
    raster, and will require new baskets.
  </obsolete>
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Rasterized area, in pixels, divided by rasterization time, in milliseconds,
    of a compositor rasterization task. Recorded after the task finishes (in a
    browser process).
  </summary>
</histogram>

<histogram name="Compositing.Browser.RasterTask.RasterPixelsPerMs2"
    units="pixels/ms">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Rasterized area, in pixels, divided by rasterization time, in milliseconds,
    of a compositor rasterization task. Recorded after the task finishes (in a
    browser process).
  </summary>
</histogram>

<histogram name="Compositing.Browser.RasterTask.RasterUs" units="microseconds">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent completing a compositor rasterization task, in microseconds.
    Recorded after the task finishes (in a browser process).
  </summary>
</histogram>

<histogram
    name="Compositing.Browser.RenderPass.AppendQuadData.NumMissingTilesNoImageContent">
  <obsolete>
    Deprecated 02/2016. We'd learned as much as we could from this metric and it
    made no sense to keep it around.
  </obsolete>
  <owner>vollick@chromium.org</owner>
  <summary>
    Tracks the number of missing tiles that had some image content in the
    browser process.
  </summary>
</histogram>

<histogram
    name="Compositing.Browser.RenderPass.AppendQuadData.NumMissingTilesSomeImageContent">
  <obsolete>
    Deprecated 02/2016. We'd learned as much as we could from this metric and it
    made no sense to keep it around.
  </obsolete>
  <owner>vollick@chromium.org</owner>
  <summary>
    Tracks the number of missing tiles that did not have any image content in
    the browser process.
  </summary>
</histogram>

<histogram name="Compositing.CopyFromSurfaceTime" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The turn around time taken for the async readback of pixels is measured
    here.
  </summary>
</histogram>

<histogram name="Compositing.CopyFromSurfaceTimeSynchronous" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time taken for the sync readback of pixels is measured here.
  </summary>
</histogram>

<histogram name="Compositing.DirectRenderer.GL.DrawFrameUs"
    units="microseconds">
  <owner>weiliangc@chromium.org</owner>
  <summary>
    Time spent drawing of composited layers by GLRenderer, in microseconds. This
    is logged once per frame, when a frame should be drawn.
  </summary>
</histogram>

<histogram name="Compositing.DirectRenderer.Software.DrawFrameUs"
    units="microseconds">
  <owner>weiliangc@chromium.org</owner>
  <summary>
    Time spent drawing of composited layers by SoftwareRenderer, in
    microseconds. This is logged once per frame, when a frame should be drawn.
  </summary>
</histogram>

<histogram
    name="Compositing.DisplayListRecordingSource.UpdateInvalidatedAreaPerMs"
    units="pixels/ms">
  <obsolete>
    Deprecated 09/2015, replaced by similar metrics under Compositing.Renderer
    and Compositing.Browser, depending on which process it occurs in.
  </obsolete>
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Area of invalidated content, in pixels, divided by update (i.e. record), in
    milliseconds. Recorded when display list recording source is updated.
  </summary>
</histogram>

<histogram name="Compositing.DisplayListRecordingSource.UpdateUs"
    units="microseconds">
  <obsolete>
    Deprecated 09/2015, replaced by similar metrics under Compositing.Renderer
    and Compositing.Browser, depending on which process it occurs in.
  </obsolete>
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent updating (i.e. recording) a display list, in microseconds.
    Recorded when display list is updated.
  </summary>
</histogram>

<histogram name="Compositing.LayerTreeImpl.FindClosestMatchingLayerUs"
    units="microseconds">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent finding the closest matching layer to a given point, in
    microseconds. Recorded each time we do hit testing on LayerTreeImpl.
  </summary>
</histogram>

<histogram name="Compositing.NumActiveLayers">
  <obsolete>
    Deprecated 04/2016, replaced by similar metrics under Compositing.Renderer
    and Compositing.Browser, depending on which process it occurs in.
  </obsolete>
  <owner>dneto@chromium.org</owner>
  <summary>
    The number of layers in the active tree for each compositor frame. This is
    logged once per frame, before the frame is drawn.
  </summary>
</histogram>

<histogram name="Compositing.PictureMemoryUsageKb" units="KB">
  <obsolete>
    Deprecated 09/2015, replaced by similar metrics under Compositing.Renderer
    and Compositing.Browser, depending on which process it occurs in.
  </obsolete>
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Total estimated memory used by SkPictures in the layer tree, in kilobytes.
    Recorded once per frame, before the frame is drawn.
  </summary>
</histogram>

<histogram name="Compositing.PicturePile.UpdateInvalidatedAreaPerMs"
    units="pixels/ms">
  <obsolete>
    Deprecated 09/2015, replaced by similar metrics under Compositing.Renderer
    and Compositing.Browser, depending on which process it occurs in.
  </obsolete>
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Area of invalidated content, in pixels, divided by update (i.e. record), in
    milliseconds. Recorded when picture pile is updated.
  </summary>
</histogram>

<histogram name="Compositing.PicturePile.UpdateUs" units="microseconds">
  <obsolete>
    Deprecated 09/2015, replaced by similar metrics under Compositing.Renderer
    and Compositing.Browser, depending on which process it occurs in.
  </obsolete>
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent updating (i.e. recording) a picture pile, in microseconds.
    Recorded when picture pile is updated.
  </summary>
</histogram>

<histogram name="Compositing.RasterTask.RasterPixelsPerMs" units="pixels/ms">
  <obsolete>
    Deprecated 09/2015, replaced by similar metrics under Compositing.Renderer
    and Compositing.Browser, depending on which process it occurs in.
  </obsolete>
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Rasterized area, in pixels, divided by rasterization time, in milliseconds,
    of a compositor rasterization task. Recorded after the task finishes.
  </summary>
</histogram>

<histogram name="Compositing.RasterTask.RasterUs" units="microseconds">
  <obsolete>
    Deprecated 09/2015, replaced by similar metrics under Compositing.Renderer
    and Compositing.Browser, depending on which process it occurs in.
  </obsolete>
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent completing a compositor rasterization task, in microseconds.
    Recorded after the task finishes.
  </summary>
</histogram>

<histogram name="Compositing.Renderer.CALayerResult" enum="CALayerResult">
  <owner>ccameron@chromium.org</owner>
  <summary>
    The outcome of attempting to replace all renderer tiles with CALayers.
    Either success, or the first reason why a DrawQuad couldn't be replaced by a
    CALayer.
  </summary>
</histogram>

<histogram
    name="Compositing.Renderer.DisplayListRecordingSource.UpdateInvalidatedAreaPerMs"
    units="pixels/ms">
  <obsolete>
    Deprecated 05/2016. See Blink.Paint.UpdateTime as a related alternate
    metric.
  </obsolete>
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Area of invalidated content, in pixels, divided by update (i.e. record), in
    milliseconds. Recorded when display list recording source is updated (in a
    renderer process).
  </summary>
</histogram>

<histogram name="Compositing.Renderer.DisplayListRecordingSource.UpdateUs"
    units="microseconds">
  <obsolete>
    Deprecated 05/2016. See Blink.Paint.UpdateTime as a related alternate
    metric.
  </obsolete>
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent updating (i.e. recording) a display list, in microseconds.
    Recorded when display list is updated (in a renderer process).
  </summary>
</histogram>

<histogram base="true" name="Compositing.Renderer.LayersUpdateTime"
    units="microseconds">
  <owner>threaded-rendering@chromium.org</owner>
  <summary>
    Time spent updating layers, in microseconds. Recorded when layers are
    updated (in a renderer process).
  </summary>
</histogram>

<histogram name="Compositing.Renderer.LayerTreeImpl.CalculateDrawPropertiesUs"
    units="microseconds">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent updating layer draw properties, in microseconds. Recorded when a
    LayerTreeImpl's draw properties are updated (in a renderer process).
  </summary>
</histogram>

<histogram name="Compositing.Renderer.NumActiveLayers" units="layers">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    The number of layers in the active tree for each compositor frame. This is
    logged once per frame, before the frame is drawn (in a renderer process).
  </summary>
</histogram>

<histogram name="Compositing.Renderer.NumRenderSurfaces" units="surfaces">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    The number of render surfaces in the render surface layer list. Recorded
    each time the render surface layer list is constructed (in a renderer
    process).
  </summary>
</histogram>

<histogram name="Compositing.Renderer.PictureMemoryUsageKb" units="KB">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Total estimated memory used by SkPictures in the layer tree, in kilobytes.
    Recorded once per frame, before the frame is drawn (in a renderer process).
  </summary>
</histogram>

<histogram name="Compositing.Renderer.PicturePile.UpdateInvalidatedAreaPerMs"
    units="pixels/ms">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Area of invalidated content, in pixels, divided by update (i.e. record), in
    milliseconds. Recorded when picture pile is updated (in a renderer process).
  </summary>
</histogram>

<histogram name="Compositing.Renderer.PicturePile.UpdateUs"
    units="microseconds">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent updating (i.e. recording) a picture pile, in microseconds.
    Recorded when picture pile is updated (in a renderer process).
  </summary>
</histogram>

<histogram name="Compositing.Renderer.RasterTask.RasterPixelsPerMs"
    units="pixels/ms">
  <obsolete>
    Deprecated 11/2016. Increased the max tracking range to accomendate GPU
    raster, and will require new baskets.
  </obsolete>
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Rasterized area, in pixels, divided by rasterization time, in milliseconds,
    of a compositor rasterization task. Recorded after the task finishes (in a
    renderer process).
  </summary>
</histogram>

<histogram name="Compositing.Renderer.RasterTask.RasterPixelsPerMs2"
    units="pixels/ms">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Rasterized area, in pixels, divided by rasterization time, in milliseconds,
    of a compositor rasterization task. Recorded after the task finishes (in a
    renderer process).
  </summary>
</histogram>

<histogram name="Compositing.Renderer.RasterTask.RasterUs" units="microseconds">
  <owner>paint-dev@chromium.org</owner>
  <summary>
    Time spent completing a compositor rasterization task, in microseconds.
    Recorded after the task finishes (in a renderer process).
  </summary>
</histogram>

<histogram
    name="Compositing.Renderer.RenderPass.AppendQuadData.NumMissingTilesNoImageContent">
  <obsolete>
    Deprecated 02/2016. We'd learned as much as we could from this metric and it
    made no sense to keep it around.
  </obsolete>
  <owner>vollick@chromium.org</owner>
  <summary>
    Tracks the number of missing tiles that had some image content in the
    renderer process.
  </summary>
</histogram>

<histogram
    name="Compositing.Renderer.RenderPass.AppendQuadData.NumMissingTilesSomeImageContent">
  <obsolete>
    Deprecated 02/2016. We'd learned as much as we could from this metric and it
    made no sense to keep it around.
  </obsolete>
  <owner>vollick@chromium.org</owner>
  <summary>
    Tracks the number of missing tiles that did not have any image content in
    the renderer process.
  </summary>
</histogram>

<histogram
    name="Compositing.RenderPass.AppendQuadData.CheckerboardedNeedRasterContentArea"
    units="pixels/frame">
  <owner>weiliangc@chromium.org</owner>
  <summary>
    Checkerboarded area, in number of pixels, that has recording but does not
    have time to finish rastering yet. A sample is recorded everytime a frame is
    drawn while a scroll is in progress. Tracking bug 535732.
  </summary>
</histogram>

<histogram
    name="Compositing.RenderPass.AppendQuadData.CheckerboardedNoRecordingContentArea"
    units="pixels/frame">
  <owner>weiliangc@chromium.org</owner>
  <summary>
    Checkerboarded area, in number of pixels, that has no recording to raster
    from. A sample is recorded everytime a frame is drawn while a scroll is in
    progress. Tracking bug 535732.
  </summary>
</histogram>

<histogram name="Compositing.RenderPass.AppendQuadData.NumIncompleteTiles">
  <owner>weiliangc@chromium.org</owner>
  <summary>
    Keeps track of number of incomplete tiles in a drawn compositor frame while
    scrolling. This is a rough measurement of ugliness during user interaction.
    Incomplete tiles are non ideal scaled. A sample is recorded everytime a
    frame is drawn while a scroll is in progress. Tracking bug 381695.
  </summary>
</histogram>

<histogram name="Compositing.RenderPass.AppendQuadData.NumMissingTiles">
  <owner>weiliangc@chromium.org</owner>
  <summary>
    Keeps track of number of missing tiles in a drawn compositor frame while
    scrolling. This is a rough measurement of ugliness during user interaction.
    Incomplete tiles are checkerboard or solid color. A sample is recorded
    everytime a frame is drawn while a scroll is in progress. Tracking bug
    381695.
  </summary>
</histogram>

<histogram name="Compositing.SurfaceAggregator.AggregateUs"
    units="microseconds">
  <owner>weiliangc@chromium.org</owner>
  <summary>
    Time spent aggregating compositor frames from different surfaces in
    microseconds. This is logged once per frame.
  </summary>
</histogram>

<histogram name="Compositing.SurfaceAggregator.SurfaceDrawQuad.MissingSurface">
  <owner>kylechar@chromium.org</owner>
  <summary>
    The number of SurfaceDrawQuads where the surface doesn't exist. This is
    logged for each call to Aggregate().
  </summary>
</histogram>

<histogram name="Compositing.SurfaceAggregator.SurfaceDrawQuad.NoActiveFrame">
  <owner>kylechar@chromium.org</owner>
  <summary>
    The number of SurfaceDrawQuads where the surface exists but doesn't have an
    active CompositorFrame. This is logged for each call to Aggregate().
  </summary>
</histogram>

<histogram name="Compositing.SurfaceAggregator.SurfaceDrawQuad.ValidSurface">
  <owner>kylechar@chromium.org</owner>
  <summary>
    The number of SurfaceDrawQuads where the surface exists and has an active
    CompositorFrame. This is logged for each call to Aggregate().
  </summary>
</histogram>

<histogram name="Conflicts.ConfirmedBadModules" units="modules">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The number of confirmed bad modules found during module enumeration.
  </summary>
</histogram>

<histogram name="Conflicts.EnumerateLoadedModules" units="ms">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The length of time it takes to enumerate the loaded modules in the browser
    process.
  </summary>
</histogram>

<histogram name="Conflicts.EnumerateShellExtensions" units="ms">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The length of time it takes to enumerate the shell extensions.
  </summary>
</histogram>

<histogram name="Conflicts.EnumerateWinsockModules" units="ms">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The length of time it takes to enumerate the Winsock LSP modules.
  </summary>
</histogram>

<histogram name="Conflicts.EnumerationInspectionTime" units="ms">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The cumulative length of time it takes to inspect all modules on disk,
    extracting their certificates and version information. This work is actually
    spread out over a much longer period of time so as not to impact the user.
  </summary>
</histogram>

<histogram name="Conflicts.EnumerationTotalTime" units="ms">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The cumulative length of time it takes to enumerate and inspect all modules.
    This work is actually spread out over a much longer period of time so as not
    to impact the user.
  </summary>
</histogram>

<histogram name="Conflicts.SuspectedBadModules" units="modules">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The number of suspected bad modules found during module enumeration.
  </summary>
</histogram>

<histogram name="ConnectivityDiagnostics.ChromeOsSignalStrength" units="%">
  <owner>ebeach@google.com</owner>
  <summary>
    Connectivity Diagnostics App: WiFi signal strength recorded during
    NIC_SIGNAL_STRENGTH test.
  </summary>
  <details>
    The &quot;Strength&quot; property of a WiFi signal is a partially-reversible
    function that linearly maps the RSSI range -120dBm to -20dBm to Strength
    values from 0 to 100.
  </details>
</histogram>

<histogram name="ConnectivityDiagnostics.HTTP_LATENCY" units="ms">
  <owner>ebeach@google.com</owner>
  <summary>HTTP latency seen by the Connectivity Diagnostics.</summary>
  <details>
    HTTP latency is computed using the chrome.socket API to make an HTTP GET
    request to the /generate_204 page of three randomly generated Google
    hostnames (*-ccd-testing-v4.metric.gstatic.com). The time taken from issuing
    the HTTP request to receiving a response is clocked in JavaScript and the
    arithmetic mean of the three times is used as the HTTP latency.
  </details>
</histogram>

<histogram name="ConnectivityDiagnostics.RESOLVER_LATENCY" units="ms">
  <owner>ebeach@google.com</owner>
  <summary>Resolution latency seen by the Connectivity Diagnostics.</summary>
  <details>
    Resolver latency is computed by using the chrome.dns API to query three
    randomly generated Google hostnames (*-ccd-testing-v4.metric.gstatic.com).
    The random hostnames guarantees that there will be no caching of DNS
    hostnames. The time taken from issuing the DNS request to receiving a
    response is clocked in JavaScript and the arithmetic mean of the three times
    is used as the resolver latency.
  </details>
</histogram>

<histogram name="ConnectivityDiagnostics.TestVerdict"
    enum="ConnectivityDiagnosticsTestVerdict">
  <owner>ebeach@google.com</owner>
  <summary>
    Connectivity Diagnostics App: Outcome of the connectivity tests.
  </summary>
</histogram>

<histogram name="ConnectivityDiagnostics.TimeTaken" units="ms">
  <owner>ebeach@google.com</owner>
  <summary>
    Connectivity Diagnostics App: Amount of time taken to run each of the
    connectivity tests.
  </summary>
</histogram>

<histogram name="ContentSettings.DefaultAutoplaySetting" enum="ContentSetting">
  <owner>mlamouri@chromium.org</owner>
  <summary>The default autoplay setting at profile open.</summary>
</histogram>

<histogram name="ContentSettings.DefaultCookiesSetting" enum="ContentSetting">
  <owner>toyoshim@chromium.org</owner>
  <summary>The default cookies setting at profile open.</summary>
</histogram>

<histogram name="ContentSettings.DefaultHandlersSetting" enum="ContentSetting">
  <obsolete>
    Deprecated 07/2014 since it is not referenced anywhere in the code.
  </obsolete>
  <owner>toyoshim@chromium.org</owner>
  <summary>The default handler setting at profile open.</summary>
</histogram>

<histogram name="ContentSettings.DefaultImagesSetting" enum="ContentSetting">
  <owner>toyoshim@chromium.org</owner>
  <summary>The default image setting at profile open.</summary>
</histogram>

<histogram name="ContentSettings.DefaultJavaScriptSetting"
    enum="ContentSetting">
  <owner>toyoshim@chromium.org</owner>
  <summary>The default JavaScript setting at profile open.</summary>
</histogram>

<histogram name="ContentSettings.DefaultKeygenSetting" enum="ContentSetting">
  <obsolete>
    Support for keygen was removed.
  </obsolete>
  <owner>svaldez@chromium.org</owner>
  <summary>
    The default setting for using key generation in forms at profile open.
  </summary>
</histogram>

<histogram name="ContentSettings.DefaultLocationSetting" enum="ContentSetting">
  <owner>toyoshim@chromium.org</owner>
  <summary>The default location setting at profile open.</summary>
</histogram>

<histogram name="ContentSettings.DefaultMediaStreamCameraSetting"
    enum="ContentSetting">
  <owner>msramek@chromium.org</owner>
  <summary>The default camera setting at profile open.</summary>
</histogram>

<histogram name="ContentSettings.DefaultMediaStreamMicSetting"
    enum="ContentSetting">
  <owner>msramek@chromium.org</owner>
  <summary>The default microphone setting at profile open.</summary>
</histogram>

<histogram name="ContentSettings.DefaultMediaStreamSetting"
    enum="ContentSetting">
  <obsolete>
    This setting was deprecated in r322364 and replaced with separate settings
    for camera and microphone. See
    ContentSettings.DefaultMediaStreamCameraSetting and
    ContentSettings.DefaultMediaStreamMicSetting.
  </obsolete>
  <owner>toyoshim@chromium.org</owner>
  <owner>msramek@chromium.org</owner>
  <summary>The default MediaStream setting at profile open.</summary>
</histogram>

<histogram name="ContentSettings.DefaultMIDISysExSetting" enum="ContentSetting">
  <owner>toyoshim@chromium.org</owner>
  <summary>
    The default MIDI permission setting on sysex (system exclusive) messages at
    profile open.
  </summary>
</histogram>

<histogram name="ContentSettings.DefaultMouseCursorSetting"
    enum="ContentSetting">
  <owner>toyoshim@chromium.org</owner>
  <summary>The default mouse cursor setting at profile open.</summary>
</histogram>

<histogram name="ContentSettings.DefaultNotificationsSetting"
    enum="ContentSetting">
  <owner>toyoshim@chromium.org</owner>
  <summary>The default notification setting at profile open.</summary>
</histogram>

<histogram name="ContentSettings.DefaultPluginsSetting" enum="ContentSetting">
  <owner>toyoshim@chromium.org</owner>
  <summary>The default plugins setting at profile open.</summary>
</histogram>

<histogram name="ContentSettings.DefaultPopupsSetting" enum="ContentSetting">
  <owner>toyoshim@chromium.org</owner>
  <summary>The default popups setting at profile open.</summary>
</histogram>

<histogram name="ContentSettings.DefaultPushMessagingSetting"
    enum="ContentSetting">
  <owner>miguelg@chromium.org</owner>
  <summary>
    The default permission setting for push messages at profile open.
  </summary>
</histogram>

<histogram name="ContentSettings.DefaultWebBluetoothGuardSetting"
    enum="ContentSetting">
  <owner>jyasskin@chromium.org</owner>
  <summary>
    The default permission setting for Web Bluetooth at profile open.
  </summary>
</histogram>

<histogram name="ContentSettings.Exceptions">
  <owner>lshang@chromium.org</owner>
  <summary>
    The number of user defined content setting exceptions at browser start.
    Suffixed with the name of content setting types.
  </summary>
</histogram>

<histogram name="ContentSettings.ExceptionScheme" enum="ContentSettingScheme">
  <owner>lshang@chromium.org</owner>
  <summary>
    Records the schemes of content setting exceptions at browser start. Each
    exception provides one sample.
  </summary>
</histogram>

<histogram name="ContentSettings.ExceptionSchemeFile.HasPath"
    enum="BooleanHasPath">
  <owner>alexmos@chromium.org</owner>
  <summary>
    Records how often a content settings exception for the file: scheme has a
    non-empty path. Recorded once per exception at browser start.
  </summary>
</histogram>

<histogram name="ContentSettings.ExceptionSchemeFile.Type.WithoutPath"
    enum="ContentType">
  <owner>alexmos@chromium.org</owner>
  <summary>
    Count of how often a specific content type has a content settings exception
    defined for a file: scheme with no path (i.e., wildcard path). Recorded once
    per exception at browser start.

    Note: The values of this metric collected for Chrome 49 (early 2016) are
    innacurate and should not be trusted. crbug.com/589255.
  </summary>
</histogram>

<histogram name="ContentSettings.ExceptionSchemeFile.Type.WithPath"
    enum="ContentType">
  <owner>alexmos@chromium.org</owner>
  <summary>
    Count of how often a specific content type has a content settings exception
    defined for a file: scheme with a valid, non-empty path. Recorded once per
    exception at browser start.

    Note: The values of this metric collected for Chrome 49 (early 2016) are
    innacurate and should not be trusted. crbug.com/589255.
  </summary>
</histogram>

<histogram name="ContentSettings.LastSettingParsed" enum="LastSettingParsed">
  <obsolete>
    Deprecated 2015-10-05 in Issue 433475. Histogram was used temorarily for
    diagnosing crash causes.
  </obsolete>
  <owner>scheib@chromium.org</owner>
  <summary>
    Numer of results of parsing WebsiteSettingsHandler::last_setting_ success or
    failure in WebsiteSettingsHandler methods.
  </summary>
</histogram>

<histogram name="ContentSettings.MixedScript"
    enum="ContentSettingMixedScriptAction">
  <owner>lgarron@chromium.org</owner>
  <summary>
    Tracks whether the mixed content shield was shown, and how the user
    interacted with it.
  </summary>
</histogram>

<histogram name="ContentSettings.NumberOfAllowCookiesExceptions">
  <owner>battre@chromium.org</owner>
  <summary>
    The number of user defined cookies setting exceptions for allowing cookies
    at browser start.
  </summary>
</histogram>

<histogram name="ContentSettings.NumberOfBlockCookiesExceptions">
  <owner>battre@chromium.org</owner>
  <summary>
    The number of user defined cookies setting exceptions for blocking cookies
    at browser start.
  </summary>
</histogram>

<histogram name="ContentSettings.NumberOfExceptions">
  <owner>battre@chromium.org</owner>
  <summary>
    The number of user defined hostname patterns for content settings at browser
    start.
  </summary>
</histogram>

<histogram name="ContentSettings.NumberOfSessionOnlyCookiesExceptions">
  <owner>battre@chromium.org</owner>
  <summary>
    The number of user defined cookies setting exceptions for 'clearing cookies
    on browser exit' at browser start.
  </summary>
</histogram>

<histogram name="ContentSettings.PermissionActions" enum="PermissionAction">
  <obsolete>
    Removed 11/2015 in favor of Permissions.Action.*
  </obsolete>
  <owner>miguelg@chromium.org</owner>
  <summary>
    Tracks whether a permission was granted, rejected, etc. The suffix of the
    histogram indicates which particular permission.
  </summary>
</histogram>

<histogram name="ContentSettings.PermissionActionsInsecureOrigin"
    enum="PermissionAction">
  <obsolete>
    Removed 11/2015 in favor of Permissions.Action.InsecureOrigin.*
  </obsolete>
  <owner>miguelg@chromium.org</owner>
  <summary>
    Tracks whether a permission was granted, rejected, etc on an insecure
    origin. The suffix of the histogram indicates which particular permission.
  </summary>
</histogram>

<histogram name="ContentSettings.PermissionActionsSecureOrigin"
    enum="PermissionAction">
  <obsolete>
    Removed 11/2015 in favor of Permissions.Action.SecureOrigin.*
  </obsolete>
  <owner>miguelg@chromium.org</owner>
  <summary>
    Tracks whether a permission was granted, rejected, etc on a secure origin.
    The suffix of the histogram indicates which particular permission.
  </summary>
</histogram>

<histogram name="ContentSettings.PermissionRequested" enum="PermissionType">
  <owner>kcarattini@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <owner>miguelg@chromium.org</owner>
  <summary>
    Number of times a given permission was requested by a website 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, either use
    ContentSettings.PermissionsActions*, or Permissions.Prompt.*.

    See https://crbug.com/638076 for more details.
  </summary>
</histogram>

<histogram name="ContentSettings.PermissionRequested_InsecureOrigin"
    enum="PermissionType">
  <owner>kcarattini@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <owner>miguelg@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">
  <owner>kcarattini@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <owner>miguelg@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">
  <owner>tommycli@chromium.org</owner>
  <summary>
    Tracks whether the plugin content blocked puzzle piece was shown in the
    Omnibox, and how the user interacted with it.
  </summary>
</histogram>

<histogram name="ContentSettings.Popups" enum="ContentSettingPopupAction">
  <owner>charleszhao@chromium.org</owner>
  <summary>
    Tracks whether the popup content blocked puzzle piece was shown in the
    Omnibox, and how the user interacted with it.
  </summary>
</histogram>

<histogram name="ContextMenu.SaveLinkType" enum="ContextMenuSaveLinkType">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Type of the url when user saves the content through the save link context
    menu.
  </summary>
</histogram>

<histogram name="ContextMenu.SelectedOption" enum="ContextMenuOption">
  <owner>newt@chromium.org</owner>
  <summary>The option that the user selected from a context menu.</summary>
</histogram>

<histogram name="ContextMenu.Shown" enum="BooleanPresent">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Recorded when a context menu is shown, sliced by whether a web contents was
    present.  (It generally should be; indeed, this code path should not be
    followed when it is absent.  For instance, invoking a context menu from the
    new tab page or from the sad tab page will not cause an emission to this
    histogram.)  Note that this refers to link context menus, not the
    cut-copy-paste context menus that can appear during long presses on text on
    a web page or long presses in the omnibox.  The value of this histogram for
    &quot;present&quot; could be usefully compared with the total count of
    ContextMenu.SelectedOption to determine the clickthrough rate for context
    menus.
  </summary>
</histogram>

<histogram name="Cookie.BackingStoreUpdateResults" enum="BackingStoreResults">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Whether or not updates to the backing store succeeded or failed, recorded
    every update.
  </summary>
</histogram>

<histogram name="Cookie.BetweenAccessIntervalMinutes" units="minutes">
  <obsolete>
    Deprecated 2015-08-17 as part of cookie histogram cleanup
    (https://crbug.com/521135).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Intervals between access time updates for each cookie.</summary>
</histogram>

<histogram name="Cookie.CookieDeleteEquivalent" enum="CookieDeleteEquivalent">
  <owner>jww@chromium.org</owner>
  <summary>
    Record when at attempt is made to delete an equivalent cookie on a set
    cookie operation and when such a cookie is found and deleted. Also measure
    when strict secure cookie rules affect this outcome and prevent a cookie
    from being deleted.
  </summary>
</histogram>

<histogram name="Cookie.CookieLineCookieValueValidity" enum="BooleanValid">
  <owner>ricea@chromium.org</owner>
  <summary>
    Indicates whether a cookie initialised from a Set-Cookie header value was
    valid or not. This is only logged after cookies containing control
    characters have already been rejected, so &quot;Invalid&quot; here means
    that the cookie contains quotes, commas, backslashes or top-bit-set
    characters.
  </summary>
</histogram>

<histogram name="Cookie.CookiePrefix" enum="CookiePrefix">
  <owner>estark@chromium.org</owner>
  <summary>
    Number of times a cookie was set with a name prefixed by
    &quot;__Secure-&quot; or &quot;__Host-&quot; (prefixes reserved by
    https://tools.ietf.org/html/draft-west-cookie-prefixes).
  </summary>
</histogram>

<histogram name="Cookie.CookiePrefixBlocked" enum="CookiePrefix">
  <owner>estark@chromium.org</owner>
  <summary>
    Number of times a cookie was set with a name prefixed by
    &quot;__Secure-&quot; or &quot;__Host-&quot; that violate cookie prefix
    rules. That is, a __Secure- cookie must be set over a secure connection with
    the Secure attribute, and a __Host- cookie must be set over a secure
    connection, with the Secure attribute, with no Domain attribute, and with a
    Path attribute of &quot;/&quot;. (As defined in
    https://tools.ietf.org/html/draft-west-cookie-prefixes.)
  </summary>
</histogram>

<histogram name="Cookie.CookieSourceScheme" enum="CookieSourceScheme">
  <owner>estark@chromium.org</owner>
  <summary>
    For each cookie added to the store, record whether its source URL has a
    cryptographic scheme, broken down by Secure and not Secure.
  </summary>
</histogram>

<histogram name="Cookie.CorruptMetaTable">
  <owner>tnagel@chromium.org</owner>
  <summary>
    Records the detection of a corrupted meta table. See http://crbug.com/111376
    .
  </summary>
</histogram>

<histogram name="Cookie.CorruptMetaTableRecoveryFailed">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Records a failure to recover a corrupted meta table. See
    http://crbug.com/111376 .
  </summary>
</histogram>

<histogram name="Cookie.Count">
  <owner>battre@chromium.org</owner>
  <summary>
    Number of cookies in the store (recorded every 10 minutes of active browsing
    time)
  </summary>
</histogram>

<histogram name="Cookie.DBSizeInKB" units="KB">
  <owner>dmikurube@chromium.org</owner>
  <summary>
    The size, on disk, of the cookie database as it is being loaded.
  </summary>
</histogram>

<histogram name="Cookie.DeletionCause" enum="CookieDeletionCause">
  <owner>rdsmith@chromium.org</owner>
  <owner>ellyjones@chromium.org</owner>
  <summary>
    For each cookie removed from the store, the reason it was removed.
  </summary>
</histogram>

<histogram name="Cookie.DomainCount">
  <obsolete>
    Deprecated 2015-08-17 as part of cookie histogram cleanup
    (https://crbug.com/521135).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For each domain, number of cookies in that domain (recorded every 10 minutes
    of active browsing time).
  </summary>
</histogram>

<histogram name="Cookie.DomainPerEtldp1Count">
  <obsolete>
    Deprecated 2015-08-17 as part of cookie histogram cleanup
    (https://crbug.com/521135).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For every top level domain, number of subdomains in that top level domain
    (recorded every 10 minutes of active browsing time).
  </summary>
</histogram>

<histogram name="Cookie.Etldp1Count">
  <obsolete>
    Deprecated 2015-08-17 as part of cookie histogram cleanup
    (https://crbug.com/521135).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For every top level domain, number of cookies in that domain (recorded every
    10 minutes of active browsing time).
  </summary>
</histogram>

<histogram name="Cookie.EvictedLastAccessMinutes" units="minutes">
  <owner>rdsmith@chromium.org</owner>
  <owner>ellyjones@chromium.org</owner>
  <summary>
    For each evicted (not expired) cookie, the amount of time since it was last
    used
  </summary>
</histogram>

<histogram name="Cookie.ExpirationDurationMinutes" units="minutes">
  <owner>battre@chromium.org</owner>
  <summary>Number of minutes until cookie expires when set.</summary>
</histogram>

<histogram name="Cookie.KillDatabaseResult" enum="BooleanSuccess">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Whether killing the database because it was corrupted beyond repair
    succeeded.
  </summary>
</histogram>

<histogram name="Cookie.NumberOfLoadedCookies">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    This histogram records the total number of cookies loaded from disk,
    including any cookies that are discarded during loading (for whatever
    reason).
  </summary>
</histogram>

<histogram name="Cookie.ParsedCookieStatus" enum="ParsedCookieStatus">
  <obsolete>
    Deprecated as of 9/2013. Experiment to measure control characters in cookies
    is finished.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    When parsing a cookie, indicates if control characters were present in any
    of the cookie values and if any of the cookie values were invalid.
    Specifically, checks that all of the parsed values are valid according to
    the valid token definition in Section 2.2 of RFC2616 which specifies a token
    must have no separators (i.e. no characters from the following string,
    ignoring the starting and ending single quote: '()&lt;&gt;@,;:\&quot;/[]?={}
    \t') and no control characters.
  </summary>
</histogram>

<histogram name="Cookie.PriorityBlockingTime" units="ms">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    This histogram records the total duration of time during which at least one
    web request was blocked waiting for the cookie store to load. If no requests
    were affected, the value is 0. If two requests are simultaneously blocked
    for 1 second, the value is 1 second. If two requests are consecutively
    blocked for 1 second each, the value is two seconds.
  </summary>
</histogram>

<histogram name="Cookie.PriorityLoadCount">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The number of distinct Effective Top-Level Domains Plus One (ETLD+1, i.e.,
    google.com, bbc.co.uk) for which a priority cookie load occurred.
  </summary>
</histogram>

<histogram name="Cookie.ReinstatedCookies" units="seconds">
  <obsolete>
    Deprecated as of 8/2015.
  </obsolete>
  <owner>huangs@chromium.org</owner>
  <summary>
    The duration in seconds between a cookie getting evicted (due to the number
    of cookies exceeding a domain limit), and subsequently reinstated.
  </summary>
</histogram>

<histogram name="Cookie.SetAttributePairCharsValidity" enum="BooleanValid">
  <obsolete>
    Deprecated as of 9/2013. Experiment to measure control characters in cookies
    is finished.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Indicates whether a cookie attribute pair was set with both a valid key and
    a valid attribute value or not. For the key, this implies that it was a
    valid token as defined in Section 2.2 of RFC2616 which specifies a token
    must have no separators (i.e. no characters from the following string,
    ignoring the starting and ending single quote: '()&lt;&gt;@,;:\&quot;/[]?={}
    \t') and no control characters. For the value, this implies that it
    contained no control characters and no semicolon.
  </summary>
</histogram>

<histogram name="Cookie.SetNameValidity" enum="BooleanValid">
  <obsolete>
    Deprecated as of 9/2013. Experiment to measure control characters in cookies
    is finished.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Indicates whether a cookie name was set with a valid token. A valid token is
    defined in Section 2.2 of RFC2616 which specifies a token must have no
    separators (i.e. no characters from the following string, ignoring the
    starting and ending single quote: '()&lt;&gt;@,;:\&quot;/[]?={} \t') and no
    control characters.
  </summary>
</histogram>

<histogram name="Cookie.SetValueCookieValueValidity" enum="BooleanValid">
  <obsolete>
    Deprecated as of 9/2013. Experiment to measure control characters in cookies
    is finished.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Indicates whether a cookie value was valid or invalid when there was an
    attempt to set it, where a valid value is defined in RFC 6265 as ASCII
    characters excluding controls, whitspace, comma, semicolon, and backslash.
  </summary>
</histogram>

<histogram name="Cookie.Shutdown.NumberOfCookiesDeleted">
  <obsolete>
    Deprecated as of 9/2015. The associated experiment was flawed.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    The number of session cookies deleted on shutdown. This metric is emitted
    even if no cookies are deleted.
  </summary>
</histogram>

<histogram name="Cookie.Shutdown.TimeSpentDeletingCookies" units="ms">
  <obsolete>
    Deprecated as of 9/2015. The associated experiment was flawed.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    The amount of time required to delete session cookies on shutdown. This
    metric is emitted even if no cookies are deleted.
  </summary>
</histogram>

<histogram name="Cookie.Startup.NumberOfCookiesDeleted">
  <owner>erikchen@chromium.org</owner>
  <summary>
    The number of session cookies deleted on startup. This metric is emitted
    even if no cookies are deleted. This metric is not emitted if session
    cookies are restored, rather than deleted on startup.
  </summary>
</histogram>

<histogram name="Cookie.Startup.TimeSpentDeletingCookies" units="ms">
  <owner>erikchen@chromium.org</owner>
  <summary>
    The amount of time required to delete session cookies on startup. This
    metric is emitted even if no cookies are deleted. This metric is not emitted
    if session cookies are restored, rather than deleted on startup.
  </summary>
</histogram>

<histogram name="Cookie.TimeBlockedOnLoad" units="ms">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The amount of time (ms) between the cookie store load starting and
    completing.
  </summary>
</histogram>

<histogram name="Cookie.TimeDatabaseMigrationToV5" units="ms">
  <obsolete>
    Deprecated as of 04/2015. The migration has finished for most users.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>The amount of time (ms) to migrate a v4 database to v5.</summary>
</histogram>

<histogram name="Cookie.TimeDatabaseMigrationToV6" units="ms">
  <obsolete>
    Deprecated as of 04/2015. The migration has finished for most users.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>The amount of time (ms) to migrate a v5 database to v6.</summary>
</histogram>

<histogram name="Cookie.TimeDatabaseMigrationToV7" units="ms">
  <obsolete>
    Deprecated as of 04/2015. The migration has finished for most users.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>The amount of time (ms) to migrate a v6 database to v7.</summary>
</histogram>

<histogram name="Cookie.TimeDatabaseMigrationToV8" units="ms">
  <obsolete>
    Deprecated as of 04/2015. The migration has finished for most users.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>The amount of time (ms) to migrate a v7 database to v8.</summary>
</histogram>

<histogram name="Cookie.TimeDatabaseMigrationToV9" units="ms">
  <owner>erikchen@chromium.org</owner>
  <summary>The amount of time (ms) to migrate a v8 database to v9.</summary>
</histogram>

<histogram name="Cookie.TimeGet" units="ms">
  <obsolete>
    Deprecated as of 11/2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The amount of time (ms) to get cookies for each URL request.
  </summary>
</histogram>

<histogram name="Cookie.TimeInitializeDB" units="ms">
  <owner>nyquist@chromium.org</owner>
  <summary>The amount of time (ms) to initialize the cookies database.</summary>
</histogram>

<histogram name="Cookie.TimeInitializeDomainMap" units="ms">
  <owner>nyquist@chromium.org</owner>
  <summary>
    The amount of time (ms) to read and parse the domain map from the cookies
    database.
  </summary>
</histogram>

<histogram name="Cookie.TimeKeyLoadDBQueueWait" units="ms">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    This histogram records the wall-clock delay between a priority load task
    being posted to the DB-thread and its execution.
  </summary>
</histogram>

<histogram name="Cookie.TimeKeyLoadTotalWait" units="ms">
  <owner>erikchen@chromium.org</owner>
  <summary>
    This histogram records the the total amount of time spent fetching the
    cookies associated with an eTLD+1 from disk, including time spent waiting in
    task queues.
  </summary>
</histogram>

<histogram name="Cookie.TimeLoad" units="ms">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    This histogram records the sum of the durations of all initial tasks loading
    cookies from the database.
  </summary>
</histogram>

<histogram name="Cookie.TimeLoadDBQueueWait" units="ms">
  <owner>erikchen@chromium.org</owner>
  <summary>
    This histogram records the wall-clock delay between the Load task being
    posted to the DB-thread and its execution.
  </summary>
</histogram>

<histogram name="Cookie.TimeLoadDomains" units="ms">
  <owner>nyquist@chromium.org</owner>
  <summary>
    The amount of time (ms) to read the domain map from the cookies database.
  </summary>
</histogram>

<histogram name="Cookie.TimeParseDomains" units="ms">
  <owner>nyquist@chromium.org</owner>
  <summary>
    The amount of time (ms) to parse the domains already loaded from the cookies
    database and put them in the domain map.
  </summary>
</histogram>

<histogram name="Cookie.Type" enum="CookieType">
  <owner>mkwst@chromium.org</owner>
  <summary>For each cookie added to the store, record it's type(s).</summary>
</histogram>

<histogram name="CopylessPaste.CacheHit" enum="CopylessCacheHit">
  <owner>wychen@chromium.org</owner>
  <summary>
    The cache hit status of metadata extraction for AppIndexing.
  </summary>
</histogram>

<histogram name="CopylessPaste.ExtractionFailedUs" units="microseconds">
  <owner>wychen@chromium.org</owner>
  <summary>
    The time spent on scanning the document in the main frame to extract the
    metadata. The metadata would be used to feed Icing for CopylessPaste feature
    on Android. This only counts pages with failed or empty JSON extraction.
  </summary>
</histogram>

<histogram name="CopylessPaste.ExtractionStatus" enum="ExtractionStatus">
  <owner>wychen@chromium.org</owner>
  <summary>The error status of metadata extraction for AppIndexing.</summary>
</histogram>

<histogram name="CopylessPaste.ExtractionUs" units="microseconds">
  <owner>wychen@chromium.org</owner>
  <summary>
    The time spent on scanning the document in the main frame to extract the
    metadata. The metadata would be used to feed Icing for CopylessPaste feature
    on Android. This only counts pages with successful JSON extraction.
  </summary>
</histogram>

<histogram name="Cras.StreamTimeoutMilliSeconds" units="ms">
  <owner>hychao@chromium.org</owner>
  <summary>
    The longest additional time CRAS(Chrome OS audio server) ever waits for a
    stream exceeding the timeout threshold. This value is recorded per stream
    when it gets removed and used to investigate the audio glitch/skip problem
    on Chrome OS.
  </summary>
</histogram>

<histogram name="CrashExitCodes.Extension" enum="CrashExitCodes">
  <owner>wfh@chromium.org</owner>
  <summary>The exit codes for crashed extension processes.</summary>
</histogram>

<histogram name="CrashExitCodes.Renderer" enum="CrashExitCodes">
  <owner>wfh@chromium.org</owner>
  <summary>The exit codes for crashed renderer processes.</summary>
</histogram>

<histogram name="Crashpad.CrashReportPending" enum="CrashpadReportPending">
  <owner>crashpad-dev@chromium.org</owner>
  <summary>
    The reason that a crash report entered the upload pending state.
  </summary>
</histogram>

<histogram name="Crashpad.CrashReportSize" units="bytes">
  <owner>crashpad-dev@chromium.org</owner>
  <summary>The size of a crash report minidump on disk when captured.</summary>
</histogram>

<histogram name="Crashpad.CrashUpload.AttemptSuccessful"
    enum="CrashpadUploadAttemptStatus">
  <owner>crashpad-dev@chromium.org</owner>
  <summary>Logs whether a crash uploaded succeeded or failed.</summary>
</histogram>

<histogram name="Crashpad.CrashUpload.Skipped"
    enum="CrashpadUploadSkippedReason">
  <owner>crashpad-dev@chromium.org</owner>
  <summary>The reason that a crash report upload was skipped.</summary>
</histogram>

<histogram name="Crashpad.ExceptionCaptureResult"
    enum="CrashpadExceptionCaptureResult">
  <owner>crashpad-dev@chromium.org</owner>
  <summary>The outcome of execution of the Crashpad exception handler.</summary>
</histogram>

<histogram name="Crashpad.ExceptionCode.Mac" enum="CrashpadMacExceptionCodes">
  <owner>crashpad-dev@chromium.org</owner>
  <summary>The exception code encountered in a crash on Mac OS X.</summary>
</histogram>

<histogram name="Crashpad.ExceptionCode.Win" enum="CrashpadWinExceptionCodes">
  <owner>crashpad-dev@chromium.org</owner>
  <summary>The exception code encountered in a crash on Windows.</summary>
</histogram>

<histogram name="Crashpad.ExceptionEncountered"
    enum="CrashpadExceptionProcessingState">
  <owner>crashpad-dev@chromium.org</owner>
  <summary>
    A count of the number of exceptions handled by Crashpad with two buckets for
    starting and finishing.
  </summary>
</histogram>

<histogram name="Crashpad.HandlerCrash.ExceptionCode.Mac"
    enum="CrashpadMacExceptionCodes">
  <owner>crashpad-dev@chromium.org</owner>
  <summary>
    The exception code encountered for a crash of the crash handler process on
    Mac OS X.
  </summary>
</histogram>

<histogram name="Crashpad.HandlerCrash.ExceptionCode.Win"
    enum="CrashpadWinExceptionCodes">
  <owner>crashpad-dev@chromium.org</owner>
  <summary>
    The exception code encountered for a crash of the crash handler process on
    Windows.
  </summary>
</histogram>

<histogram name="Crashpad.HandlerLifetimeMilestone"
    enum="CrashpadLifetimeMilestone">
  <owner>crashpad-dev@chromium.org</owner>
  <summary>Handler start/crash/exit events.</summary>
</histogram>

<histogram name="CrashReport.BreakpadCrashDumpOutcome" enum="DumpOutcome">
  <obsolete>
    Deprecated as of 04/2016 as CrashPad does not implement this.
  </obsolete>
  <owner>siggi@chromium.org</owner>
  <summary>
    Reports the result of an attempt to report a crash dump via Breakpad.
    Success indicates only that the out-of-process crash reporter succesfully
    generated a dump. The success or failure of the eventual upload is not
    measured. This stability metric is logged from the first Chrome launch
    post-dump.
  </summary>
</histogram>

<histogram name="CrashReport.BreakpadDumpWithoutCrashOutcome"
    enum="DumpOutcome">
  <obsolete>
    Deprecated as of 04/2016 as CrashPad does not implement this.
  </obsolete>
  <owner>siggi@chromium.org</owner>
  <summary>
    Reports the result of an attempt to report a dump via Breakpad without
    crashing. Success indicates only that the out-of-process crash reporter
    succesfully generated a dump. The success or failure of the eventual upload
    is not measured. This stability metric is logged from the first Chrome
    launch post-dump.
  </summary>
</histogram>

<histogram name="CrashReport.CrashBackgroundUploadDelay" units="ms">
  <owner>olivierrobin@chromium.org</owner>
  <owner>pkl@chromium.org</owner>
  <summary>
    Time delta between when the crash took place and when the crash was uploaded
    by the app as a background task. Only logged on iOS.
  </summary>
</histogram>

<histogram name="CrashReport.PendingReportsOnBackgroundWakeUp">
  <owner>olivierrobin@chromium.org</owner>
  <owner>pkl@chromium.org</owner>
  <summary>
    The number of crash reports present when the app wakes up as a background
    task to upload crash reports. Only logged on iOS.
  </summary>
</histogram>

<histogram name="CrashReport.PermanentUploadFailure" enum="BooleanHit">
  <obsolete>
    Deprecated 01/2017 in Issue 680162 with the removal of Kasko.
  </obsolete>
  <owner>siggi@chromium.org</owner>
  <summary>
    Counts crash reports that the Kasko crash reporter fails to upload and hands
    off to Chrome. Kasko stores the failed reports in a location specified by
    Chrome. Chrome records this metric when it detects new minidump files in
    that location. Currently the reports are discarded, but they could
    eventually be uploaded via the Chrome network stack.
  </summary>
</histogram>

<histogram name="Cros.ClickOnShelf" enum="CrosShelfClickTarget">
  <obsolete>
    Deprecated as of 12/2013. Default pinned apps trial is finished.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Chrome OS shelf clicks.</summary>
</histogram>

<histogram name="CrosDisks.ArchiveType" enum="CrosDisksArchiveType">
  <owner>benchan@chromium.org</owner>
  <summary>
    The type of archive file that Chrome OS cros-disks daemon is requested to
    mount.
  </summary>
</histogram>

<histogram name="CrosDisks.DeviceMediaType" enum="CrosDisksDeviceMediaType">
  <owner>benchan@chromium.org</owner>
  <summary>
    The media type of removable device that Chrome OS cros-disks daemon is
    requested to mount.
  </summary>
</histogram>

<histogram name="CrosDisks.FilesystemType" enum="CrosDisksFilesystemType">
  <owner>benchan@chromium.org</owner>
  <summary>
    The type of file system that Chrome OS cros-disks daemon is requested to
    mount.
  </summary>
</histogram>

<histogram name="CrosFirstRun.DialogShown">
  <owner>alemate@chromium.org</owner>
  <summary>
    Records the number of times when first-run dialog was shown.
  </summary>
</histogram>

<histogram name="CrosFirstRun.FurthestStep">
  <owner>alemate@chromium.org</owner>
  <summary>
    Index of furthest step that was reached during tutorial. Since order of
    steps could change eventially and new steps could apear we use index here
    instead of step name.
  </summary>
</histogram>

<histogram name="CrosFirstRun.TimeSpent" units="ms">
  <owner>alemate@chromium.org</owner>
  <summary>The total time that user spent on first-run tutorial.</summary>
</histogram>

<histogram name="CrosFirstRun.TimeSpentOnStep" units="ms">
  <owner>alemate@chromium.org</owner>
  <summary>The time that user spent on some step of tutorial.</summary>
</histogram>

<histogram name="CrosFirstRun.TutorialCompletion"
    enum="CrosFirstRunTutorialCompletionType">
  <owner>alemate@chromium.org</owner>
  <summary>Tracks the way how user left tutorial.</summary>
</histogram>

<histogram name="CrosFirstRun.TutorialLaunched">
  <owner>alemate@chromium.org</owner>
  <summary>
    Records the number of times when first-run tutorial has been launched.
  </summary>
</histogram>

<histogram name="Cryptohome.ChecksumStatus" enum="CryptohomeChecksumStatus">
  <owner>dkrahn@chromium.org</owner>
  <summary>
    Checksum status of critical persistent data used by Cryptohome. This status
    is recorded every time the cryptohomed daemon reads a file.
  </summary>
</histogram>

<histogram name="Cryptohome.Errors" enum="CryptohomeError">
  <owner>dkrahn@chromium.org</owner>
  <summary>Cryptohome errors.</summary>
</histogram>

<histogram name="Cryptohome.FreedGCacheDiskSpaceInMb" units="MB">
  <owner>oka@chromium.org</owner>
  <summary>
    The amount of drive cache (MB) which was evicted by cryptohome due to
    shortage of remaining disk space.
  </summary>
</histogram>

<histogram name="Cryptohome.MigrationToGaiaId"
    enum="CryptohomeMigrationToGaiaId">
  <owner>alemate@chromium.org</owner>
  <summary>
    This is the status of cryptohome migration to GaiaId. Every time user logs
    in current migration status is recorded.
  </summary>
</histogram>

<histogram name="Cryptohome.TimeToInitPkcs11" units="ms">
  <owner>dkrahn@chromium.org</owner>
  <summary>
    The amount of time (ms) for Chrome OS cryptohome daemon to initialize the
    PKCS#11. Initializations under 1 second represent checks on a previously
    initialized PKCS#11, and should be discarded for analysis.
  </summary>
</histogram>

<histogram name="Cryptohome.TimeToMountAsync" units="ms">
  <owner>dkrahn@chromium.org</owner>
  <summary>
    The amount of time (ms) for Chrome OS cryptohome to mount the encrypted home
    directory asynchronously.
  </summary>
</histogram>

<histogram name="Cryptohome.TimeToMountGuestAsync" units="ms">
  <owner>dkrahn@chromium.org</owner>
  <summary>
    The amount of time (ms) for Chrome OS cryptohome to mount the encrypted
    guest home directory asynchronously.
  </summary>
</histogram>

<histogram name="Cryptohome.TimeToMountGuestSync" units="ms">
  <owner>dkrahn@chromium.org</owner>
  <summary>
    The amount of time (ms) for Chrome OS cryptohome to mount the encrypted
    guest home directory synchronously.
  </summary>
</histogram>

<histogram name="Cryptohome.TimeToMountSync" units="ms">
  <owner>dkrahn@chromium.org</owner>
  <summary>
    The amount of time (ms) for Chrome OS cryptohome to mount the encrypted home
    directory synchronously.
  </summary>
</histogram>

<histogram name="Cryptohome.TimeToTakeTpmOwnership" units="ms">
  <owner>dkrahn@chromium.org</owner>
  <summary>
    The amount of time (ms) for Chrome OS cryptohome daemon to take ownership of
    the TPM.
  </summary>
</histogram>

<histogram name="Cryptohome.TpmResults" enum="CryptohomeTpmResults">
  <owner>afakhry@chromium.org</owner>
  <summary>
    The errors resulting from interacting with the Trusted Platform Module (TPM)
    device.
  </summary>
</histogram>

<histogram name="CustomTabs.ClientAppId" enum="ClientAppId">
  <owner>yusufo@chromium.org</owner>
  <summary>
    Android: AppId declared by the launching application in EXTRA_APPLICATION_ID
    in a custom tab. This histogram is used as a means to count the total
    instances of custom tabs created meanwhile binning them across launching
    apps that have identified themselves.
  </summary>
</histogram>

<histogram name="CustomTabs.IntentToFirstCommitNavigationTime" units="ms">
  <obsolete>
    Deprecated 10/2016 in favor of .IntentToFirstCommitNavigationTime2.*.
  </obsolete>
  <owner>lizeb@chromium.org</owner>
  <summary>
    Time between the intent arrival in Chrome and the first navigation commit,
    if the navigation is successful. Similar in principle to
    Startup.FirstCommitNavigationTime.
  </summary>
</histogram>

<histogram name="CustomTabs.IntentToFirstCommitNavigationTime2" units="ms">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Time between the intent arrival to a Custom Tab and the first navigation
    start, if the navigation is successful. Non-&quot;Herb&quot; mode.
  </summary>
</histogram>

<histogram name="CustomTabs.IntentToFirstCommitNavigationTime3" units="ms">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Time between the intent arrival to a Custom Tab and the first navigation
    commit, if the navigation is successful. Similar in principle to
    Startup.FirstCommitNavigationTime. Non-&quot;Herb&quot; mode.
  </summary>
</histogram>

<histogram name="CustomTabs.IntentToPageLoadedTime" units="ms">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Time between the intent arrival in Chrome and the first &quot;page
    loaded&quot; event, if the navigation is successful. Non-&quot;Herb&quot;
    mode.
  </summary>
</histogram>

<histogram name="CustomTabs.MayLaunchUrlType" enum="MayLaunchUrlType">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Android only. Which flavors of mayLaunchUrl() were used before a tab launch.
    Can be low and/or high confidence. Recorded at the same time as
    CustomTabs.WarmupStateOnLaunch for the buckets &quot;Session, No Warmup,
    Warmup called from another UID&quot;, &quot;Session, No Warmup&quot; and
    &quot;Session, Warmup&quot;.
  </summary>
</histogram>

<histogram name="CustomTabs.NonDefaultSessionPrerenderMatched"
    enum="BooleanMatched">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Android: When there is a prerender for a session with non-default
    parameters, whether the prerender was matched when navigating.
  </summary>
</histogram>

<histogram name="CustomTabs.PredictionStatus" enum="PredictionStatus">
  <owner>lizeb@chromium.org</owner>
  <summary>
    For Custom Tabs, records whether mayLaunchUrl() has been called, and if so,
    whether the call was later matched by a URL launch.
  </summary>
</histogram>

<histogram name="CustomTabs.PredictionToLaunch" units="ms">
  <owner>lizeb@chromium.org</owner>
  <summary>
    When a URL prediction succeeds, time in ms between the prediction and the
    actual launch.
  </summary>
</histogram>

<histogram name="CustomTabs.PrerenderSessionUsesDefaultParameters"
    enum="BooleanDefault">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Android: When prerendering a URL for Custom Tabs, whether the client session
    uses the default parameters.
  </summary>
</histogram>

<histogram name="CustomTabs.Visible" enum="VisibleTab">
  <owner>yusufo@chromium.org</owner>
  <summary>
    Recorded only for Android. Records on every metrics upload whether the
    currently visible tab is a custom tab. The custom tab is launched by a
    client app with customized UI. Some metrics like page load time will behave
    differently for these tabs since it will be possible to warm up the browser
    process and prepare resources for specific urls ahead of time via a service
    connection. This histogram can be used to cluster these metric differently.
  </summary>
</histogram>

<histogram name="CustomTabs.WarmupStateOnLaunch" enum="WarmupStateOnLaunch">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Recorded only on Android. Reports whether warmup() has been called when a
    Custom Tabs Intent is received from an application, and if so, whether the
    call could be matched with a session.
  </summary>
</histogram>

<histogram name="CustomTabs.WebContentsStateOnLaunch" enum="WebContentsState">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Android: When a CustomTabActivity creates its Tab, whether we use a
    prerendered WebContents, a spare renderer or create a new WebContents.
  </summary>
</histogram>

<histogram name="DataReductionProxy.AutoLoFiAccuracy"
    enum="DataReductionProxyAutoLoFiAccuracy">
  <obsolete>
    Replaced by DataReductionProxy.LoFi.Accuracy.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Counts the accuracy of estimated network quality when using Lo-Fi. Counters
    are incremented when a main frame URL request is handled by Data Reduction
    Proxy and session was in Auto Lo-Fi enabled field trial.
  </summary>
</histogram>

<histogram name="DataReductionProxy.AutoLoFiRequestHeaderState"
    enum="DataReductionProxyAutoLoFiRequestHeaderState">
  <owner>tbansal@chromium.org</owner>
  <summary>
    Counts the changes in the state of Lo-Fi request header (q=low) being added
    to the Chrome proxy request header. Counters are incremented when a main
    frame URL request is handled by Data Reduction Proxy and session was in Auto
    Lo-Fi enabled field trial.
  </summary>
</histogram>

<histogram name="DataReductionProxy.BlockTypeFallback"
    enum="DataReductionProxyBypassType">
  <owner>bengr@chromium.org</owner>
  <owner>marq@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Counts various events that trigger Chrome to block the fallback
    configuration of the data reduction proxy.
  </summary>
</histogram>

<histogram name="DataReductionProxy.BlockTypePrimary"
    enum="DataReductionProxyBypassType">
  <owner>bengr@chromium.org</owner>
  <owner>marq@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Counts various events that trigger Chrome to block the primary configuration
    of the data reduction proxy.
  </summary>
</histogram>

<histogram name="DataReductionProxy.BypassedBytes" units="bytes">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Counts the response bytes that did not go through the data reduction proxy
    as the result of a bypass event.
  </summary>
</histogram>

<histogram name="DataReductionProxy.BypassedBytes.NotBypassed" units="bytes">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Counts the response bytes that went through the data reduction proxy and
    were not bypassed.
  </summary>
</histogram>

<histogram name="DataReductionProxy.BypassInfoFallback"
    enum="DataReductionProxyBypassEventType_Deprecated">
  <obsolete>
    Deprecated as of 6/2014, replaced by DataReductionProxy.BypassTypeFallback.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>marq@chromium.org</owner>
  <summary>
    Counts various events that trigger Chrome to bypass the fallback
    configuration of the data reduction proxy.
  </summary>
</histogram>

<histogram name="DataReductionProxy.BypassInfoPrimary"
    enum="DataReductionProxyBypassEventType_Deprecated">
  <obsolete>
    Deprecated as of 6/2014, replaced by DataReductionProxy.BypassTypePrimary.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>marq@chromium.org</owner>
  <summary>
    Counts various events that trigger Chrome to bypass the primary
    configuration of the data reduction proxy.
  </summary>
</histogram>

<histogram name="DataReductionProxy.BypassOnNetworkErrorFallback"
    enum="NetErrorCodes">
  <owner>bengr@chromium.org</owner>
  <summary>
    Positive net error code that caused the fallback data reduction proxy to be
    bypassed and put on the proxy retry list. Called after a failure to connect
    or resolve a host name.
  </summary>
</histogram>

<histogram name="DataReductionProxy.BypassOnNetworkErrorPrimary"
    enum="NetErrorCodes">
  <owner>bengr@chromium.org</owner>
  <summary>
    Positive net error code that caused the primary data reduction proxy to be
    bypassed and put on the proxy retry list. Called after a failure to connect
    or resolve a host name.
  </summary>
</histogram>

<histogram name="DataReductionProxy.BypassTypeFallback"
    enum="DataReductionProxyBypassType">
  <owner>bengr@chromium.org</owner>
  <owner>marq@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Counts various events that trigger Chrome to bypass the fallback
    configuration of the data reduction proxy.
  </summary>
</histogram>

<histogram name="DataReductionProxy.BypassTypePrimary"
    enum="DataReductionProxyBypassType">
  <owner>bengr@chromium.org</owner>
  <owner>marq@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Counts various events that trigger Chrome to bypass the primary
    configuration of the data reduction proxy.
  </summary>
</histogram>

<histogram name="DataReductionProxy.CaptivePortalDetected.Platform"
    enum="BooleanPresent">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records if the platform detected that a captive portal is present on the
    current network. Recorded at the time of Chrome startup and on IP change
    event. Recorded only for users that have data saver enabled.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ConfigFetchLostBytesCL">
  <obsolete>
    Removed in Feb. 2016
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <summary>
    Size of the response body. This is the actual number of bytes received,
    which usually agrees with but is not necessarily the same as the size
    specified by the Content-Length header. Only recorded if the request is sent
    while a simulated Data Reduction Proxy configuration fetch is taking place.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ConfigFetchLostBytesDiff">
  <obsolete>
    Removed in Feb. 2016
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <summary>
    The difference between the size specified in the X-Original-Content-Length
    header and the size of the response body. Only recorded if the request is
    sent while a simulated Data Reduction Proxy configuration fetch is taking
    place. Only positive values are logged, so if X-Original-Content-Length is
    not specified or if it equals or exceeds the content length, it is not
    logged.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ConfigFetchLostBytesOCL">
  <obsolete>
    Removed in Feb. 2016
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <summary>
    Size specified in the X-Original-Content-Length header. If this header is
    not present in the response, the size of the response body is used. Only
    recorded if the request is sent while a simulated Data Reduction Proxy
    configuration fetch is taking place.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ConfigService.AuthExpired"
    enum="BooleanExpired">
  <owner>bengr@chromium.org</owner>
  <summary>
    Total number of authentication required responses received from the Data
    Reduction Proxy.

    An &quot;Unexpired&quot; value is recorded every time a new client config is
    fetched and parsed successfully. An &quot;Expired&quot; value is recorded
    every time Chrome receives an authentication failure from the data saver
    proxy.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ConfigService.AuthExpiredSessionKey"
    enum="DataReductionProxyConfigServiceAuthExpiredSessionKey">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    On receiving an authentication failure from the data reduction proxy,
    records whether the session key used in the request matches the current
    session key.

    Recorded every time Chrome receives an authentication failure from the data
    saver proxy.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ConfigService.AuthFailure.LatencyPenalty"
    units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Time from when the request starts to the time when the auth failure is
    received from the data saver proxy.

    Recorded every time an auth failure is received from the data saver proxy.
  </summary>
</histogram>

<histogram
    name="DataReductionProxy.ConfigService.FetchFailedAttemptsBeforeSuccess">
  <owner>bengr@chromium.org</owner>
  <summary>
    The number of failed attempts when retrieving the configuration from the
    Data Reduction Proxy API before a successful attempt took place.

    Recorded every time a new client config is fetched and parsed successfully.
    If the device has a valid connection type but no Internet connectivity, this
    count will keep increasing.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ConfigService.FetchLatency" units="ms">
  <owner>bengr@chromium.org</owner>
  <summary>
    Time from when the Data Reduction Proxy configuration request starts until
    it completes.

    Recorded every time a new client config is fetched and parsed successfully.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ConfigService.FetchResponseCode"
    enum="HttpResponseCode">
  <owner>bengr@chromium.org</owner>
  <summary>
    Count per HttpResponseCode when attempting to retrieve the Data Reduction
    Proxy configuration from the Data Reduction Proxy API.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ConfigService.HTTPRequests"
    enum="DataReductionProxyConfigServiceHTTPRequests">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Upper bound on the count of HTTP requests that did or did not go through the
    data saver proxy.

    An HTTP request may not go through data saver proxy if the config was
    unavailable, due to local bypass rules, or due to server side bypasses. If
    data saver is turned on, this metric is recorded every time proxy is
    resolved for an HTTP request.
  </summary>
</histogram>

<histogram name="DataReductionProxy.DaysSinceEnabled" units="days">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the number of days since data reduction proxy was last enabled by
    the user. Recorded only if the data reduction proxy was last enabled since
    this metric was added to Chromium (M-56). Recorded at Chrome startup if data
    reduction proxy is already enabled, and when the user enables the data
    reduction proxy.
  </summary>
</histogram>

<histogram
    name="DataReductionProxy.DaysSinceSavingsCleared.NegativeSystemClock"
    units="days">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the number of days since the data reduction savings were cleared
    because the system clock moved back by more than 1 day. Recorded at Chrome
    startup if data reduction proxy is enabled, and if the data reduction proxy
    savings were cleared in some previous Chrome session.
  </summary>
</histogram>

<histogram name="DataReductionProxy.EnabledState"
    enum="DataReductionProxyEnabledState">
  <owner>bengr@chromium.org</owner>
  <owner>rajendrant@chromium.org</owner>
  <summary>
    Samples of user interactions with the Data Saver settings menu across all
    platforms (android, IOS, desktop extension). Data is collected whenever user
    toggles the ON/OFF switch in the settings menu for reducing data usage.

    For desktop, Off-to-On/On-to-Off histogram count will increment when the
    data saver extension is installed/uninstalled respectively as well.
  </summary>
</histogram>

<histogram name="DataReductionProxy.HeaderTamperDetectionHTTP">
  <owner>xingx@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    For each carrier, the total number of HTTP responses that have been checked
    for tampering. This assumes the data reduction proxy injected fingerprints
    have not been tampered with. Only the data reduction proxy responses with
    200 OK response code are checked.
  </summary>
</histogram>

<histogram name="DataReductionProxy.HeaderTamperDetectionHTTPS">
  <owner>xingx@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    For each carrier, the total number of HTTPS responses that have been checked
    for tampering. This assumes the data reduction proxy injected fingerprints
    have not been tampered with. Only the data reduction proxy responses with
    200 OK response code are checked.
  </summary>
</histogram>

<histogram name="DataReductionProxy.HeaderTamperDetectionPassHTTP">
  <owner>xingx@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    For each carrier, the total number of HTTP responses that passed the tamper
    detection. This assumes the data reduction proxy injected fingerprints have
    not been tampered with. Only the data reduction proxy responses with 200 OK
    response code are checked.
  </summary>
</histogram>

<histogram name="DataReductionProxy.HeaderTamperDetectionPassHTTPS">
  <owner>xingx@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    For each carrier, the total number of HTTPs responses that passed the tamper
    detection. This assumes the data reduction proxy injected fingerprints have
    not been tampered with. Only the data reduction proxy responses with 200 OK
    response code are checked.
  </summary>
</histogram>

<histogram name="DataReductionProxy.HeaderTamperedHTTP">
  <owner>xingx@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The total number of HTTP responses that some part (specified by suffix name)
    have been tampered with. This assumes the data reduction proxy injected
    fingerprints have not been tampered with. Only the data reduction proxy
    responses with 200 OK response code are checked.
  </summary>
</histogram>

<histogram name="DataReductionProxy.HeaderTamperedHTTPS">
  <owner>xingx@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The total number of HTTPS responses that some part (specified by suffix
    name) have been tampered with. This assumes the data reduction proxy
    injected fingerprints have not been tampered with. Only the data reduction
    proxy responses with 200 OK response code are checked.
  </summary>
</histogram>

<histogram name="DataReductionProxy.HistoricalDataUsageLoadTime" units="ms">
  <owner>kundaji@chromium.org</owner>
  <summary>
    Time taken to load historical data usage from Level DB into memory. This UMA
    is reported each time the method to load historical data usage is called,
    which happens when user views data usage history.
  </summary>
</histogram>

<histogram name="DataReductionProxy.LevelDBOpenStatus"
    enum="DataReductionProxyStoreStatus">
  <owner>kundaji@chromium.org</owner>
  <summary>Status of calling Open() on Data Reduction Proxy LevelDB.</summary>
</histogram>

<histogram name="DataReductionProxy.LevelDBSize" units="KB">
  <owner>kundaji@chromium.org</owner>
  <summary>Size of Data Reduction Proxy LevelDB measured at startup.</summary>
</histogram>

<histogram name="DataReductionProxy.LoFi.Accuracy"
    enum="DataReductionProxyAutoLoFiAccuracy">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Records the accuracy of estimated network quality when using Lo-Fi. Network
    quality predicted at the time of navigation start is compared with the
    network quality observed during the specified time interval following the
    start of the navigation. This metric is recorded only when the session is in
    Lo-Fi enabled field trial.
  </summary>
</histogram>

<histogram name="DataReductionProxy.LoFi.ImplicitOptOutAction"
    enum="DataReductionProxyLoFiImplicitOptOutAction">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Counts of Lo-Fi implicit opt out actions. If the user chooses to &quot;Load
    image&quot; for k pages in a session, LoFi is disabled for the remainder of
    that session. If Lo-Fi is disabled for j consecutive sessions, Lo-Fi is
    disabled for that user until the next implicit opt out epoch, which may be
    in a later session, or never. k and j default to 3 and are assigned via the
    DataReductionProxyLoFi field trial.
  </summary>
</histogram>

<histogram name="DataReductionProxy.LoFi.SessionState"
    enum="DataReductionProxyLoFiSessionState">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Tracks Lo-Fi usage at the granularity of browser sessions. Counts for each
    session if Lo-Fi was used or not. In the case where Lo-Fi was not used,
    records if it was because the network quality was always good or because the
    user had implicitly opted out. The session where a user permanently opts out
    is counted in the Lo-Fi used bucket.
  </summary>
</histogram>

<histogram name="DataReductionProxy.LoFi.TransformationType"
    enum="DataReductionProxyLoFiTransformationType">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Counts of pageloads that received or requested, but did not receive, various
    Lo-Fi lite page transformations. Recorded when a lite page is requested or
    received through Data compression proxy.
  </summary>
</histogram>

<histogram name="DataReductionProxy.LoFi.UIAction"
    enum="DataReductionProxyLoFiUIAction">
  <obsolete>
    Deprecated as of 9/2016, replaced by Previews.ContextMenuAction.LoFi.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    User interactions with the Lo-Fi snackbar and context menu option. These
    include:

    Displays and clicks on the &quot;Load images&quot; snackbar. Displays and
    clicks on the &quot;Load image&quot; and &quot;Load images&quot;context menu
    options. Count of pages where the user has clicked &quot;Load image&quot; at
    least once.
  </summary>
</histogram>

<histogram name="DataReductionProxy.MissingViaHeader.Bytes" units="bytes">
  <owner>bengr@chromium.org</owner>
  <owner>sclittle@chromium.org</owner>
  <summary>
    Counts the response bytes of responses that Chrome expected to come through
    a data reduction proxy and have the data reduction proxy via header, but
    where the data reduction proxy via header was missing. Note that this does
    not include responses that were bypassed.
  </summary>
</histogram>

<histogram name="DataReductionProxy.MissingViaHeader.ResponseCode">
  <owner>bengr@chromium.org</owner>
  <owner>sclittle@chromium.org</owner>
  <summary>
    Counts the different HTTP response codes of responses that Chrome expected
    to come through a data reduction proxy and have the data reduction proxy via
    header, but where the data reduction proxy via header was missing.
  </summary>
</histogram>

<histogram name="DataReductionProxy.NetworkChangeEvents"
    enum="DataReductionProxyNetworkChangeEvent">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Counts the number of times various events occur when the data reduction
    proxy is enabled and the IP address of the client changes.
  </summary>
</histogram>

<histogram name="DataReductionProxy.Pingback.Attempted" enum="BooleanAttempted">
  <owner>bengr@chromium.org</owner>
  <owner>ryansturm@chromium.org</owner>
  <summary>
    Counts the number of times that pageload metrics were queued to be attempted
    or not queued based on the reporting fraction. Recorded once per pageload.
  </summary>
</histogram>

<histogram name="DataReductionProxy.Pingback.Succeeded" enum="BooleanSuccess">
  <owner>bengr@chromium.org</owner>
  <owner>ryansturm@chromium.org</owner>
  <summary>
    Counts the number of times that a batched pingback request succeeded or
    failed at being sent to the server. Recorded everytime a pingback request is
    attempted.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ProbeURL"
    enum="DataReductionProxyProbeURLFetchResult">
  <owner>bengr@chromium.org</owner>
  <owner>marq@chromium.org</owner>
  <summary>
    Counts various outcomes of requesting the data reduction proxy's probe URL.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ProbeURLNetError" enum="NetErrorCodes">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Reports the type of network error when the data reduction proxy probe fails
    due to a network error.
  </summary>
</histogram>

<histogram name="DataReductionProxy.PromoAction"
    enum="DataReductionProxyPromoAction">
  <obsolete>
    Deprecated as of 3/2015, replaced by DataReductionProxy.UIAction.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>marq@chromium.org</owner>
  <summary>
    Samples which method was used by the user to dismiss the proxy promo. This
    is sampled when the promo leaves view, with the sampled value depending on
    which of four possible controls the user used.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ProxyPrefMigrationResult"
    enum="DataReductionProxyProxyPrefMigrationResult">
  <owner>sclittle@chromium.org</owner>
  <summary>
    Records the result of migrating the Data Reduction Proxy away from being
    configured via a proxy preference, including cases when no migration action
    was taken.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ProxySchemeUsed"
    enum="DataReductionProxyProxySchemeUsed">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the scheme of the data reduction proxy server. Recorded for every
    request that is fetched successfully through a data reduction proxy server.
  </summary>
</histogram>

<histogram name="DataReductionProxy.Quic.DefaultAlternativeProxy"
    enum="DataReductionProxyQuicDefaultAlternativeProxy">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Status of the availability of valid alternative data reduction proxy
    servers. This metric is recorded only when data reduction proxy delegate is
    queried for the value of the supported alternative proxy server.
  </summary>
</histogram>

<histogram name="DataReductionProxy.Quic.OnAlternativeProxyBroken"
    units="count">
  <owner>tbansal@chromium.org</owner>
  <summary>
    Number of times an alternative QUIC proxy was marked as broken.
  </summary>
</histogram>

<histogram name="DataReductionProxy.Quic.ProxyStatus"
    enum="DataReductionProxyQuicProxyStatus">
  <owner>tbansal@chromium.org</owner>
  <summary>
    Records the result of the attempt to use a data reduction proxy that
    supports QUIC. The metric is logged for every request for which the resolved
    proxy is a data reduction HTTPS proxy.
  </summary>
</histogram>

<histogram name="DataReductionProxy.RequestCompletionErrorCodes"
    enum="NetErrorCodes">
  <obsolete>
    Deprecated in 2/2016, since it didn't get recorded for many kinds of error
    codes when it should have been recorded, and
    Net.HttpRequestCompletionErrorCodes is a good enough replacement when
    filtering for clients with the Data Reduction Proxy enabled.
  </obsolete>
  <owner>sclittle@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Reports the different network errors that requests that try to use the data
    reduction proxy are completing with, including OK and ABORTED.
  </summary>
</histogram>

<histogram name="DataReductionProxy.RequestCompletionErrorCodes.MainFrame"
    enum="NetErrorCodes">
  <obsolete>
    Deprecated in 2/2016, since it didn't get recorded for many kinds of error
    codes when it should have been recorded, and
    Net.HttpRequestCompletionErrorCodes is a good enough replacement when
    filtering for clients with the Data Reduction Proxy enabled.
  </obsolete>
  <owner>sclittle@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Reports the different network errors that main frame resource requests that
    try to use the data reduction proxy are completing with, including OK and
    ABORTED.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ResourceContentType"
    enum="DataReductionProxyResourceContentType">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Content type of the resource determined by data reduction proxy. Used for
    determining the data reduction proxy that should be used for fetching the
    resource. Logged once per resource for only the resources that are eligible
    for fetching by data reduction proxies.
  </summary>
</histogram>

<histogram name="DataReductionProxy.ResponseProxyServerStatus"
    enum="DataReductionProxyResponseProxyServerStatus">
  <owner>sclittle@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Reports the state of the proxy server field in the response seen by the Data
    Reduction Proxy bypass logic.
  </summary>
</histogram>

<histogram name="DataReductionProxy.SavingsCleared.NegativeSystemClock"
    enum="BooleanCleared">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records if the data reduction savings were cleared because the system clock
    moved back by more than 1 day. Recorded at Chrome startup if the data
    reduction proxy is enabled.
  </summary>
</histogram>

<histogram name="DataReductionProxy.SecureProxyCheck.Latency" units="ms">
  <owner>bengr@chromium.org</owner>
  <summary>
    Time from when the Data Reduction Proxy secure proxy check starts until it
    completes.
  </summary>
</histogram>

<histogram name="DataReductionProxy.SettingsConversion"
    enum="DataReductionProxySettingsConversion">
  <obsolete>
    Deprecated as of 3/2015, replaced by DataReductionProxy.UIAction.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>marq@chromium.org</owner>
  <summary>
    Samples of user interactions with the ON/OFF switch in the settings menu for
    reducing data usage. Only the setting changes between entering the reducing
    data usage setting menu and leaving the menu will be sampled. So if a user
    enters the menu with OFF and leaves it with OFF, it is counted as one OFF to
    OFF conversion regardless of how many times they toggle the ON/OFF switch.
  </summary>
</histogram>

<histogram name="DataReductionProxy.SnackbarPromo.DataSavings" units="MB">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Logs the data savings in MB of the data reduction proxy snackbar promo that
    was shown. The snackbar promo shows the user the amount of data Chrome has
    saved them using Data Saver.
  </summary>
</histogram>

<histogram name="DataReductionProxy.StartupState"
    enum="DataReductionProxyStartupState">
  <owner>bengr@chromium.org</owner>
  <owner>marq@chromium.org</owner>
  <summary>
    Samples of the state of the data reduction proxy on Chrome startup. The
    proxy will either be unavailable (the feature hasn't been rolled out to this
    user yet), not enabled (the feature is available but the user doesn't have
    it turned on), or enabled (the feature is enabled and turned on).
  </summary>
</histogram>

<histogram name="DataReductionProxy.SuccessfulRequestCompletionCounts"
    units="count">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Count of the number of requests that were successfully fetched via data
    reduction proxy. The bucket represents the index of the data reduction proxy
    in the data reduction proxy list.
  </summary>
</histogram>

<histogram
    name="DataReductionProxy.SuccessfulRequestCompletionCounts.MainFrame"
    units="count">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Count of the number of main frame requests that were successfully fetched
    via data reduction proxy. The bucket represents the index of the data
    reduction proxy in the data reduction proxy list.
  </summary>
</histogram>

<histogram name="DataReductionProxy.TimeToFirstDataSaverRequest" units="ms">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the time duration between the data saver initialization and the
    first HTTP request that is resolved through the data saver proxy. On IP
    address changes, time duration between the IP address change event and the
    next subsequent HTTP request that resolves through the data saver proxy is
    recorded.
  </summary>
</histogram>

<histogram name="DataReductionProxy.UIAction" enum="DataReductionProxyUIAction">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Samples of user interactions with the Data Reduction Proxy promos, First Run
    Experience, and settings menu. All samples are mutually exclusive. These
    samples include:

    The user interactions with the second run promo. On Android, there are three
    actions that dismiss this promo (enable, dismiss, and learn more) and on iOS
    there is a toggle to enable the proxy. This is sampled when the promo leaves
    view. If the user clicks the link to the settings menu, the state of the
    ON/OFF switch in the menu is sampled when the view is exited.

    Any other user interaction with the the ON/OFF switch in the settings menu
    for reducing data usage. Only the setting changes between entering the
    reducing data usage setting menu and leaving the menu will be sampled
    regardless of how many times they toggle the ON/OFF switch. Other samples
    that report ON/OFF settings menu changes are not also reported here.

    The user interactions with the First Run Experience. On Android when the
    user sees the FRE card, the Data Reduction Proxy defaults to ON. The user
    can disable the proxy via a switch on the card. The state of the proxy is
    sampled when the First Run Experience is completed and only reported if the
    Data Reduction Proxy card was shown.

    The user interactions with the Infobar promo. On Android, there are two
    actions that dismiss the promo (enable, dismiss). This is sampled when the
    promo leaves view.

    The user interactions with the Snackbar promo. The user can either ignore
    the promo or click the action to the Settings menu. From the settings menu,
    the user may enable or disable the proxy.
  </summary>
</histogram>

<histogram name="DataReductionProxy.UserViewedOriginalSize" units="KB">
  <owner>tbansal@chromium.org</owner>
  <summary>
    The total original content size displayed to the user. Computed over the
    last 30 days. Recorded when the user views the data savings in the UI.
  </summary>
</histogram>

<histogram name="DataReductionProxy.UserViewedSavingsPercent" units="%">
  <owner>tbansal@chromium.org</owner>
  <summary>
    The percentage of data savings displayed to users. Computed over the last 30
    days. Recorded when the user views the data savings in the UI.
  </summary>
</histogram>

<histogram name="DataReductionProxy.UserViewedSavingsSize" units="KB">
  <owner>tbansal@chromium.org</owner>
  <summary>
    The total data saved displayed to the user. Computed over the last 30 days.
    Recorded when the user views the data savings in the UI.
  </summary>
</histogram>

<histogram name="DataReductionProxy.WarmupURL.FetchInitiated" units="count">
  <owner>tbansal@chromium.org</owner>
  <summary>
    Number of times the data reduction proxy warm up URL was fetched.
  </summary>
</histogram>

<histogram name="DataReductionProxy.WarmupURL.FetchSuccessful"
    enum="BooleanSuccess">
  <owner>tbansal@chromium.org</owner>
  <summary>Whether the warm up URL was fetched succesfully.</summary>
</histogram>

<histogram name="DataUsage.MatchingRulesCount.Invalid" units="count">
  <owner>bengr@chromium.org</owner>
  <owner>rajendrant@chromium.org</owner>
  <summary>
    The number of invalid matching rules fetched from the platform external data
    use observer. A sample is recorded everytime fetch done callback is called.
  </summary>
</histogram>

<histogram name="DataUsage.MatchingRulesCount.Valid" units="count">
  <owner>bengr@chromium.org</owner>
  <owner>rajendrant@chromium.org</owner>
  <summary>
    The number of valid matching rules fetched from the platform external data
    use observer. A sample is recorded everytime fetch done callback is called.
  </summary>
</histogram>

<histogram name="DataUsage.PageLoadSequence" units="Count">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the sequence number of the page load within a data usage tracking
    session. Logged for each navigation in the tracking session.
  </summary>
</histogram>

<histogram name="DataUsage.Perf.MatchingRuleFirstFetchDuration" units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>rajendrant@chromium.org</owner>
  <summary>
    The time taken in milliseconds to fetch the matching rules for the first
    time from the platform external data use observer. This measures the
    duration from the start time of Chromium to the time the rules are returned
    asynchronously. A sample is recorded when the first fetch done callback is
    called.
  </summary>
</histogram>

<histogram name="DataUsage.Perf.ReportSubmissionDuration" units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>rajendrant@chromium.org</owner>
  <summary>
    The time taken in milliseconds to submit the data use reports to the
    platform external data use observer. This measures the duration from the
    time of report submission to the time report submission done asynchronous
    callback is received. A sample is recorded everytime report submission done
    callback is received.
  </summary>
</histogram>

<histogram name="DataUsage.Perf.URLRegexMatchDuration" units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>rajendrant@chromium.org</owner>
  <summary>
    The time taken in milliseconds for a regular expression to parse an URL. A
    sample is recorded evertime regular expression parsing is done for an URL.
  </summary>
</histogram>

<histogram name="DataUsage.ReportSubmission.Bytes" units="bytes">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Count of bytes in the data use reports that were intended to be submitted to
    the platform external data use observer.
  </summary>
</histogram>

<histogram name="DataUsage.ReportSubmissionResult"
    enum="DataUsageReportSubmissionResult">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>Result of data usage report submission.</summary>
</histogram>

<histogram name="DataUsage.TabModel.ExpiredActiveTabEntryRemovalDuration"
    units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>rajendrant@chromium.org</owner>
  <summary>
    The duration from the start time of a tab entry's latest data usage tracking
    session, till when the entry is expired and removed from the tab model. This
    is for tab entries that are still actively tracking data usage for a
    Chromium tab.

    Tab model maintains the tab entries, each pertaining to tracking sessions of
    a single Chromium tab. These entries are considered expired after some
    duration and can be removed from the tab model after that. The sample is
    taken when an expired tab entry still tracking data usage is removed from
    the tab model.
  </summary>
</histogram>

<histogram name="DataUsage.TabModel.ExpiredInactiveTabEntryRemovalDuration"
    units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>rajendrant@chromium.org</owner>
  <summary>
    The duration from the end time of a tab entry's latest data usage tracking
    session, till when the entry is expired and removed from the tab model. This
    is for tab entries that are not actively tracking data usage for a Chromium
    tab.

    Tab model maintains the tab entries, each pertaining to tracking sessions of
    a single Chromium tab. These entries are considered expired after some
    duration and can be removed from the tab model after that. The sample is
    taken when an expired inactive tab entry is removed from the tab model.
  </summary>
</histogram>

<histogram name="DataUsage.TabModel.OldInactiveSessionRemovalDuration"
    units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>rajendrant@chromium.org</owner>
  <summary>
    The duration from the end time of a data usage tracking session, till when
    the tracking session is removed from the tab model. This is for old tracking
    sessions that are not actively tracking data usage.

    Tab model maintains a limited number of tracking sessions per Chromium tab.
    When this limit is reached oldest inactive tracking sessions are removed.
    The sample is taken when an old inactive tracking session of a tab is
    removed from the tab model.
  </summary>
</histogram>

<histogram name="DataUsage.TabModel.TrackingSessionLifetime" units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>rajendrant@chromium.org</owner>
  <summary>
    The lifetime of a data usage tracking session of a Chromium tab, maintained
    by the tab model. This is the duration between the time tracking started due
    to an entry event and ended with an exit event. The sample is taken when the
    data usage tracking session ends.
  </summary>
</histogram>

<histogram name="DataUsage.TabModel.UnexpiredTabEntryRemovalDuration"
    units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>rajendrant@chromium.org</owner>
  <summary>
    The duration from the end time (start time, if still active) of a tab
    entry's latest data usage tracking session, till when the entry is removed
    from the tab model. This is for tab entries that are not expired yet, and
    removed from the tab model.

    Tab model maintains a limited number of entries, each pertaining to tracking
    sessions of a single Chromium tab. When this limit is reached even after
    removing expired tab entries, then oldest unexpired tab entries are removed.
    The sample is taken when an unexpired tab entry is removed from the tab
    model.
  </summary>
</histogram>

<histogram name="DataUsage.TrackingSessionEndReason"
    enum="DataUsageTrackingSessionEndReason">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The reason for ending the data usage tracking session. Logged when the
    tracking session ends.
  </summary>
</histogram>

<histogram name="DataUsage.TrackingSessionStartReason"
    enum="DataUsageTrackingSessionStartReason">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The reason for starting the data usage tracking session. Logged when the
    tracking session was started.
  </summary>
</histogram>

<histogram name="DataUsage.UIAction" enum="DataUsageUIAction">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    Samples of user interactions with the Data Use snackbar and dialog. These
    samples include:

    Displays of the snackbar that indicates the start of data use tracking and
    clicks on its &quot;More&quot; button. Displays of snackbar that indicates
    the end of data use tracking and clicks on its &quot;More&quot; button.
    Displays of the dialog that indicates the end of data use tracking and the
    user interactions with it, which include: clicking &quot;Continue&quot;,
    clicking &quot;Cancel&quot;, clicking &quot;Learn more&quot;, and opting out
    of seeing the dialog. If the user opts out of seeing the dialog, they will
    see the snackbar that indicates the end of data use tracking from then on.
  </summary>
</histogram>

<histogram name="DataUse.AllServices.Background" enum="DataUseServices">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The total background data use of Chrome's services broken down by service
    name. It is logged only in Android when the URLRequest of a service
    completes.
  </summary>
</histogram>

<histogram name="DataUse.AppTabState" units="bytes">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the data use of Chrome user traffic by the foregound vs. background
    state of the app and tab.
  </summary>
</histogram>

<histogram name="DataUse.BackgroundToDataRecievedPerByte" units="ms">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The time since Chrome is in background when background data use happens.
    Recorded for each byte of background data use. The source of traffic whether
    from user browsing or chrome services is added as suffix to this histogram.
  </summary>
</histogram>

<histogram name="DataUse.BackgroundToFirstDownstream" units="ms">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The time since Chrome is in background when first background data use
    happens. Recorded when first background downstream data use after Chrome is
    in background. The source of traffic whether from user browsing or chrome
    services is added as suffix to this histogram.
  </summary>
</histogram>

<histogram name="DataUse.BytesReceived" units="bytes">
  <owner>tbansal@chromium.org</owner>
  <summary>Count of total bytes received by the Chrome on the network.</summary>
</histogram>

<histogram name="DataUse.BytesSent" units="bytes">
  <owner>tbansal@chromium.org</owner>
  <summary>Count of total bytes sent by the Chrome on the network.</summary>
</histogram>

<histogram name="DataUse.ContentType.Services" enum="DataUseContentType"
    units="bytes">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Data use of Chrome services traffic by different content types. Recorded
    when network bytes are received by Chrome.
  </summary>
</histogram>

<histogram name="DataUse.ContentType.UserTraffic" enum="DataUseContentType"
    units="bytes">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Data use of user traffic by different content types. Recorded when network
    bytes are received by Chrome.
  </summary>
</histogram>

<histogram name="DataUse.FavIcon.Downstream" units="bytes">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the downstream network data use of favicon requests. Logged when the
    request is completed or redirected. Zero bytes are recorded when the request
    is served from cache.
  </summary>
</histogram>

<histogram name="DataUse.FavIcon.Downstream.Non200Response" units="bytes">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the downstream network data use of favicon requests with non 200
    response code. Logged when the request is completed or redirected.
  </summary>
</histogram>

<histogram name="DataUse.MessageSize" units="bytes">
  <owner>amohammadkhan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The request and response size of the messages exchanged by a service. It is
    logged when the URLRequest of a service is completed. The service name is
    added as a suffix to this histogram name.
  </summary>
</histogram>

<histogram name="DataUse.MessageSize.AllServices" enum="DataUseServices">
  <owner>amohammadkhan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The request and response size of the messages exchanged by all the services.
    Whenever a URLRequest of a service is completed, the number of exchanged
    bytes is logged in this histogram. The buckets in this histogram are
    services, so it makes it possible to compare the use of different services
    in different conditions. Different conditions are added as suffixes to this
    histogram. If the OS is not Android all the requests are considered
    foreground.
  </summary>
</histogram>

<histogram name="DataUse.PageTransition.UserTraffic"
    enum="DataUsePageTransition" units="bytes">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Data use of user traffic by different core page transition types. Recorded
    when the URL request finishes.
  </summary>
</histogram>

<histogram name="DataUse.Sync.Download.Bytes" enum="SyncModelTypes">
  <owner>amohammadkhan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Number of downloaded bytes of different data types in Sync service for
    received updates. It is updated when an update message is received from sync
    server.
  </summary>
</histogram>

<histogram name="DataUse.Sync.Download.Count" enum="SyncModelTypes">
  <owner>amohammadkhan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Number of downloaded entities of different data types in Sync service for
    received updates. It is updated when an update message is received from sync
    server.
  </summary>
</histogram>

<histogram name="DataUse.Sync.ProgressMarker.Bytes" enum="SyncModelTypes">
  <owner>amohammadkhan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Number of downloaded bytes of ProgressMarker of different data types in Sync
    service for received updates. It is updated when an update message is
    received from sync server.
  </summary>
</histogram>

<histogram name="DataUse.Sync.Upload.Bytes" enum="SyncModelTypes">
  <owner>amohammadkhan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Number of uploaded bytes of different data types in Sync service for sent
    commits. Updated when a commit message is sent to sync server.
  </summary>
</histogram>

<histogram name="DataUse.Sync.Upload.Count" enum="SyncModelTypes">
  <owner>amohammadkhan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Number of uploaded entities of different data types in Sync service for sent
    commits. Updated when a commit message is sent to sync server.
  </summary>
</histogram>

<histogram name="DataUse.TrafficSize.System" units="bytes">
  <owner>amohammadkhan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The total data use of Chrome's services. There is no ResourceRequestInfo
    attached to these requests. If the OS is not Android all the requests are
    considered foreground.
  </summary>
</histogram>

<histogram name="DataUse.TrafficSize.User" units="bytes">
  <owner>amohammadkhan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The total amount of data use of Chrome for user traffic. This traffic has
    content::ResourceRequestInfo attached to its request. If the OS is not
    Android all the requests are considered foreground.
  </summary>
</histogram>

<histogram name="DefaultBrowser.ActivateSettings.ErrorHresult" enum="Hresult">
  <owner>pmonette@chromium.org</owner>
  <owner>grt@chromium.org</owner>
  <summary>
    The HRESULT from ActivateApplication when opening the Win10+ settings page
    fails.
  </summary>
</histogram>

<histogram name="DefaultBrowser.AsyncSetAsDefault.Duration" units="ms">
  <obsolete>
    Deprecated 2015/11. Renamed to DefaultBrowser.SetDefaultAsyncDuration.
  </obsolete>
  <owner>pmonette@chromium.org</owner>
  <summary>
    How long it took to set Chrome as the default browser asynchronously in
    Windows 10+. The duration is recorded only on Success, Failure, Abandoned
    and Retry result codes.
  </summary>
</histogram>

<histogram name="DefaultBrowser.AsyncSetAsDefault.Result"
    enum="DefaultBrowserAsyncAttemptResult">
  <obsolete>
    Deprecated 2015/11. Renamed to DefaultBrowser.SetDefaultResult.
  </obsolete>
  <owner>pmonette@chromium.org</owner>
  <summary>
    The count of how many times users were successfully able to set Chrome as
    the default browser asynchronously in Windows 10+.
  </summary>
</histogram>

<histogram name="DefaultBrowser.InfoBar.UserInteraction"
    enum="DefaultBrowserInfoBarUserInteraction">
  <owner>pmonette@chromium.org</owner>
  <summary>
    Possible user interactions with the default browser info bar.
  </summary>
</histogram>

<histogram name="DefaultBrowser.InteractionResult"
    enum="MakeChromeDefaultResult">
  <owner>gab@chromium.org</owner>
  <summary>
    Results of interaction with set-as-default dialog in Win8+ first run flow.
  </summary>
</histogram>

<histogram name="DefaultBrowser.SetDefaultAsyncDuration" units="ms">
  <obsolete>
    Deprecated 2016/03. The async set-as-default experiments are finished.
  </obsolete>
  <owner>pmonette@chromium.org</owner>
  <summary>
    How long it took to set Chrome as the default browser asynchronously in
    Windows 10+. The duration is recorded only on Success, Failure, Abandoned,
    Retry and NoErrorsNotDefault result codes.
  </summary>
</histogram>

<histogram name="DefaultBrowser.SetDefaultResult"
    enum="SetDefaultAttemptResult">
  <obsolete>
    Deprecated 2016/03.
  </obsolete>
  <owner>pmonette@chromium.org</owner>
  <summary>
    The outcome of an attempt to set Chrome as the user's default browser.
  </summary>
</histogram>

<histogram name="DefaultBrowser.SetDefaultResult2" enum="DefaultWebClientState">
  <owner>pmonette@chromium.org</owner>
  <summary>
    The outcome of an attempt to set Chrome as the user's default browser.
  </summary>
</histogram>

<histogram name="DefaultBrowser.SettingsInteraction.ConcludeReason"
    enum="SettingsInteractionConcludeReason">
  <owner>pmonette@chromium.org</owner>
  <summary>
    The reason why the default browser settings interaction concluded on Windows
    10.
  </summary>
</histogram>

<histogram name="DefaultBrowser.SettingsInteraction.RegistryWatcherDuration"
    units="ms">
  <owner>pmonette@chromium.org</owner>
  <summary>
    The registry keys for the default browser protocols (http/https) are
    monitored to know when the user finished interacting with the system
    settings. This is how long it took for the last registry watcher to get
    signaled.
  </summary>
</histogram>

<histogram name="DefaultBrowser.State" enum="DefaultBrowserState">
  <owner>gab@chromium.org</owner>
  <summary>Whether Chrome was the default browser when it started up.</summary>
</histogram>

<histogram name="DefaultBrowserWarning.DontSetAsDefault" enum="BooleanHit">
  <obsolete>
    Deprecated 2015/11. The same information is available as the value Failure
    in DefaultBrowser.SetDefaultResult.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    In the make-default infobar, the user explicitly declined to set Chrome as
    default. Or, on OSes requiring the SetAsDefaultUI, the user explicitly chose
    another browser as default from the interactive UI. TODO(gab): Split the
    interactive signal into a separate histogram.
  </summary>
</histogram>

<histogram name="DefaultBrowserWarning.Ignored" enum="BooleanHit">
  <obsolete>
    Deprecated 2015/11. Renamed to DefaultBrowser.InfoBar.UserInteraction.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    The user ignored the make-default infobar (it was eventually dismissed along
    with its associated web content without the user interacting with it).
  </summary>
</histogram>

<histogram name="DefaultBrowserWarning.SetAsDefault" enum="BooleanHit">
  <obsolete>
    Deprecated 2015/11. Renamed to DefaultBrowser.Infobar.UserInteraction. There
    is no longer a distinction between interactive or not.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    In the make-default infobar, the user clicked a button making Chrome the
    default.
  </summary>
</histogram>

<histogram name="DefaultBrowserWarning.SetAsDefaultUI" enum="BooleanHit">
  <obsolete>
    Deprecated 2015/11. Renamed to DefaultBrowser.Infobar.UserInteraction. There
    is no longer a distinction between interactive or not.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Same as SetAsDefault, but in Win8+ (resulting in interactive UI instead of
    automatic takeover). Successes == these reports minus reports for
    DefaultBrowserWarning.SetAsDefaultUIFailed and some
    DefaultBrowserWarning.DontSetAsDefault. TODO(gab): Improve reporting here.
  </summary>
</histogram>

<histogram name="DefaultBrowserWarning.SetAsDefaultUIFailed" enum="BooleanHit">
  <obsolete>
    Deprecated 2015/11. The same information is available as the value Failure
    in DefaultBrowser.SetDefaultResult.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    The user dismissed the interactive SetAsDefaultUI without making an explicit
    choice (or the UI failed to come up for another reason).
  </summary>
</histogram>

<histogram name="DefaultProtocolClient.SetDefaultResult"
    enum="SetDefaultAttemptResult">
  <obsolete>
    Deprecated 2016/03.
  </obsolete>
  <owner>pmonette@chromium.org</owner>
  <summary>
    The outcome of an attempt to set Chrome as the user's default client for a
    protocol.
  </summary>
</histogram>

<histogram name="DefaultProtocolClient.SetDefaultResult2"
    enum="DefaultWebClientState">
  <owner>pmonette@chromium.org</owner>
  <summary>
    The outcome of an attempt to set Chrome as the user's default client for a
    protocol.
  </summary>
</histogram>

<histogram name="DelayNavigationThrottle.Delay.Actual" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    The actual delay added to main frame navigations by DelayNavigationThrottle.
  </summary>
</histogram>

<histogram name="DelayNavigationThrottle.Delay.Delta" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    The absolute delta between the specified and actual delays added to main
    frame navigations by DelayNavigationThrottle.
  </summary>
</histogram>

<histogram name="DelayNavigationThrottle.Delay.Specified" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    The specified delay added to main frame navigations by
    DelayNavigationThrottle.
  </summary>
</histogram>

<histogram name="DesktopIOSPromotion.DismissalReason"
    enum="DesktopIOSPromotionDismissalReason">
  <owner>mrefaat@chromium.org</owner>
  <summary>
    The dimissal reason of the desktop to iOS promotion entry point.
    DismissalReason will be prefixed by the entry point promotion name that the
    user interacted with.
  </summary>
</histogram>

<histogram name="DesktopIOSPromotion.ImpressionFromEntryPoint"
    enum="DesktopIOSPromotionEntryPoint">
  <owner>mrefaat@chromium.org</owner>
  <summary>
    The type of the desktop to iOS promotion that was shown to the user. This
    will be logged every time the user sees the desktop to iOS promotion.
  </summary>
</histogram>

<histogram name="DesktopIOSPromotion.IOSSigninReason"
    enum="DesktopIOSPromotionEntryPoint">
  <owner>mrefaat@chromium.org</owner>
  <summary>
    [IOS] For users who sign-in on Chrome for iOS, log the type of the desktop
    iOS promotions that was shown to the user. Only recorded if the user has
    seen at least one desktop iOS promotion in the last 7 days and is signing
    into chrome on iOS. The last promotion entry point that sent an SMS (if any)
    is logged as DesktopIOSPromotion.SMSSent.IOSSigninReason; all other
    promotions that the user has seen are logged as
    DesktopIOSPromotion.NoSMS.IOSSigninReason.
  </summary>
</histogram>

<histogram name="DesktopIOSPromotion.OAuthTokenCompletion"
    enum="BooleanSuccess">
  <owner>justincohen@chromium.org</owner>
  <summary>
    Whether getting the OAuth token was successful for a desktop to iOS
    promotion query.
  </summary>
</histogram>

<histogram name="DesktopIOSPromotion.OAuthTokenResponseCode"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>justincohen@chromium.org</owner>
  <summary>
    HTTP Response code returned by the server when trying to fetch the OAuth
    token for a desktop ios promotion query.
  </summary>
</histogram>

<histogram name="DesktopIOSPromotion.QueryPhoneNumberSucceeded"
    enum="BooleanSuccess">
  <owner>mrefaat@chromium.org</owner>
  <summary>
    Whether the SMS service api called from the desktop to iOS promotion
    returned a phone number or failed. This phone number is presented to the
    user so they know that Chrome will send the SMS to this number.
  </summary>
</histogram>

<histogram name="DesktopIOSPromotion.SendSMSSucceeded" enum="BooleanSuccess">
  <owner>mrefaat@chromium.org</owner>
  <summary>
    Whether the SMS service api initiated SMS sending successfully from the
    desktop to iOS promotion.
  </summary>
</histogram>

<histogram name="DesktopIOSPromotion.SMSToSigninTime" units="hours">
  <owner>mrefaat@chromium.org</owner>
  <summary>
    [IOS] The difference between the client time of triggering the SMS action on
    a specific entry point promotion on desktop and client time of signing in
    Chrome iOS app. This will only be logged if at least one promotion was shown
    to the user on the last 7 days and if at least one SMS was sent. If multiple
    SMSs were sent (at any time), it uses the time from the most recently sent
    one. If the  is negative due to bad clock on one of the clients it will be
    logged as 0. SMSToSigninTime will be prefixed by the entry point promotion
    name that was responsible for the SMS sending.
  </summary>
</histogram>

<histogram base="true" name="DesktopIOSPromotion.VariationSigninReason">
  <owner>mrefaat@chromium.org</owner>
  <summary>
    [IOS] For users who sign-in on Chrome for iOS, log which variation of the
    desktop iOS promotions was shown to the user. The variation number is a
    unique identifier that is set for each group on the DesktopIOSPromotion
    study, and will be only recorded if the user has seen at least one desktop
    iOS promotion in the last 7 days and is signing into Chrome on iOS. The last
    variation that sent an SMS (if any) is logged as
    DesktopIOSPromotion.SMSSent.VariationSigninReason. If no SMS was sent, then
    the last variation the user has seen is logged as
    DesktopIOSPromotion.NoSMS.VariationSigninReason.
  </summary>
</histogram>

<histogram name="DevTools.ActionTaken" enum="DevToolsAction">
  <owner>alph@chromium.org</owner>
  <owner>pfeldman@chromium.org</owner>
  <summary>Specified DevTools action has been taken.</summary>
</histogram>

<histogram name="DevTools.InspectElement" units="ms">
  <owner>alph@chromium.org</owner>
  <owner>pfeldman@chromium.org</owner>
  <summary>
    Time to load Developer Tools when user clicks Inspect Element in the context
    menu.
  </summary>
</histogram>

<histogram name="DevTools.PanelShown" enum="DevToolsPanel">
  <owner>alph@chromium.org</owner>
  <owner>pfeldman@chromium.org</owner>
  <summary>Specified DevTools panel was shown.</summary>
</histogram>

<histogram name="DevTools.SettingChanged" enum="DevToolsSetting">
  <owner>alph@chromium.org</owner>
  <owner>pfeldman@chromium.org</owner>
  <summary>Specified DevTools setting was changed.</summary>
</histogram>

<histogram name="Diagnostics.Recovery.ConflictingDlls" enum="DiagnosticsResult">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    TBD - Not run automatically yet, so this is just a placeholder for future
    metrics collection.  Any samples collected here represent users running
    diagnostics manually.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.DiskSpace" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the DiskSpace recovery step that runs
    on recovery startups.  The recovery step attempts to guarantee the DiskSpace
    test, which checks that the disk space in the volume where the user data
    directory normally lives is not dangerously low, would pass on the next
    startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.InstallType" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    TBD - Not run automatically yet, so this is just a placeholder for future
    metrics collection.  Any samples collected here represent users running
    diagnostics manually.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.JSONBookmarks" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the JSONBookmarks recovery step that
    runs on recovery startups. The recovery step attempts to guarantee the
    JSONBookmarks test, which makes sure that the JSON-encoded Bookmarks file is
    properly formed, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.JSONLocalState" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the JSONLocalState recovery step that
    runs on recovery startups. The recovery step attempts to guarantee the
    JSONLocalState test, which makes sure that the JSON-encoded Local State file
    is properly formed, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.JSONPreferences" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the JSONPreferences recovery step
    that runs on recovery startups. The recovery step attempts to guarantee the
    JSONPreferences test, which makes sure that the JSON-encoded Preferences
    file is properly formed, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.OperatingSystem" enum="DiagnosticsResult">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    TBD - Not run automatically yet, so this is just a placeholder for future
    metrics collection.  Any samples collected here represent users running
    diagnostics manually.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.PathDictionaries"
    enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the PathDictionaries recovery step
    that runs on recovery startups. The recovery step attempts to guarantee the
    PathDictionaries test, which makes sure that the path to the Dictionaries
    directory exists and has the right permissions, would pass on the next
    startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.PathLocalState" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the PathLocalState recovery step that
    runs on recovery startups. The recovery step attempts to guarantee the
    PathLocalState test, which makes sure that the path to the Local State file
    exists and has the right permissions, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.PathResources" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the PathResources recovery step that
    runs on recovery startups. The recovery step attempts to guarantee the
    PathResources test, which makes sure that the path to the Resources
    directory exists and has the right permissions, would pass on the next
    startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.PathUserData" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the PathUserData recovery step that
    runs on recovery startups. The recovery step attempts to guarantee the
    PathUserData test, which makes sure that the path to the User Data directory
    exists and has the right permissions, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.SQLiteIntegrityAppCache"
    enum="DiagnosticsResult">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityAppCache recovery
    step that runs on recovery startups.  The recovery step attempts to
    guarantee the SQLiteIntegrityAppCache test, which checks the integrity of
    the App Cache database, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.SQLiteIntegrityArchivedHistory"
    enum="DiagnosticsResult">
  <obsolete>
    Removed as of Jun 2014: we no longer have an archived database.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityArchivedHistory
    recovery step that runs on recovery startups. The recovery step attempts to
    guarantee the SQLiteIntegrityArchivedHistory test, which checks the
    integrity of the Archived History database, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.SQLiteIntegrityCookie"
    enum="DiagnosticsResult">
  <owner>shess@chromium.org</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityCookie recovery
    step that runs on recovery startups.  The recovery step attempts to
    guarantee the SQLiteIntegrityCookie test, which checks the integrity of the
    Cookie database, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.SQLiteIntegrityDatabaseTracker"
    enum="DiagnosticsResult">
  <owner>shess@chromium.org</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityDatabaseTracker
    recovery step that runs on recovery startups.  The recovery step attempts to
    guarantee the SQLiteIntegrityDatabaseTracker test, which checks the
    integrity of the Database Tracker database, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.SQLiteIntegrityFavicons"
    enum="DiagnosticsResult">
  <owner>shess@chromium.org</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityFavicons recovery
    step that runs on recovery startups.  The recovery step attempts to
    guarantee the SQLiteIntegrityFavicons test, which checks the integrity of
    the Favicons database, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.SQLiteIntegrityHistory"
    enum="DiagnosticsResult">
  <owner>shess@chromium.org</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityHistory recovery
    step that runs on recovery startups.  The recovery step attempts to
    guarantee the SQLiteIntegrityHistory test, which checks the integrity of the
    History database, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.SQLiteIntegrityNSSCert"
    enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityNSSCert recovery
    step that runs on recovery startups.  The recovery step attempts to
    guarantee the SQLiteIntegrityNSSCert test, which checks the integrity of the
    NSS Certificate database, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.SQLiteIntegrityNSSKey"
    enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityNSSKey recovery
    step that runs on recovery startups.  The recovery step attempts to
    guarantee the SQLiteIntegrityNSSKey test, which checks the integrity of the
    NSS Key database, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.SQLiteIntegrityThumbnails"
    enum="DiagnosticsResult">
  <obsolete>
    Deprecated 05/2016 in Issue 617226; has not been valid for many years.
  </obsolete>
  <owner>shess@chromium.org</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityThumbnails
    recovery step that runs on recovery startups.  The recovery step attempts to
    guarantee the SQLiteIntegrityThumbnails test, which checks the integrity of
    the Thumbnails database, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.SQLiteIntegrityTopSites"
    enum="DiagnosticsResult">
  <owner>shess@chromium.org</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityTopSites recovery
    step that runs on recovery startups.  The recovery step attempts to
    guarantee the SQLiteIntegrityTopSites test, which checks the integrity of
    the TopSites database, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.SQLiteIntegrityWebData"
    enum="DiagnosticsResult">
  <owner>shess@chromium.org</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityWebData recovery
    step that runs on recovery startups.  The recovery step attempts to
    guarantee the SQLiteIntegrityWebData test, which checks the integrity of the
    Web Data database, would pass on the next startup.
  </summary>
</histogram>

<histogram name="Diagnostics.Recovery.Version" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    TBD - Not run automatically yet, so this is just a placeholder for future
    metrics collection.  Any samples collected here represent users running
    diagnostics manually.
  </summary>
</histogram>

<histogram name="Diagnostics.RecoveryRun" enum="DiagnosticsRecoveryRun">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Count of the number of times diagnostics recovery is invoked or not, and how
    it was invoked.  A sample is added to this histogram once for each startup
    of Chrome.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.ConflictingDlls" enum="DiagnosticsResult">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    TBD - Not run automatically yet, so this is just a placeholder for future
    metrics collection.  Any samples collected here represent users running
    diagnostics manually.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.DiskSpace" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of diagnostics for the DiskSpace test
    that runs on recovery startups.  The DiskSpace test checks that the disk
    space in the volume where the user data directory normally lives is not
    dangerously low.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.InstallType" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    TBD - Not run automatically yet, so this is just a placeholder for future
    metrics collection.  Any samples collected here represent users running
    diagnostics manually.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.JSONBookmarks" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of diagnostics for the JSONBookmarks
    test that runs on recovery startups.  The JSONBookmarks test checks to make
    sure that the JSON encoded bookmarks file is properly formed.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.JSONLocalState" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of diagnostics for the JSONLocalState
    test that runs on recovery startups.  The JSONLocalState test checks to make
    sure that the JSON encoded Local State file is properly formed.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.JSONPreferences" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of diagnostics for the JSONPreferences
    test that runs on recovery startups.  The JSONPreferences test checks to
    make sure that the Preferences file is properly formed.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.OperatingSystem" enum="DiagnosticsResult">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    TBD - Not run automatically yet, so this is just a placeholder for future
    metrics collection.  Any samples collected here represent users running
    diagnostics manually.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.PathDictionaries" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of diagnostics for the PathDictionaries
    test that runs on recovery startups.  The PathDictionaries test checks makes
    sure that the path to the Dictionaries folder exists and has the right
    permissions.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.PathLocalState" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of diagnostics for the PathLocalState
    test that runs on recovery startups.   The PathLocalState test checks makes
    sure that the path to the Local State folder exists and has the right
    permissions.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.PathResources" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of diagnostics for the PathResources
    test that runs on recovery startups.  The PathResources test checks makes
    sure that the path to the Resources folder exists and has the right
    permissions.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.PathUserData" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of diagnostics for the PathUserData test
    that runs on recovery startups. The PathUserData test checks makes sure that
    the path to the User Data folder exists and has the right permissions.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.SQLiteIntegrityAppCache"
    enum="DiagnosticsResult">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityAppCache test that
    runs on recovery startups.  The test checks the integrity of the App Cache
    database.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.SQLiteIntegrityArchivedHistory"
    enum="DiagnosticsResult">
  <obsolete>
    Removed as of Jun 2014: we no longer have an archived database.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityArchivedHistory
    test that runs on recovery startups.  The test checks the integrity of the
    Archived History database.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.SQLiteIntegrityCookie"
    enum="DiagnosticsResult">
  <owner>shess@chromium.org</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityCookie test that
    runs on recovery startups.  The test checks the integrity of the Cookie
    database.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.SQLiteIntegrityDatabaseTracker"
    enum="DiagnosticsResult">
  <owner>shess@chromium.org</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityDatabaseTracker
    test that runs on recovery startups.  The test checks the integrity of the
    Database Tracker database.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.SQLiteIntegrityFavicons"
    enum="DiagnosticsResult">
  <owner>shess@chromium.org</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityFavicons test that
    runs on recovery startups.  The test checks the integrity of the Favicons
    database.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.SQLiteIntegrityHistory"
    enum="DiagnosticsResult">
  <owner>shess@chromium.org</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityHistory test that
    runs on recovery startups.  The test checks the integrity of the History
    database.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.SQLiteIntegrityNSSCert"
    enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityNSSCert test that
    runs on recovery startups.  The test checks the integrity of the NSS
    Certificate database.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.SQLiteIntegrityNSSKey"
    enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityNSSKey test that
    runs on recovery startups.  The test checks the integrity of the NSS Key
    database.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.SQLiteIntegrityThumbnails"
    enum="DiagnosticsResult">
  <obsolete>
    Deprecated 05/2016 in Issue 617226; has not been valid for many years.
  </obsolete>
  <owner>shess@chromium.org</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityThumbnails test
    that runs on recovery startups.  The test checks the integrity of the
    Thumbnails database.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.SQLiteIntegrityTopSites"
    enum="DiagnosticsResult">
  <owner>shess@chromium.org</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityTopSites test that
    runs on recovery startups.  The test checks the integrity of the TopSites
    database.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.SQLiteIntegrityWebData"
    enum="DiagnosticsResult">
  <owner>shess@chromium.org</owner>
  <summary>
    Shows the success and failure rates of the SQLiteIntegrityWebData test that
    runs on recovery startups.  The test checks the integrity of the Web Data
    database.
  </summary>
</histogram>

<histogram name="Diagnostics.Test.Version" enum="DiagnosticsResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    TBD - Not run automatically yet, so this is just a placeholder for future
    metrics collection.  Any samples collected here represent users running
    diagnostics manually.
  </summary>
</histogram>

<histogram name="Diagnostics.TestFailures" enum="DiagnosticsTestName">
  <owner>shess@chromium.org</owner>
  <summary>
    Histogram comparing the various types of diagnostic test failures when
    diagnostic tests are run.  Note that some types of test failures cause the
    rest of the tests to be skipped.
  </summary>
</histogram>

<histogram name="Dialog.Creation" enum="DialogName">
  <owner>pdyson@chromium.org</owner>
  <summary>
    Counts the number times various types of dialog boxes are created.
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.BuildCache.File.Size" units="KB">
  <owner>shrikant@chromium.org</owner>
  <summary>
    Reports size of font cache file. This is reported every time we rebuild font
    cache.
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.BuildCache.Ignored">
  <owner>shrikant@chromium.org</owner>
  <summary>
    Reports the total number of fonts that will be ignored while building static
    font cache due to size limitation. During cache building phase if our logic
    suggests that we need to put more than 70% of font file contents into cache
    file then we don't cache that particular font file. These ignored font files
    are directly picked up from system fonts folder during Direct Write cache
    building process. Our end goal is to minimize costly open and close
    operations on font files in system folder.
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.Ignored">
  <owner>shrikant@chromium.org</owner>
  <summary>
    Reports the total number of fonts that will be ignored while loading a
    custom font collection. With current criteria fonts that are not in
    system-font location will be ignored.
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.Loaded">
  <owner>shrikant@chromium.org</owner>
  <summary>
    Reports the total number of fonts to be loaded through a custom font
    collection. This actually reports total font entries from registry excluding
    font entries that point to non-system location.
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.LoadTime" units="ms">
  <owner>shrikant@chromium.org</owner>
  <summary>
    Measures the total time spent in loading a custom font collection in
    non-cache-file mode. We load system fonts as a custom font collection to
    avoid any interaction with windows font cache service from sandboxed
    renderer process. Please note that windows font cache services is different
    from our cache file approach (later referred here as cache-file mode).
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.LoadTime.Cached" units="ms">
  <owner>shrikant@chromium.org</owner>
  <summary>
    Measures the total time spent in loading a custom font collection in
    cache-file mode. We load system fonts as a custom font collection to avoid
    any interaction with windows font cache service from sandboxed renderer
    process. Please note that windows font cache services is different from our
    cache file approach (later referred here as cache-file mode)
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.Proxy.CreateFontFaceResult" enum="Hresult">
  <owner>kulshin@chromium.org</owner>
  <summary>Records the error returned from CreateFontFace.</summary>
</histogram>

<histogram name="DirectWrite.Fonts.Proxy.Fallback.CacheSize" units="Count">
  <owner>kulshin@chromium.org</owner>
  <summary>Records how many font families are in the fallback cache.</summary>
</histogram>

<histogram name="DirectWrite.Fonts.Proxy.FallbackResult"
    enum="DirectWriteFontFallbackResult">
  <owner>kulshin@chromium.org</owner>
  <summary>
    Measures the effectiveness of the font fallback proxy. This tracks if we
    were able to find a suitable font to render the character, and whether an
    IPC was necessary.
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.Proxy.FamilyCount" units="families">
  <owner>kulshin@chromium.org</owner>
  <summary>
    The number of font families as seen by the font proxy in the renderer.
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.Proxy.FontProxyError"
    enum="DirectWriteFontProxyError">
  <owner>kulshin@chromium.org</owner>
  <summary>
    The errors encountered by the DirectWrite font proxy while loading fonts.
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.Proxy.GetSystemFontCollectionResult"
    enum="Hresult">
  <owner>kulshin@chromium.org</owner>
  <summary>Records the error returned from GetSystemFontCollection.</summary>
</histogram>

<histogram name="DirectWrite.Fonts.Proxy.LastResortFontCount" units="fonts">
  <owner>kulshin@chromium.org</owner>
  <summary>
    The number of last resort fallback fonts found on the system as seen by the
    browser.
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.Proxy.LastResortFontFileCount" units="files">
  <owner>kulshin@chromium.org</owner>
  <summary>
    The number of font files found for a last resort fallback font.
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.Proxy.LoaderType"
    enum="DirectWriteFontLoaderType">
  <owner>kulshin@chromium.org</owner>
  <summary>
    The codepath that was used to load a font family. This is logged in the
    browser every time a renderer attempts to load a font family, once per font
    file.
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.Proxy.LoadFamilyResult"
    enum="DirectWriteLoadFamilyResult">
  <owner>kulshin@chromium.org</owner>
  <summary>
    The outcome of attempting to load a font family in the renderer (success vs
    failure and number of families). This is logged in the renderer once per
    family that is loaded.
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.Proxy.LoadFamilyTime" units="ms">
  <owner>kulshin@chromium.org</owner>
  <summary>
    The time taken to load a font family, excluding glyph data. This is logged
    in the renderer once per family that is loaded.
  </summary>
</histogram>

<histogram name="DirectWrite.Fonts.Proxy.MessageFilterError"
    enum="DirectWriteMessageFilterError">
  <owner>kulshin@chromium.org</owner>
  <summary>
    Errors, if any, encountered by the DirectWrite font proxy message filter.
  </summary>
</histogram>

<histogram name="DisabledExtension.ExtensionWipedStatus" enum="BooleanWiped">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Whether an extension has been wiped out.</summary>
</histogram>

<histogram name="DisabledExtension.SideloadWipeoutCount">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    How many external extensions get wiped out as a result of the Sideload
    Wipeout one-time initiative.
  </summary>
</histogram>

<histogram name="DisabledExtension.SideloadWipeoutNeeded" enum="BooleanSuccess">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Whether any extension got wiped out as a result of the Sideload Wipeout
    one-time initiative.
  </summary>
</histogram>

<histogram name="DisabledExtension.UserSelection" enum="SideloadWipeoutBubble">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The user selection in the Sideload Wipeout bubble, grouped by the
    UmaWipeoutHistogramOptions enum.
  </summary>
</histogram>

<histogram name="DiskBasedCertCache.CertIo" enum="CertificateChainPosition">
  <obsolete>
    Deprecated as of 01/2016. CertCacheTrial has been removed.
    https://crbug.com/522312
  </obsolete>
  <owner>brandonsalmon@chromium.org</owner>
  <summary>
    Records information about DiskBasedCertCache operations with respect to
    certificate chain positions. Zero indicates that a certificate is root, one
    indicates that it is the first intermediate certificate, etc.
  </summary>
</histogram>

<histogram name="DiskBasedCertCache.CertIoCacheResult" enum="CacheResult">
  <obsolete>
    Deprecated as of 01/2016. CertCacheTrial has been removed.
    https://crbug.com/522312
  </obsolete>
  <owner>brandonsalmon@chromium.org</owner>
  <summary>
    Records the outcome of requests to retrieve certificates from the disk
    cache.
  </summary>
</histogram>

<histogram name="DiskBasedCertCache.CertIoReadSuccessLeaf"
    enum="BooleanSuccess">
  <obsolete>
    Deprecated as of 01/2016. CertCacheTrial has been removed.
    https://crbug.com/522312
  </obsolete>
  <owner>brandonsalmon@chromium.org</owner>
  <summary>
    Whether or not the leaf certificate of a certificate chain was successfuly
    read from the disk cache.
  </summary>
</histogram>

<histogram name="DiskBasedCertCache.CertIoWriteSuccessLeaf"
    enum="BooleanSuccess">
  <obsolete>
    Deprecated as of 01/2016. CertCacheTrial has been removed.
    https://crbug.com/522312
  </obsolete>
  <owner>brandonsalmon@chromium.org</owner>
  <summary>
    Whether or not the leaf certificate of a certificate chain was successfully
    written to the disk cache.
  </summary>
</histogram>

<histogram name="DiskBasedCertCache.ChainReadTime" units="ms">
  <obsolete>
    Deprecated as of 01/2016. CertCacheTrial has been removed.
    https://crbug.com/522312
  </obsolete>
  <owner>brandonsalmon@chromium.org</owner>
  <summary>
    Measures the wall clock time spent reading a certificate chain. The starting
    time is when the read command is issued, and the ending time is when all of
    the  certificates in the chain have been read into memory.
  </summary>
</histogram>

<histogram name="DiskBasedCertCache.ChainWriteTime" units="ms">
  <obsolete>
    Deprecated as of 01/2016. CertCacheTrial has been removed.
    https://crbug.com/522312
  </obsolete>
  <owner>brandonsalmon@chromium.org</owner>
  <summary>
    Measures the wall clock time spent writing a certificate chain to disk. The
    starting time is when the write command is issued, and the ending time is
    when all the certificates in the chain have been written to disk.
  </summary>
</histogram>

<histogram name="DiskCache.0.FilesAge" units="hours">
  <owner>rvargas@chromium.org</owner>
  <summary>The age of the cache's files (wall time).</summary>
</histogram>

<histogram name="DiskCache.2.FilesAge" units="hours">
  <owner>rvargas@chromium.org</owner>
  <summary>
    The age of the cache's files (wall time). Media-specific cache.
  </summary>
</histogram>

<histogram name="DiskCache.3.FilesAge" units="hours">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The age of the cache's files (wall time). AppCache.</summary>
</histogram>

<histogram name="DiskCache.4.FilesAge" units="hours">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The age of the cache's files (wall time). ShaderCache.</summary>
</histogram>

<histogram name="DiskCache.SizeStats2" units="KB">
  <owner>rvargas@chromium.org</owner>
  <summary>The size distribution of data stored in the HTTP cache.</summary>
</histogram>

<histogram name="DiskCache.TotalIOTime" units="ms">
  <obsolete>
    Deprecated.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The total time it takes to perform a payload IO operation, for the regular
    disk cache.
  </summary>
</histogram>

<histogram name="DNS.AttemptCancelled">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The attempt which completed after the job was already cancelled.
  </summary>
</histogram>

<histogram name="DNS.AttemptDiscarded">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The attempt which completed after the job was already cancelled OR the
    attempt that has finished after host resolution was already completed by an
    earlier attempt.
  </summary>
</histogram>

<histogram name="DNS.AttemptFailDuration" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken in OS resolutions for actual navigations. These
    attempts which completed after the job was already canceled OR after the job
    was already completed by an earlier attempt. Note that cached resolutions
    may provide low (0ms?) resolution times.
  </summary>
</histogram>

<histogram name="DNS.AttemptFailure">
  <owner>juliatuttle@chromium.org</owner>
  <summary>The attempt that has not resolved the host successfully.</summary>
</histogram>

<histogram name="DNS.AttemptFirstFailure">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The attempt that resolved the host first and the resolution was not
    successful.
  </summary>
</histogram>

<histogram name="DNS.AttemptFirstSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The attempt that resolved the host first and the resolution was successful.
  </summary>
</histogram>

<histogram name="DNS.AttemptSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>The attempt that has resolved the host successfully.</summary>
</histogram>

<histogram name="DNS.AttemptSuccessDuration" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken in OS resolutions that succeeded and were requested
    for actual navigations. These attempts which completed after the job was
    already canceled OR after the job was already completed by an earlier
    attempt. Note that cached resolutions may provide low (0ms?) resolution
    times.
  </summary>
</histogram>

<histogram name="DNS.AttemptTimeSavedByRetry" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    This histogram shows the time saved by having spawned an extra attempt, when
    the first attempt didn't finish before retry attempt.
  </summary>
</histogram>

<histogram name="DNS.CacheEvicted" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The time left to expiration of an entry when it is removed while compacting
    the HostCache.
  </summary>
</histogram>

<histogram name="DNS.CacheExpired" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The time since expiration of an entry when it is removed while compacting
    the HostCache.
  </summary>
</histogram>

<histogram name="DNS.CacheExpiredOnGet" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The time since expiration of an entry when it is removed on lookup.
  </summary>
</histogram>

<histogram name="DNS.EmptyAddressListAndNoError"
    enum="DNSEmptyAddressListAndNoError">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Error status when an empty address list was found in OnLookupComplete().
  </summary>
</histogram>

<histogram name="DNS.HostCache.Erase" enum="DNS.HostCache.EraseReason">
  <owner>juliatuttle@chromium.org</owner>
  <summary>The reason for erasing a DNS entry from the host cache.</summary>
</histogram>

<histogram name="DNS.HostCache.EraseStale.ExpiredBy" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When erasing a stale (expired or old-network) DNS entry from the host cache,
    how long past the expiration time it is.
  </summary>
</histogram>

<histogram name="DNS.HostCache.EraseStale.NetworkChanges" units="changes">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When erasing a stale (expired or old-network) DNS entry from the host cache
    how many network changes happened between setting and erasing it.
  </summary>
</histogram>

<histogram name="DNS.HostCache.EraseStale.StaleHits" units="hits">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When erasing a stale (expired or old-network) DNS entry from the host cache
    how many hits it received while stale.
  </summary>
</histogram>

<histogram name="DNS.HostCache.EraseValid.ValidFor" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When erasing a valid DNS entry from the host cache, for how much longer it
    would have remained valid.
  </summary>
</histogram>

<histogram name="DNS.HostCache.Lookup" enum="DNS.HostCache.LookupOutcome">
  <owner>juliatuttle@chromium.org</owner>
  <summary>The outcome of looking up a DNS entry in the host cache.</summary>
</histogram>

<histogram name="DNS.HostCache.LookupStale.ExpiredBy" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When looking up a stale DNS entry in the host cache, how long past the
    expiration time it is.
  </summary>
</histogram>

<histogram name="DNS.HostCache.LookupStale.NetworkChanges" units="changes">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When looking up a stale DNS entry in the host cache, how many network
    changes happened between setting it and looking it up.
  </summary>
</histogram>

<histogram name="DNS.HostCache.Set" enum="DNS.HostCache.SetOutcome">
  <owner>juliatuttle@chromium.org</owner>
  <summary>The outcome of setting a DNS entry in the host cache.</summary>
</histogram>

<histogram name="DNS.HostCache.UpdateStale.AddressListDelta"
    enum="DNS.AddressListDeltaType">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When updating a stale (expired or old-network) DNS entry in the host cache,
    and both results are successful, how the address list differs between the
    old and new entries.
  </summary>
</histogram>

<histogram name="DNS.HostCache.UpdateStale.ExpiredBy" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When updating a stale (expired or old-network) DNS entry in the host cache,
    how long past the expiration time the old entry was.
  </summary>
</histogram>

<histogram name="DNS.HostCache.UpdateStale.NetworkChanges" units="changes">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When updating a stale (expired or old-nework) DNS entry in the host cache,
    how many network changes happened between setting the old entry and setting
    the new entry.
  </summary>
</histogram>

<histogram name="DNS.HostCache.UpdateStale.StaleHits" units="hits">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The number of hits received to an updated stale DNS entry in the host cache
    while it was stale.
  </summary>
</histogram>

<histogram name="DNS.IndependentFailedNavigation" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When either a pre-resolution was not done recently enough to provide
    benefit, or the corresponding pre-resolution is still pending, this
    histogram shows the duration of time used to resolve a hostname as not
    existing during a failed attempt to navigate to (GET) a URL.  In newer
    versions, if the hostname has never been found as a link during a page scan,
    and it has a referring URL, then it is added to referrer list data structure
    (hoping we'll do better next time).
  </summary>
</histogram>

<histogram name="DNS.IndependentNavigation" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When either a pre-resolution was not done recently enough to provide
    benefit, or the corresponding pre-resolution is still pending, this
    histogram shows the duration of the duration of time used to resolve a
    hostname to navigate to (GET) a URL.  In newer versions, if the hostname has
    never been found as a link during a page scan, and it has a referring URL,
    then it is added to referrer list data structure (hoping we'll do better
    next time).
  </summary>
</histogram>

<histogram name="DNS.JobQueueTime" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the time the HostResolverImpl::Job was created and the
    time the Job was started (a getaddrinfo call was dispatched to the thread
    pool).
  </summary>
</histogram>

<histogram name="DNS.JobQueueTime_HIGHEST" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the time the HostResolverImpl::Job was created and the
    time the Job was started (a getaddrinfo call was dispatched to the thread
    pool). Includes only Jobs which had priority HIGHEST when started.
  </summary>
</histogram>

<histogram name="DNS.JobQueueTime_IDLE" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the time the HostResolverImpl::Job was created and the
    time the Job was started (a getaddrinfo call was dispatched to the thread
    pool). Includes only Jobs which had priority IDLE when started.
  </summary>
</histogram>

<histogram name="DNS.JobQueueTime_LOW" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the time the HostResolverImpl::Job was created and the
    time the Job was started (a getaddrinfo call was dispatched to the thread
    pool). Includes only Jobs which had priority LOW when started.
  </summary>
</histogram>

<histogram name="DNS.JobQueueTime_LOWEST" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the time the HostResolverImpl::Job was created and the
    time the Job was started (a getaddrinfo call was dispatched to the thread
    pool). Includes only Jobs which had priority LOWEST when started.
  </summary>
</histogram>

<histogram name="DNS.JobQueueTime_MEDIUM" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the time the HostResolverImpl::Job was created and the
    time the Job was started (a getaddrinfo call was dispatched to the thread
    pool). Includes only Jobs which had priority MEDIUM when started.
  </summary>
</histogram>

<histogram name="DNS.JobQueueTimeAfterChange" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the last time the priority of a HostResolverImpl::Job
    changed (when a Request was attached or detached) and the time the Job was
    started (a getaddrinfo call was dispatched to the thread pool).
  </summary>
</histogram>

<histogram name="DNS.JobQueueTimeAfterChange_HIGHEST" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the last time the priority of a HostResolverImpl::Job
    changed (when a Request was attached or detached) and the time the Job was
    started (a getaddrinfo call was dispatched to the thread pool). Includes
    only Jobs which had priority HIGHEST when started.
  </summary>
</histogram>

<histogram name="DNS.JobQueueTimeAfterChange_IDLE" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the last time the priority of a HostResolverImpl::Job
    changed (when a Request was attached or detached) and the time the Job was
    started (a getaddrinfo call was dispatched to the thread pool). Includes
    only Jobs which had priority IDLE when started.
  </summary>
</histogram>

<histogram name="DNS.JobQueueTimeAfterChange_LOW" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the last time the priority of a HostResolverImpl::Job
    changed (when a Request was attached or detached) and the time the Job was
    started (a getaddrinfo call was dispatched to the thread pool). Includes
    only Jobs which had priority LOW when started.
  </summary>
</histogram>

<histogram name="DNS.JobQueueTimeAfterChange_LOWEST" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the last time the priority of a HostResolverImpl::Job
    changed (when a Request was attached or detached) and the time the Job was
    started (a getaddrinfo call was dispatched to the thread pool). Includes
    only Jobs which had priority LOWEST when started.
  </summary>
</histogram>

<histogram name="DNS.JobQueueTimeAfterChange_MEDIUM" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time elapsed between the last time the priority of a HostResolverImpl::Job
    changed (when a Request was attached or detached) and the time the Job was
    started (a getaddrinfo call was dispatched to the thread pool). Includes
    only Jobs which had priority MEDIUM when started.
  </summary>
</histogram>

<histogram name="DNS.PrefetchCacheEviction" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The duration of time used (most recently) to pre-resolve a hostname, when
    the prefetched resolution was apparently evicted from the cache.  The
    included samples only list pre-resolution times when the later
    navigations/fetches took in excess of 15ms.
  </summary>
</histogram>

<histogram name="DNS.PrefetchCacheEvictionL" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The duration of time used (most recently) to pre-resolve a hostname, when
    the prefetched resolution was apparently evicted from the cache.  The
    included samples only list pre-resolution times when the later
    navigations/fetches took in excess of 15ms.
  </summary>
</histogram>

<histogram name="DNS.PrefetchFoundName">
  <owner>juliatuttle@chromium.org</owner>
  <summary>Replaced by DNS.PrefetchFoundNameL.</summary>
</histogram>

<histogram name="DNS.PrefetchFoundNameL" units="ms">
  <obsolete>
    Deprecated 2/2010, and replaced by DNS.PrefetchResolution
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The duration of time used by the DNS pre-resolving threads to resolve a host
    name via the network.  Any resolutions that are faster than 15ms are
    considered to be local cache hits, not requiring network access, and are not
    included in this histogram. This histogram is most useful for estimating the
    typical cost of a name resolution, but it also estimates the total number of
    network-based resolutions induced by this feature.  Not all these
    resolutions prove helpful (i.e., the user does not always actually visit the
    resolved hostnames).
  </summary>
</histogram>

<histogram name="DNS.PrefetchNegativeHit">
  <owner>juliatuttle@chromium.org</owner>
  <summary>Replaced by DNS.PrefetchNegativeHitL.</summary>
</histogram>

<histogram name="DNS.PrefetchNegativeHitL" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The duration of time saved due to DNS pre-resolving in the &quot;name not
    found&quot; case.  Time &quot;savings&quot; shown in the histogram are
    defined to be the difference between the DNS pre-resolution duration, and
    the DNS resolution duration seen during a navigation.  These cache hits only
    list events where the DNS pre-resolve duration for a host was in excess of
    15ms (i.e., the network was consulted), and the actual DNS resolution (when
    a user attempted to navigate to a link with the same host name) took less
    than 15ms (i.e., the network was not consulted), which means the gain was a
    result of a &quot;cache hit&quot; in the OS cache.  For some users with
    LANs, all negative results (even when the DNS cache might otherwise help)
    take about 2.5 seconds (due to timeouts for netbios broadcasts), and hence
    no savings are possible (or shown) for such users in this category.
  </summary>
</histogram>

<histogram name="DNS.PrefetchPositiveHit">
  <owner>juliatuttle@chromium.org</owner>
  <summary>Replaced by DNS.PrefetchPositiveHitL.</summary>
</histogram>

<histogram name="DNS.PrefetchPositiveHitL" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The duration of time saved due to DNS pre-resolving in the &quot;name was
    found&quot; case, and induced by either a page scan for a link or an omnibox
    entry by the user. Time &quot;savings&quot; shown in the histogram are
    defined to be the difference between the DNS pre-resolution duration, and
    the DNS resolution duration seen during a navigation.  These cache hits only
    list events where the DNS pre-resolve duration for a host was in excess of
    15ms (i.e., the network was consulted), and the actual DNS resolution (when
    a user attempted to navigate to a link with the same host name) took less
    than 15ms (i.e., the network was not consulted), which means the gain was a
    result of a &quot;cache hit&quot; in the OS cache.
  </summary>
</histogram>

<histogram name="DNS.PrefetchQueue" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The duration of time spent by a proposed resolution waiting in the queue to
    be resolved.  This number is in addition to any DNS resolution time that may
    come later.
  </summary>
</histogram>

<histogram name="DNS.PrefetchReferredPositiveHit" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The duration of time saved due to DNS pre-resolving in the &quot;name was
    found&quot; case, and induced by predicting (using referrer lists) that a
    resolution was needed. Time &quot;savings&quot; shown in the histogram are
    defined to be the difference between the DNS pre-resolution duration, and
    the DNS resolution duration seen during a navigation.  These cache hits only
    list events where the DNS pre-resolve duration for a host was in excess of
    15ms (i.e., the network was consulted), and the actual DNS resolution (when
    a user attempted to navigate to a link with the same host name) took less
    than 15ms (i.e., the network was not consulted), which means the gain was a
    result of a &quot;cache hit&quot; in the OS cache.
  </summary>
</histogram>

<histogram name="DNS.PrefetchResolution" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The duration of time used by the DNS pre-resolving threads to resolve a host
    name via the network.  Any resolutions that are faster than 15ms are
    considered to be local cache hits, not requiring network access, and are not
    included in this histogram. This histogram is most useful for estimating the
    typical cost of a name resolution, but it also estimates the total number of
    network-based resolutions induced by this feature.  Not all these
    resolutions prove helpful (i.e., the user does not always actually visit the
    resolved hostnames).
  </summary>
</histogram>

<histogram name="DNS.QueueRecycledDeltaOver2">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When, due to congestion avoidance, a queued pre-resolution is abandoned
    (recycled) without actually being resolved, this histograms records the age
    in the queue of that entry.  Only times over 2 seconds are recorded in this
    histogram.
  </summary>
</histogram>

<histogram name="DNS.QueueRecycledUnder2">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When, due to congestion avoidance, a queued pre-resolution is abandoned
    (recycled) without actually being resolved, this histograms records the age
    in the queue of that entry.  Only times less than or equal to 2 seconds are
    recorded in this histogram.
  </summary>
</histogram>

<histogram name="DNS.ResolveCategory" enum="ResolutionCategory">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Counts of successes and failures of OS resolutions in various categories.
  </summary>
</histogram>

<histogram name="DNS.ResolveFail" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken in OS resolutions for actual navigations.  Note that
    cached OS resolutions may provide low (0ms?) resolution times.
  </summary>
</histogram>

<histogram name="DNS.ResolveFail_FAMILY_IPV4" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>Same as DNS.ResolveFail, but limited to pure IPv4 lookups.</summary>
</histogram>

<histogram name="DNS.ResolveFail_FAMILY_IPV6" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>Same as DNS.ResolveFail, but limited to pure IPv6 lookups.</summary>
</histogram>

<histogram name="DNS.ResolveFail_FAMILY_UNSPEC" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>Same as DNS.ResolveFail, but limited to IPv4/IPv6 lookups.</summary>
</histogram>

<histogram name="DNS.ResolveSpeculativeFail" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken in speculative OS resolutions.  Note that cached OS
    resolutions may provide low (0ms?) resolution times.
  </summary>
</histogram>

<histogram name="DNS.ResolveSpeculativeSuccess" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken in speculative OS resolution that succeeded.  Note
    that cached resolutions may provide low (0ms?) resolution times.
  </summary>
</histogram>

<histogram name="DNS.ResolveSuccess" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time taken in OS resolutions that succeeded and were requested
    for actual navigations.  Note that cached resolutions may provide low (0ms?)
    resolution times.
  </summary>
</histogram>

<histogram name="DNS.ResolveSuccess_FAMILY_IPV4" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Same as DNS.ResolveSuccess, but limited to pure IPv4 lookups.
  </summary>
</histogram>

<histogram name="DNS.ResolveSuccess_FAMILY_IPV6" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Same as DNS.ResolveSuccess, but limited to pure IPv6 lookups.
  </summary>
</histogram>

<histogram name="DNS.ResolveSuccess_FAMILY_UNSPEC" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Same as DNS.ResolveSuccess, but limited to IPv4/IPv6 lookups.
  </summary>
</histogram>

<histogram name="DNS.ResolveUnspecWaste" enum="ResolutionUnspecWasteCategory">
  <obsolete>
    Deprecated as of 5/2013.
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Counts of hits and misses in the DNS cache and DNS jobs pool of wasted
    HostResolverImpl::Jobs that could be avoided by always resolving using
    AF_UNSPEC.
  </summary>
</histogram>

<histogram name="DNS.StaleHostResolver.NetworkEarly" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When a DNS request made through StaleHostResolver returns, a stale cached
    result was available, and the network responded before or exactly at the
    stale delay, how much earlier it responded.
  </summary>
</histogram>

<histogram name="DNS.StaleHostResolver.NetworkLate" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When a DNS request made through StaleHostResolver returns, a stale cached
    result was available, and the network responded after the stale delay, how
    much later it responded.
  </summary>
</histogram>

<histogram name="DNS.StaleHostResolver.RequestOutcome"
    enum="DNS.StaleHostResolverRequestOutcome">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When a DNS request made through StaleHostResolver returns or is canceled,
    the outcome of the request.
  </summary>
</histogram>

<histogram name="DNS.StaleHostResolver.StaleAddressListDelta"
    enum="DNS.AddressListDeltaType">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When a DNS request made through StaleHostResolver had a stale cached result
    and both the stale and network results were successful, the difference
    between the old and new address lists.
  </summary>
</histogram>

<histogram name="DNS.TotalTime" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time since a HostResolverImpl::Resolve request to the time a
    result is posted. Excludes canceled, evicted, and aborted requests. Includes
    cache hits (recorded as 0). Excludes speculative requests.
  </summary>
</histogram>

<histogram name="DNS.TotalTime_speculative" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Duration of time since a HostResolverImpl::Resolve request to the time a
    result is posted. Excludes canceled, evicted, and aborted requests. Includes
    cache hits (recorded as 0). Speculative requests only.
  </summary>
</histogram>

<histogram name="DNS.UnexpectedResolution">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    In some cases, such as when content arrives with embedded references to
    other servers, the prefetch system can't (or doesn't) attempt to pre-resolve
    the hostnames.  As an example, a visit to www.cnn.com will fetch content
    with references to about 12 additional hostnames, none of which are
    currently anticipated.  Such resolutions are termed &quot;Unexpected
    Resolutions,&quot; and the durations associated with those DNS resolutions
    are shown below.  Future features may attempt to learn (from prior
    experience locally, or from server provided hints), what secondary hostname
    resolutions should be done when a primary resolution (or navigation) takes
    place.  This histogram shows what the potential savings are that
    &quot;remain on the table&quot; until we employ some of these more advanced
    features.
  </summary>
</histogram>

<histogram name="DNS.UnexpectedResolutionL">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    In some cases, such as when content arrives with embedded references to
    other servers, or when a page (such as one in SSL) preclude scanning and
    prefetching, the prefetch system can't (or doesn't) attempt to pre-resolve
    the hostnames.  As an example, a visit to www.cnn.com will fetch content
    with references to about 12 additional hostnames, none of which might be
    anticipated.  Similarly, clicking on a link in an SSL page won't be
    anticipated (since scanning in not allowed by default). Such resolutions are
    termed &quot;Unexpected Resolutions,&quot; and the durations associated with
    those navigation induced DNS resolutions are shown below.  If a referring
    URL is available for the navigation, the relationship to the referring URL
    was recorded, and future navigations to the referring hostname would have
    induced a pre-resolution of hostname that caused an entry below.  Such any
    entry may facilitate future listing in the ReferredPositiveHit histogram.
  </summary>
</histogram>

<histogram name="DnsProbe.ErrorPageUpdateStatus" enum="DnsProbe.ProbeStatus">
  <owner>juliatuttle@chromium.org</owner>
  <summary>Status of DNS probe updates sent to a DNS error page.</summary>
</histogram>

<histogram name="DnsProbe.Probe.Elapsed" units="ms">
  <obsolete>
    Renamed 7/2013 to DnsProbe.ProbeDuration.
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>Time between starting and finishing DNS probe.</summary>
</histogram>

<histogram name="DnsProbe.Probe.NcnOffline.Elapsed" units="ms">
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time between starting and finishing DNS probe when NCN says we're offline.
  </summary>
</histogram>

<histogram name="DnsProbe.Probe.NcnOffline.Result"
    enum="DnsProbe.ObsoleteProbeResult">
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Result of DNS probes sent by the probe service when NCN says we're offline.
  </summary>
</histogram>

<histogram name="DnsProbe.Probe.NcnOnline.Elapsed" units="ms">
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Time between starting and finishing DNS probe when NCN says we're online.
  </summary>
</histogram>

<histogram name="DnsProbe.Probe.NcnOnline.Result"
    enum="DnsProbe.ObsoleteProbeResult">
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Result of DNS probes sent by the probe service when NCN says we're online.
  </summary>
</histogram>

<histogram name="DnsProbe.Probe.Result" enum="DnsProbe.ObsoleteProbeResult">
  <obsolete>
    Renamed 7/2013 to DnsProbe.ProbeResult.  (Also switched to the full
    DnsProbe.ProbeStatus enum.)
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>Result of DNS probes sent by the probe service.</summary>
</histogram>

<histogram name="DnsProbe.Probe.ResultBadConfig.Elapsed" units="ms">
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>Elapsed time of DNS probes that return PROBE_BAD_CONFIG.</summary>
</histogram>

<histogram name="DnsProbe.Probe.ResultBadConfig.SystemIsLocalhost"
    enum="DnsProbe.SystemIsLocalhost">
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Whether the only nameserver in the system DNS config was 127.0.0.1 when the
    probe result was BAD_CONFIG.
  </summary>
</histogram>

<histogram name="DnsProbe.Probe.ResultBadConfig.SystemJobResult"
    enum="DnsProbe.JobResult">
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The result of the system probe job when the overall probe result was
    BAD_CONFIG.
  </summary>
</histogram>

<histogram name="DnsProbe.Probe.ResultBadConfig.SystemNameserverCount">
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The number of nameservers in the system DNS config when the probe result was
    BAD_CONFIG.
  </summary>
</histogram>

<histogram name="DnsProbe.Probe.ResultNoInternet.Elapsed" units="ms">
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>Elapsed time of DNS probes that return PROBE_NO_INTERNET.</summary>
</histogram>

<histogram name="DnsProbe.Probe.ResultNxdomain.Elapsed" units="ms">
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>Elapsed time of DNS probes that return PROBE_NXDOMAIN.</summary>
</histogram>

<histogram name="DnsProbe.Probe.ResultUnknown.Elapsed" units="ms">
  <obsolete>
    Removed 7/2013.
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>Elapsed time of DNS probes that return PROBE_UNKNOWN.</summary>
</histogram>

<histogram name="DnsProbe.ProbeDuration" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>Time between starting and finishing DNS probe.</summary>
</histogram>

<histogram name="DnsProbe.ProbeResult" enum="DnsProbe.ProbeStatus">
  <owner>juliatuttle@chromium.org</owner>
  <summary>Result of DNS probes sent by the probe service.</summary>
</histogram>

<histogram name="DocumentActivity.Enabled" enum="RunningMode">
  <obsolete>
    Removed 9/2016.
  </obsolete>
  <owner>mariakhomenko@chromium.org</owner>
  <summary>
    Recorded only for Android. Records on every metrics upload whether document
    mode is enabled.
  </summary>
</histogram>

<histogram name="DocumentScan.ConverterResult" enum="BooleanSuccess">
  <owner>pstew@chromium.org</owner>
  <summary>
    Chrome OS document scan metric that tracks whether a document scan call to
    the image conversion process suceeded.
  </summary>
</histogram>

<histogram name="DocumentScan.ScanResult" enum="BooleanSuccess">
  <owner>pstew@chromium.org</owner>
  <summary>
    Chrome OS document scan metric that tracks whether a document scan call to
    the sane backend process suceeded.
  </summary>
</histogram>

<histogram name="DomainBoundCerts.DBLoadedCount">
  <owner>mattm@chromium.org</owner>
  <summary>Number of certs loaded from domain bound cert database.</summary>
</histogram>

<histogram name="DomainBoundCerts.DBLoadStatus"
    enum="DomainBoundCerts.DBLoadStatus">
  <owner>nharper@chromium.org</owner>
  <summary>
    The status of loading the Channel ID database from disk. This histogram
    records why the database failed to load, or that it loaded successfully.
  </summary>
</histogram>

<histogram name="DomainBoundCerts.DBLoadTime" units="ms">
  <owner>mattm@chromium.org</owner>
  <summary>Time spent loading domain bound cert database.</summary>
</histogram>

<histogram name="DomainBoundCerts.DBSizeInKB" units="KB">
  <obsolete>
    Removed 4/2017.
  </obsolete>
  <owner>mattm@chromium.org</owner>
  <summary>
    The size, on disk, of the domain bound cert database as it is being loaded.
  </summary>
</histogram>

<histogram name="DomainBoundCerts.DBVersion">
  <owner>nharper@chromium.org</owner>
  <summary>
    The version number of the Channel ID database (before any migrations are
    run).
  </summary>
</histogram>

<histogram name="DomainBoundCerts.GenerateCertTime" units="ms">
  <obsolete>
    Removed 4/2017.
  </obsolete>
  <owner>mattm@chromium.org</owner>
  <summary>Time spent generating a domain bound cert.</summary>
</histogram>

<histogram name="DomainBoundCerts.GetCertTime" units="ms">
  <obsolete>
    Removed 4/2017.
  </obsolete>
  <owner>mattm@chromium.org</owner>
  <summary>
    Combined time for GetDomainBoundCert retrieval (both synchronous and
    asynchronous).
  </summary>
</histogram>

<histogram name="DomainBoundCerts.GetCertTimeAsync" units="ms">
  <obsolete>
    Removed 4/2017.
  </obsolete>
  <owner>mattm@chromium.org</owner>
  <summary>
    Time for asynchronous retrieval (from the GetDomainBoundCert call until
    completion callback is called).
  </summary>
</histogram>

<histogram name="DomainBoundCerts.GetCertTimeSync" units="ms">
  <obsolete>
    Removed 4/2017.
  </obsolete>
  <owner>mattm@chromium.org</owner>
  <summary>Time for synchronous GetDomainBoundCert cert retrieval.</summary>
</histogram>

<histogram name="DomainBoundCerts.GetDomainBoundCertResult"
    enum="DomainBoundCerts.GetCertResult">
  <owner>mattm@chromium.org</owner>
  <summary>Result of GetDomainBoundCert function.</summary>
</histogram>

<histogram name="DomainBoundCerts.KillDatabaseResult" enum="BooleanSuccess">
  <owner>mattm@chromium.org</owner>
  <summary>
    Whether the domain-bound certs sqlite database was killed succesfully when
    an unrecoverable error was detected.
  </summary>
</histogram>

<histogram name="DomainBoundCerts.Support" enum="DomainBoundCerts.Support">
  <owner>mattm@chromium.org</owner>
  <summary>
    Counts of SSL client sockets broken down by support for Domain Bound
    Certificates TLS extension.  Counts only connections with full handshakes,
    resumed sessions are not counted.
  </summary>
</histogram>

<histogram name="DomainBoundCerts.TaskMaxWaitTime" units="ms">
  <obsolete>
    Removed 4/2017.
  </obsolete>
  <owner>mattm@chromium.org</owner>
  <summary>
    Longest time spent by requests waiting for load of domain bound cert
    database.
  </summary>
</histogram>

<histogram name="DomainBoundCerts.TaskWaitCount">
  <obsolete>
    Removed 4/2017.
  </obsolete>
  <owner>mattm@chromium.org</owner>
  <summary>
    Number of requests that waited for load of domain bound cert database.
  </summary>
</histogram>

<histogram name="DomainReliability.BeaconInterval" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The time between successive Domain Reliability beacons being queued in the
    same context. (Can be arbitrarily long if no beacons are queued in a while.)
  </summary>
</histogram>

<histogram name="DomainReliability.BeaconIntervalGlobal" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The time between successive Domain Reliability beacons being queued across
    all contexts. (Can be arbitrarily long if no beacons are queued in a while.)
  </summary>
</histogram>

<histogram name="DomainReliability.BeaconReported" enum="BooleanReported">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Whether a beacon added to a Domain Reliability context was saved to be
    uploaded to the collector.
  </summary>
</histogram>

<histogram name="DomainReliability.OnBeaconDidEvict" enum="BooleanDidEvict">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Whether adding a beacon to a Domain Reliability context caused it to evict
    an older beacon to stay within memory limits.
  </summary>
</histogram>

<histogram name="DomainReliability.ReportedBeaconError" enum="NetErrorCodes">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The Chrome error code included in a beacon saved to be uploaded to the
    collector.
  </summary>
</histogram>

<histogram name="DomainReliability.ReportedBeaconError_HasServerIP"
    enum="NetErrorCodes">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The Chrome error code included in a beacon with a non-empty server_ip field
    saved to be uploaded to the collector.
  </summary>
</histogram>

<histogram name="DomainReliability.ReportedBeaconUploadDepth" units="levels">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The upload depth included in a beacon saved to be uploaded to the collector.
    (Zero means the beacon was not about a report upload; n+1 means the beacon
    was about a report with upload depth n.)
  </summary>
</histogram>

<histogram name="DomainReliability.SetConfigRecreatedContext"
    enum="BooleanCreated">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When Domain Reliability receives a valid NEL configuration header for an
    origin with Domain Reliability active, whether or not it needed to recreate
    the origin's context to apply a changed config.
  </summary>
</histogram>

<histogram name="DomainReliability.UploadCollectorIndex">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The index of the collector that a Domain Reliability upload was sent to.
    (Later collectors are only used when earlier collectors have failed.)
  </summary>
</histogram>

<histogram name="DomainReliability.UploadCollectorRetryDelay" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    After an upload to a collector finishes (successfully or not), the delay
    before the scheduler can send another upload to that collector. (If recent
    uploads were successful, this will be 0; if not, it will be based on the
    BackoffEntry and any Retry-After header received.)
  </summary>
</histogram>

<histogram name="DomainReliability.UploadDuration" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The elapsed time between starting and finishing a Domain Reliability upload.
  </summary>
</histogram>

<histogram name="DomainReliability.UploadFailover"
    enum="DomainReliability.BooleanFailover">
  <obsolete>
    Deprecated 11/2014; see UploadCollectorIndex
  </obsolete>
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Whether a Domain Reliability upload was sent to a collector other than the
    first one listed in the config. (This only happens when an upload to the
    first collector fails.)
  </summary>
</histogram>

<histogram name="DomainReliability.UploadInterval" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The time between successive Domain Reliability uploads being started in the
    same context. (Can be arbitrarily long if no beacons are reported in a
    while.)
  </summary>
</histogram>

<histogram name="DomainReliability.UploadIntervalGlobal" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The time between successive Domain Reliability uploads being started across
    all contexts. (Can be arbitrarily long if no beacons are reported in a
    while.)
  </summary>
</histogram>

<histogram name="DomainReliability.UploadLatency" units="ms">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The time from the first beacon in a Domain Reliability upload being recorded
    and that upload completing successfully. (Note that if some beacons are
    never uploaded successfully, they will not feature in this histogram at
    all.)
  </summary>
</histogram>

<histogram name="DomainReliability.UploadNetError" enum="NetErrorCodes">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The network error code (or OK if none) returned by the URLFetcher when a
    Domain Reliability report is uploaded.
  </summary>
</histogram>

<histogram name="DomainReliability.UploadResponseCode" enum="HttpResponseCode">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    The HTTP response code returned by the Domain Reliability collector when a
    report is uploaded.
  </summary>
</histogram>

<histogram name="DomainReliability.UploadSuccess" enum="BooleanSuccess">
  <owner>juliatuttle@chromium.org</owner>
  <summary>Whether a Domain Reliability upload succeeded.</summary>
</histogram>

<histogram name="DomDistiller.BarCloseButtonUsage" enum="BooleanPanelWasOpen">
  <owner>mdjones@chromium.org</owner>
  <summary>
    Records if the close button was used before or after opening and viewing
    Reader Mode content.
  </summary>
</histogram>

<histogram name="DomDistiller.DistillabilityRejection" enum="DistillRejection">
  <owner>wychen@chromium.org</owner>
  <summary>
    The reason to reject distillability at PageDistillableAfterParsing time.
  </summary>
</histogram>

<histogram name="DomDistiller.DistillabilityScoreNMF.Negative" units="score">
  <owner>wychen@chromium.org</owner>
  <summary>
    Score of distillability from AdaBoost model, non-mobile-friendly only. The
    score shown here is multiplied by 100.
  </summary>
</histogram>

<histogram name="DomDistiller.DistillabilityScoreNMF.Positive" units="score">
  <owner>wychen@chromium.org</owner>
  <summary>
    Score of distillability from AdaBoost model, non-mobile-friendly only. The
    score shown here is multiplied by 100.
  </summary>
</histogram>

<histogram name="DomDistiller.DistillationQuality" enum="BooleanSuccess">
  <owner>nyquist@chromium.org</owner>
  <summary>
    Whether the perceived quality of the distillation of a web page was good.
  </summary>
</histogram>

<histogram name="DomDistiller.LongArticleScoreNMF.Negative" units="score">
  <owner>wychen@chromium.org</owner>
  <summary>
    Score of long article from AdaBoost model, distillable and
    non-mobile-friendly only. The score shown here is multiplied by 100.
  </summary>
</histogram>

<histogram name="DomDistiller.LongArticleScoreNMF.Positive" units="score">
  <owner>wychen@chromium.org</owner>
  <summary>
    Score of long article from AdaBoost model, distillable and
    non-mobile-friendly only. The score shown here is multiplied by 100.
  </summary>
</histogram>

<histogram name="DomDistiller.PageDistillable" enum="DistillableType">
  <obsolete>
    PageDistillableAfterLoading and PageDistillableAfterParsing provide more
    details since 02/2016.
  </obsolete>
  <owner>cjhopman@chromium.org</owner>
  <summary>
    Records the &quot;Distillable Type&quot; (not distillable, mobile-friendly
    distillable, non-mobile-friendly distillable, etc) for each analyzed page.
  </summary>
</histogram>

<histogram name="DomDistiller.PageDistillableAfterLoading"
    enum="DistillableType2">
  <owner>wychen@chromium.org</owner>
  <summary>
    Records the &quot;Distillable Type&quot; (mobile-friendly not distillable,
    mobile-friendly distillable, non-mobile-friendly not distillable,
    non-mobile-friendly distillable) for each analyzed page after loading.
  </summary>
</histogram>

<histogram name="DomDistiller.PageDistillableAfterParsing"
    enum="DistillableType2">
  <owner>wychen@chromium.org</owner>
  <summary>
    Records the &quot;Distillable Type&quot; (mobile-friendly not distillable,
    mobile-friendly distillable, non-mobile-friendly not distillable,
    non-mobile-friendly distillable) for each analyzed page after parsing.
  </summary>
</histogram>

<histogram name="DomDistiller.PageDistilledType" enum="DistillableType">
  <obsolete>
    Not collected anymore.
  </obsolete>
  <owner>cjhopman@chromium.org</owner>
  <summary>
    Records the &quot;Distillable Type&quot; (not distillable, mobile-friendly
    distillable, non-mobile-friendly distillable, etc) for each distilled page.
  </summary>
</histogram>

<histogram name="DomDistiller.PageHasDistilledData"
    enum="BooleanHasDistilledData">
  <owner>kuan@chromium.org</owner>
  <summary>Records whether a page has distilled data.</summary>
</histogram>

<histogram name="DomDistiller.ReaderShownForPageLoad" enum="Boolean">
  <owner>mdjones@chromium.org</owner>
  <summary>
    Records if the panel became visible at any point after a page was navigated.
  </summary>
</histogram>

<histogram name="DomDistiller.Statistics.FirstPageWordCount" units="words">
  <owner>mdjones@chromium.org</owner>
  <summary>
    Records the number of words in a distilled page. This only records the first
    page of a multi-page article.
  </summary>
</histogram>

<histogram name="DomDistiller.Statistics.WordCount" units="words">
  <owner>nyquist@chromium.org</owner>
  <summary>
    Records the number of words in a distilled page. For articles with multiple
    pages, each page is counted separately.
  </summary>
</histogram>

<histogram name="DomDistiller.Time.ArticleProcessing" units="ms">
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Time spent in DomDistiller's identification of text content.
  </summary>
</histogram>

<histogram name="DomDistiller.Time.DistillationTotal" units="ms">
  <owner>yfriedman@chromium.org</owner>
  <summary>Complete time spent in DomDistiller's processing of a page.</summary>
</histogram>

<histogram name="DomDistiller.Time.DistillPage" units="ms">
  <owner>wychen@chromium.org</owner>
  <summary>
    Time spent in DistillPageImpl(), mostly ExecuteJavaScript(), including
    compilation and execution.
  </summary>
</histogram>

<histogram name="DomDistiller.Time.DocumentConstruction" units="ms">
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Time spent in creating DomDistiller's internal representation of the HTML
    document.
  </summary>
</histogram>

<histogram name="DomDistiller.Time.Formatting" units="ms">
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Time spent in DomDistiller's final processing of article content/formatting.
  </summary>
</histogram>

<histogram name="DomDistiller.Time.MarkupParsing" units="ms">
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Time spent in DomDistiller's processing of article metadata.
  </summary>
</histogram>

<histogram name="DomDistiller.Time.RunJavaScript" units="ms">
  <owner>wychen@chromium.org</owner>
  <summary>
    Time spent in ExecuteJavaScript() in DomDistiller. It includes JavaScript
    code transmission through IPC, parsing, compilation, execution, and
    returning the JSON back through IPC.
  </summary>
</histogram>

<histogram name="DomDistiller.Time.SwipeToPaint" units="ms">
  <owner>wychen@chromium.org</owner>
  <summary>
    Records the time from a swipe-up gesture on ReaderModePanel to the first
    paint of the empty template.
  </summary>
</histogram>

<histogram name="DomDistiller.Time.ViewerLoading" units="ms">
  <owner>wychen@chromium.org</owner>
  <summary>
    Records the time from the Reader Mode panel opening to the viewer loaded.
  </summary>
</histogram>

<histogram name="DomDistiller.Time.ViewingReaderModePanel" units="ms">
  <owner>mdjones@chromium.org</owner>
  <summary>
    Records the amount of time between the Reader Mode panel opening and it
    closing or returning to the peeking state.
  </summary>
</histogram>

<histogram name="DOMStorage.clear" units="ms">
  <obsolete>
    Deprecated 2012.
  </obsolete>
  <owner>michaeln@chromium.org</owner>
  <summary>
    Duration to execute localStorage.clear() or sessionStorage.clear().
  </summary>
</histogram>

<histogram name="DOMStorage.getItem" units="ms">
  <obsolete>
    Deprecated 2012.
  </obsolete>
  <owner>michaeln@chromium.org</owner>
  <summary>
    Duration to execute localStorage.getItem() or sessionStorage.getItem().
  </summary>
</histogram>

<histogram name="DOMStorage.key" units="ms">
  <obsolete>
    Deprecated 2012.
  </obsolete>
  <owner>michaeln@chromium.org</owner>
  <summary>
    Duration to execute localStorage.key() or sessionStorage.key().
  </summary>
</histogram>

<histogram name="DOMStorage.length" units="ms">
  <obsolete>
    Deprecated 2012.
  </obsolete>
  <owner>michaeln@chromium.org</owner>
  <summary>
    Duration to execute localStorage.length() or sessionStorage.length().
  </summary>
</histogram>

<histogram name="DOMStorage.removeItem" units="ms">
  <obsolete>
    Deprecated 2012.
  </obsolete>
  <owner>michaeln@chromium.org</owner>
  <summary>
    Duration to execute localStorage.removeItem() or
    sessionStorage.removeItem().
  </summary>
</histogram>

<histogram name="DOMStorage.setItem" units="ms">
  <obsolete>
    Deprecated 2012.
  </obsolete>
  <owner>michaeln@chromium.org</owner>
  <summary>
    Duration to execute localStorage.setItem() or sessionStorage.setItem().
  </summary>
</histogram>

<histogram name="Doodle.ConfigDownloadOutcome"
    enum="DoodleConfigDownloadOutcome">
  <owner>treib@chromium.org</owner>
  <summary>Outcome of downloading the Doodle config.</summary>
</histogram>

<histogram name="Doodle.ConfigDownloadTime" units="ms">
  <owner>treib@chromium.org</owner>
  <summary>
    The time it took to download the Doodle config. Recorded only if the
    download succeeded and the received data was parsed without errors.
  </summary>
</histogram>

<histogram name="Download.AcceptRangesBytes.KBytes" units="KB">
  <owner>asanka@chromium.org</owner>
  <summary>The length of downloads for serves that accept byte ranges.</summary>
</histogram>

<histogram name="Download.AcceptRangesMissingOrInvalid.KBytes" units="KB">
  <owner>asanka@chromium.org</owner>
  <summary>
    The length of downloads for serves that do not specify whether the accept
    ranges, or have invalid ranges specified.
  </summary>
</histogram>

<histogram name="Download.AcceptRangesNone.KBytes" units="KB">
  <owner>asanka@chromium.org</owner>
  <summary>
    The length of downloads for serves that do not accept ranges.
  </summary>
</histogram>

<histogram name="Download.ActualBandwidth" units="Bytes/second">
  <obsolete>
    Deprecated January 2017.
  </obsolete>
  <owner>asanka@chromium.org</owner>
  <summary>The actual bandwidth (per read) of a download.</summary>
</histogram>

<histogram name="Download.ApiFunctions" enum="DownloadFunctions">
  <owner>asanka@chromium.org</owner>
  <summary>Downloads extension API function calls.</summary>
</histogram>

<histogram name="Download.AttachmentServices.Duration" units="ms">
  <owner>asanka@chromium.org</owner>
  <summary>
    Time taken to invoke IAttachmentExecute::Save() excluding the time taken to
    instantiate CLSID_AttachmentServices.
  </summary>
</histogram>

<histogram name="Download.AttachmentServices.Result"
    enum="AttachmentServicesResult">
  <owner>asanka@chromium.org</owner>
  <summary>
    Result of invoking (or attempting to invoke) Windows Attachment Services API
    via IAttachmentExecute::Save().
  </summary>
</histogram>

<histogram name="Download.BandwidthDiskBytesPerSecond">
  <owner>asanka@chromium.org</owner>
  <summary>
    Disk bandwidth (defined as total bytes divided by the amount of time blocked
    on write or close on the file descriptor) seen for a single download.
  </summary>
</histogram>

<histogram name="Download.BandwidthOverallBytesPerSecond">
  <owner>asanka@chromium.org</owner>
  <summary>
    Overall bandwidth seen for the download.  Note that this is measured at the
    point at which the file is written, and so will not take into account the
    time costs of activities that occur after file write is completed (e.g. safe
    browsing scanning).
  </summary>
</histogram>

<histogram name="Download.BandwidthUsed" units="%">
  <obsolete>
    Deprecated January 2017.
  </obsolete>
  <owner>asanka@chromium.org</owner>
  <summary>
    The percentage of the potential bandwidth actually used (per read) of a
    download.  An entry of 100% implies that Chrome was the limiting factor in
    download speed.
  </summary>
</histogram>

<histogram name="Download.BandwidthWithoutParallelStreamsBytesPerSecond"
    units="bytes/second">
  <owner>qinmin@chromium.org</owner>
  <summary>
    For parallel downloading, average disk bandwidth seen when only 1 stream is
    actively downloading the content. Other streams may have already finished,
    or have not been created yet. If a download was ever paused, this is not
    recorded.
  </summary>
</histogram>

<histogram name="Download.BandwidthWithParallelStreamsBytesPerSecond"
    units="bytes/second">
  <owner>qinmin@chromium.org</owner>
  <summary>
    For parallel downloading, average disk bandwidth seen when parallel streams
    are downloading the content. If a download was ever paused, this is not
    recorded.
  </summary>
</histogram>

<histogram name="Download.ClearAllSize">
  <obsolete>
    Deprecated 1/2017.
  </obsolete>
  <owner>asanka@chromium.org</owner>
  <summary>
    The number of downloads in history at the time it is cleared.
  </summary>
</histogram>

<histogram name="Download.ContentDisposition" enum="DownloadContentDisposition">
  <owner>asanka@chromium.org</owner>
  <summary>
    Content-Disposition header features. The presence of a Content-Disposition
    header, use of 'filename' and 'filename*' parameters, and string encoding
    schemes are counted for each unthrottled download. The total number
    downloads is Download.Counts[5] (Initiated and Unthrottled).
  </summary>
</histogram>

<histogram name="Download.ContentImageType" enum="DownloadImageType">
  <owner>asanka@chromium.org</owner>
  <summary>Types of images that are downloaded.</summary>
</histogram>

<histogram name="Download.ContentType" enum="DownloadContentType">
  <obsolete>
    Deprecated 03/2017, and replaced by Download.Start.ContentType.
  </obsolete>
  <owner>asanka@chromium.org</owner>
  <summary>Content types that are downloaded.</summary>
</histogram>

<histogram name="Download.Counts" enum="DownloadCountType">
  <owner>asanka@chromium.org</owner>
  <summary>
    Various individual counts in the download system; see DownloadCountType for
    details.
  </summary>
</histogram>

<histogram name="Download.CountsChrome" enum="ChromeDownloadCountType">
  <owner>asanka@chromium.org</owner>
  <summary>
    Various individual counts in the download system, for example the number of
    downloads blocked by throttling from the DownloadRequestLimiter.
  </summary>
</histogram>

<histogram name="Download.DangerousDownloadValidated"
    enum="DownloadItem.DangerType">
  <owner>asanka@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    User chose to save a download which was marked dangerous. Grouped by the
    type of danger.
  </summary>
</histogram>

<histogram name="Download.DangerousFile.DangerousDownloadValidated"
    enum="DownloadItem.DangerousFileType">
  <owner>asanka@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    User chose to save a download which was marked DANGEROUS_FILE. Grouped by
    the type of file.
  </summary>
</histogram>

<histogram name="Download.DangerousFile.Discard"
    enum="DownloadItem.DangerousFileType">
  <owner>asanka@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    A download which was marked DANGEROUS_FILE was discarded without the user
    directly choosing, because the browser was closed.  Grouped by the file
    extension.
  </summary>
</histogram>

<histogram name="Download.DangerousFile.Reason" enum="DangerousFile.Reason">
  <owner>jialiul@chromium.org</owner>
  <owner>nparker@chromium.org</owner>
  <summary>
    Indicates why a download is marked as DANGEROUS_FILE. Grouped by reason,
    such as Safe Browsing (SB) service is not available, and SB returns UNKOWN
    or SAFE verdict. The sum of all reasons should roughly equal to the
    DANGEROUS_FILE bucket count in Download.DownloadWarningShown.
  </summary>
</histogram>

<histogram name="Download.DangerousFile.UserDiscard"
    enum="DownloadItem.DangerousFileType">
  <owner>asanka@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    User chose to discard a download which was marked DANGEROUS_FILE. Grouped by
    the file extension.
  </summary>
</histogram>

<histogram name="Download.Database.CreateDownloadDuration" units="ms">
  <owner>asanka@chromium.org</owner>
  <summary>Time taken to create a single download in the history DB.</summary>
</histogram>

<histogram name="Download.Database.QueryDownloadDuration" units="ms">
  <owner>asanka@chromium.org</owner>
  <summary>Time taken to query all downloads from history DB.</summary>
</histogram>

<histogram name="Download.Database.UpdateDownloadDuration" units="ms">
  <owner>asanka@chromium.org</owner>
  <summary>Time taken to update a single download in the history DB.</summary>
</histogram>

<histogram name="Download.DatabaseDownloadExistsForDownloadSlice"
    units="Boolean">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Whether a download can be found for a download slice in the DB. This
    histogram is recorded for each download slice row every time the database is
    loaded.
  </summary>
</histogram>

<histogram name="Download.DatabaseRecordDropped"
    enum="DownloadDatabaseRecordDroppedType">
  <owner>asanka@chromium.org</owner>
  <summary>Reason for dropping a record read in from the DB.</summary>
</histogram>

<histogram name="Download.DatabaseRemoveDownloadsCount">
  <owner>asanka@chromium.org</owner>
  <summary>Number of downloads removed from the history at once.</summary>
</histogram>

<histogram name="Download.DatabaseRemoveDownloadsTime" units="microseconds">
  <obsolete>
    Deprecated 2/2017
  </obsolete>
  <owner>asanka@chromium.org</owner>
  <summary>
    How long it took to delete a batch of downloads from history.
  </summary>
</histogram>

<histogram name="Download.DatabaseRemoveDownloadsTimePerRecord"
    units="nanoseconds/record">
  <obsolete>
    Deprecated 2/2017
  </obsolete>
  <owner>asanka@chromium.org</owner>
  <summary>
    How long it took to delete some downloads from history, per download.
  </summary>
</histogram>

<histogram name="Download.Discard" enum="DownloadItem.DangerType">
  <owner>asanka@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    A download which was marked dangerous was discarded without the user
    directly choosing, because the browser was closed.  Grouped by the type of
    danger.
  </summary>
</histogram>

<histogram name="Download.DiskBandwidthUsedPercentage" units="%">
  <obsolete>
    Deprecated 1/2017.
  </obsolete>
  <owner>asanka@chromium.org</owner>
  <summary>
    The percentage of the available disk bandwidth that was used by the
    download.  100% indicates that the disk bandwidth was the limiting factor
    for the download.
  </summary>
</histogram>

<histogram name="Download.DOMEvent" enum="DownloadDOMEvent">
  <owner>asanka@chromium.org</owner>
  <summary>User actions in chrome://downloads</summary>
</histogram>

<histogram name="Download.DownloadDangerPrompt"
    enum="SBClientDownloadExtensions">
  <owner>jialiul@chromium.org</owner>
  <summary>
    Records when user is shown the download danger prompt while attempting to
    recover a blocked download from chrome://downloads, grouped by the type of
    file.
  </summary>
</histogram>

<histogram name="Download.DownloadSize" units="KB">
  <owner>asanka@chromium.org</owner>
  <summary>The size of successfully completed downloads.</summary>
</histogram>

<histogram name="Download.DownloadWarningShown" enum="DownloadItem.DangerType">
  <owner>asanka@chromium.org</owner>
  <summary>
    A download warning was shown in the shelf. Note that some downloads may not
    be shown on the shelf, e.g., if chrome://downloads is already open when the
    download completes, or if an extension is using the downloads API. Grouped
    by the type of danger.
  </summary>
</histogram>

<histogram name="Download.EstimatedTimeSavedWithParallelDownload" units="ms">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Estimated time saved on a download when parallel downloading is enabled. To
    estimate this, the time spent on a download is classified into two
    categories. The fist category has only one stream active, while other
    streams are either finished, not started, or failed. And the second category
    has multiple streams active. By calculating the average bandwidth during the
    first category, a rough estimation on the time it will save is obtained by
    assuming all the bytes downloaded during the second category are downloaded
    by only one stream. If a download is ever paused, this is not recorded.
  </summary>
</histogram>

<histogram name="Download.EstimatedTimeWastedWithParallelDownload" units="ms">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Similar to Download.EstimatedTimeSavedWithParallelDownload, but this
    estimates the time wasted on a download when parallel downloading is
    enabled.
  </summary>
</histogram>

<histogram name="Download.FeedbackDialogEnabled" enum="BooleanEnabled">
  <owner>asanka@chromium.org</owner>
  <summary>
    Whether the user enables dangerous download feedback reporting after viewing
    the opt-in dialog.
  </summary>
</histogram>

<histogram name="Download.FilePickerResult" enum="DownloadFilePickerResult">
  <owner>asanka@chromium.org</owner>
  <summary>
    How the user interacts with the file chooser when doing a &quot;Save
    As&quot; for non-full-page saves.
  </summary>
</histogram>

<histogram name="Download.FileThreadBlockedTime">
  <owner>asanka@chromium.org</owner>
  <summary>
    The amount of time in milliseconds the file thread blocks for each set of
    buffers drained from the incoming pipe (ms).
  </summary>
</histogram>

<histogram name="Download.FileThreadReceiveBuffers">
  <owner>asanka@chromium.org</owner>
  <summary>
    The number of buffers in a call to DownloadManager::UpdateDownload.
  </summary>
</histogram>

<histogram name="Download.FirstOpenTime" units="ms">
  <owner>asanka@chromium.org</owner>
  <summary>
    The time between a download completing and the file being opened for the
    first time.
  </summary>
</histogram>

<histogram name="Download.HistorySize">
  <owner>asanka@chromium.org</owner>
  <summary>
    The number of items in the History database, at the time a new download is
    recorded.
  </summary>
</histogram>

<histogram name="Download.HistorySize2">
  <owner>asanka@chromium.org</owner>
  <summary>
    The number of items in the History database, at the time a new download is
    recorded. Higher maximum, more buckets than Download.HistorySize.
  </summary>
</histogram>

<histogram name="Download.InterruptedAtEndError" enum="NetErrorCodes">
  <owner>asanka@chromium.org</owner>
  <summary>
    Positive net error code that caused a download to be interrupted at the
    *end* of a download (when the number of bytes is known). This is only
    triggered when the total content size is known before any bytes are
    transferred, such as when a Content-Length header is supplied.
  </summary>
</histogram>

<histogram name="Download.InterruptedAtEndReason" enum="InterruptReason">
  <owner>asanka@chromium.org</owner>
  <summary>
    The reason that a download was interrupted at the *end* of a download (when
    the number of bytes is known). This is only triggered when the total content
    size is known before any bytes are transferred, such as when a
    Content-Length header is supplied.
  </summary>
</histogram>

<histogram name="Download.InterruptedError" enum="NetErrorCodes">
  <owner>asanka@chromium.org</owner>
  <summary>
    Positive net error code that caused a download to be interrupted.
  </summary>
</histogram>

<histogram name="Download.InterruptedOverrunBytes">
  <owner>asanka@chromium.org</owner>
  <summary>
    The total number of bytes minus the received number of bytes at the time
    that a download is interrupted. This is only triggered when the total
    content size is known before any bytes are transferred, such as when a
    Content-Length header is supplied.
  </summary>
</histogram>

<histogram name="Download.InterruptedReason" enum="InterruptReason">
  <owner>asanka@chromium.org</owner>
  <summary>The reason that a download was interrupted.</summary>
</histogram>

<histogram name="Download.InterruptedReceivedSizeK" units="KB">
  <owner>asanka@chromium.org</owner>
  <summary>
    The number of kilobytes received for a download at the time it is
    interrupted.
  </summary>
</histogram>

<histogram name="Download.InterruptedTotalSizeK" units="KB">
  <owner>asanka@chromium.org</owner>
  <summary>
    The reported total size in kilobytes for a download at the time it is
    interrupted. This is essentially the size reported by the Content-Length
    header. If no size is specified up-front, it is not recorded in the
    histogram. For example, a download transferred with chunked encoding will
    not be recorded.
  </summary>
</histogram>

<histogram name="Download.InterruptedUnderrunBytes">
  <owner>asanka@chromium.org</owner>
  <summary>
    The excessive number of bytes which have been received at the time that a
    download is interrupted. This is only triggered when the total content size
    is known before any bytes are transferred, such as when a Content-Length
    header is supplied.
  </summary>
</histogram>

<histogram name="Download.InterruptedUnknownSize"
    enum="DownloadInterruptedUnknownSizeType">
  <owner>asanka@chromium.org</owner>
  <summary>
    True if the size of an interrupted download is unknown, false if it is
    known.
  </summary>
</histogram>

<histogram name="Download.IOSDownloadPassKitResult"
    enum="DownloadPassKitResult">
  <owner>gchatz@chromium.org</owner>
  <summary>
    Result when a user attempts to download a PassKit file on iOS with
    WKWebView.
  </summary>
</histogram>

<histogram name="Download.MaliciousDownloadClassified"
    enum="DownloadItem.DangerType">
  <owner>asanka@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    A download has been marked as malicious. Grouped by the type of danger. Each
    download can only be recorded once; it will be labeled with the first type
    of danger spotted.
  </summary>
</histogram>

<histogram name="Download.MapErrorNetworkFailed" enum="NetErrorCodes">
  <owner>asanka@chromium.org</owner>
  <summary>
    Network error that produced a DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED
    result in DownloadResourceHandler::OnResponseCompleted().
  </summary>
</histogram>

<histogram name="Download.MapWinShErrorAccessDenied"
    enum="SpecialShFileOperationCodes">
  <owner>asanka@chromium.org</owner>
  <summary>
    Windows error that produced a DOWNLOAD_INTERRUPT_REASON_ACCESS_DENIED result
    in MapShFileOperationCodes().
  </summary>
</histogram>

<histogram name="Download.MapWinShErrorFileFailed"
    enum="SpecialShFileOperationCodes">
  <owner>asanka@chromium.org</owner>
  <summary>
    Windows error that produced a DOWNLOAD_INTERRUPT_REASON_FILE_FAILED result
    in MapShFileOperationCodes().
  </summary>
</histogram>

<histogram name="Download.MapWinShErrorTransientError"
    enum="SpecialShFileOperationCodes">
  <owner>asanka@chromium.org</owner>
  <summary>
    Windows error that produced a DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR
    result in MapShFileOperationCodes().
  </summary>
</histogram>

<histogram name="Download.OnChanged">
  <owner>asanka@chromium.org</owner>
  <summary>
    Percentage of DownloadItem::Observer::OnDownloadUpdated events that
    signified a change in the extension API representation of the download.
  </summary>
</histogram>

<histogram name="Download.OpenMethod" enum="DownloadOpenMethod">
  <owner>asanka@chromium.org</owner>
  <summary>
    Invocation count for methods of opening a download. For some file types,
    Chrome defaults to opening the file in the browser instead of invoking the
    system handler. The user has the option of overriding this behavior.
  </summary>
</histogram>

<histogram name="Download.OpensOutstanding">
  <owner>asanka@chromium.org</owner>
  <summary>The number of unopened downloads, when one is opened.</summary>
</histogram>

<histogram name="Download.OpenTime" units="ms">
  <owner>asanka@chromium.org</owner>
  <summary>
    The time between a download completing and the file being opened.
  </summary>
</histogram>

<histogram name="Download.OriginStateOnFullResumption"
    enum="DownloadOriginStateOnResumption">
  <owner>asanka@chromium.org</owner>
  <summary>
    Changes observed when a response is received for a full download resumption
    request.
  </summary>
</histogram>

<histogram name="Download.OriginStateOnPartialResumption"
    enum="DownloadOriginStateOnResumption">
  <owner>asanka@chromium.org</owner>
  <summary>
    Changes observed when a response is received for a partial (byte-range)
    download resumption request.
  </summary>
</histogram>

<histogram name="Download.PageTransition" enum="CorePageTransition">
  <owner>asanka@chromium.org</owner>
  <summary>
    The core page transition type for navigation initiated downloads. Not
    recorded for programmatic downloads. This metric is recorded when the
    response headers were received and processed for a download. The number of
    samples here should correspond to Download.Counts[8] (Started) -
    (programmatic downloads that don't have a page transition type).
  </summary>
</histogram>

<histogram name="Download.ParallelDownload.CreationEvent"
    enum="ParallelDownloadCreationEvent">
  <owner>xingliu@chromium.org</owner>
  <summary>
    When parallel downloading feature is enabled, a download may be created as
    parallel download or fall back to normal download based on various factors.
    Records the total number of parallel and non-parallel downloads created when
    parallel downloading feature is enabled. Also records the reason why a
    parallel download falls back to normal download. The reasons are not
    mutually exclusive.
  </summary>
</histogram>

<histogram name="Download.ParallelDownload.RemainingTimeWhenBuildingRequests"
    units="seconds">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Records the remaining download time when building parallel requests.
  </summary>
</histogram>

<histogram name="Download.ParallelDownloadAddStreamSuccess"
    enum="BooleanSuccess">
  <owner>xingliu@chromium.org</owner>
  <summary>
    Records if the byte stream reader of a subsequent request is successfully
    added to the download sink.
  </summary>
</histogram>

<histogram name="Download.ParallelDownloadRequestCount" units="requests">
  <owner>xingliu@chromium.org</owner>
  <summary>
    The total number of requests sent for a parallel download, including the
    initial request.
  </summary>
</histogram>

<histogram name="Download.PotentialBandwidth" units="Bytes/second">
  <obsolete>
    Deprecated January 2017.
  </obsolete>
  <owner>asanka@chromium.org</owner>
  <summary>
    The maximum bandwidth (per read) that Chrome could have provided for the
    download.  If the actual bandwidth equals the potential bandwidth, that
    means that Chrome was the limiting factor for download bandwidth.
  </summary>
</histogram>

<histogram name="Download.ResourceHandlerBlockedPercentage" units="%">
  <owner>asanka@chromium.org</owner>
  <summary>
    The percentage of the lifetime of the DownloadResourceHandler for which it
    was blocked by downstream flow control.  0% indicates that the network
    bandwidth was the limiting factor for the download.
  </summary>
</histogram>

<histogram name="Download.ResultsRenderedTime" units="ms">
  <owner>dbeam@chromium.org</owner>
  <summary>
    Records the time taken to load the downloads Web UI and render (at least) a
    screen full of items. This is roughly equivalent to 'time to first
    meaningful paint' for the downloads page.
  </summary>
</histogram>

<histogram name="Download.SavePackage" enum="DownloadSavePackageEvent">
  <owner>asanka@chromium.org</owner>
  <summary>
    Events (e.g. Started, Cancelled, Finished, Write to Completed file, Write to
    Failed file) occuring within the state machine of a SavePackage operation.
  </summary>
</histogram>

<histogram name="Download.ShelfInProgressSizeOnAutoClose">
  <owner>asanka@chromium.org</owner>
  <summary>
    The number of download items in progress on the shelf when it closes
    automatically.
  </summary>
</histogram>

<histogram name="Download.ShelfInProgressSizeOnUserClose">
  <owner>asanka@chromium.org</owner>
  <summary>
    The number of download items in progress on the shelf when the user closes
    it.
  </summary>
</histogram>

<histogram name="Download.ShelfSizeOnAutoClose">
  <owner>asanka@chromium.org</owner>
  <summary>
    The number of download items on the shelf when it closes automatically.
  </summary>
</histogram>

<histogram name="Download.ShelfSizeOnUserClose">
  <owner>asanka@chromium.org</owner>
  <summary>
    The number of download items on the shelf when the user closes it.
  </summary>
</histogram>

<histogram name="Download.ShowDangerousDownloadConfirmationPrompt"
    enum="DownloadItem.DangerType">
  <owner>asanka@chromium.org</owner>
  <summary>
    User saw the confirm prompt to save a download which was marked dangerous.
    Grouped by the type of danger.
  </summary>
</histogram>

<histogram name="Download.Sources" enum="DownloadSource">
  <owner>asanka@chromium.org</owner>
  <summary>
    The initiation source (if initiated within the content layer of chrome) for
    a download.
  </summary>
</histogram>

<histogram name="Download.SourcesChrome" enum="ChromeDownloadSource">
  <owner>asanka@chromium.org</owner>
  <summary>
    The initiation source (if initiated within the above-content layer of
    chrome) for a download.
  </summary>
</histogram>

<histogram name="Download.Start.ContentType" enum="DownloadContentType">
  <owner>shaktisahu@chromium.org</owner>
  <summary>Content types of the downloads.</summary>
</histogram>

<histogram name="Download.Start.ContentType.NormalProfile"
    enum="DownloadContentType">
  <owner>shaktisahu@chromium.org</owner>
  <summary>
    Content types of the downloads that are started in non-incognito profile.
  </summary>
</histogram>

<histogram name="Download.TargetConnectionSecurity"
    enum="DownloadConnectionSecurity">
  <owner>jialiul@chromium.org</owner>
  <summary>
    The connection security state of a download, indicating whether its final
    resolved url and the redirects before final url are secure.
  </summary>
</histogram>

<histogram name="Download.Time" units="ms">
  <owner>asanka@chromium.org</owner>
  <summary>Time between the start of a download and its completion.</summary>
</histogram>

<histogram name="Download.TimeToRenameFailureAfterInitialFailure" units="ms">
  <owner>asanka@chromium.org</owner>
  <summary>
    Time elapsed until a retried download file rename operation failed for the
    last time after the initial rename failed.
  </summary>
</histogram>

<histogram name="Download.TimeToRenameSuccessAfterInitialFailure" units="ms">
  <owner>asanka@chromium.org</owner>
  <summary>
    Time elapsed until a retried download file rename operation succeeded after
    the initial rename failed.
  </summary>
</histogram>

<histogram name="Download.UserDiscard" enum="DownloadItem.DangerType">
  <owner>asanka@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    User chose to discard a download which was marked dangerous.  Grouped by the
    type of danger.
  </summary>
</histogram>

<histogram name="Download.WriteLoopCount">
  <obsolete>
    Deprecated 1/2017
  </obsolete>
  <owner>asanka@chromium.org</owner>
  <summary>
    The number of iterations for the write loop in BaseFile::AppendDataTofile().
  </summary>
</histogram>

<histogram name="Download.WriteSize" units="Bytes">
  <obsolete>
    Deprecated 1/2017
  </obsolete>
  <owner>asanka@chromium.org</owner>
  <summary>The write size for calls to BaseFile::AppendDataTofile().</summary>
</histogram>

<histogram name="Drive.BatchUploadResponseCode" enum="HttpResponseCode">
  <owner>hirono@chromium.org</owner>
  <summary>Respose code of batch upload request.</summary>
</histogram>

<histogram name="Drive.CacheDBOpenStatus" enum="DriveCacheDBOpenStatus">
  <obsolete>
    Deprecated 8/2013.
  </obsolete>
  <owner>joshwoodward@google.com</owner>
  <summary>Status of drive cache metadata database open.</summary>
</histogram>

<histogram name="Drive.DirectoryFeedLoadTime" units="ms">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Time spent to load the list of files in a single directory from Google Drive
    server.
  </summary>
</histogram>

<histogram name="Drive.DownloadFromDriveFileSize" units="KB">
  <owner>mtomasz@chromium.org</owner>
  <summary>
    Sizes of files being downloaded from Drive. Temporary histogram for
    gathering data for http://crbug.com/229650.
  </summary>
</histogram>

<histogram name="Drive.EntireFeedLoadTime" units="microseconds">
  <obsolete>
    Deprecated 12/2013 due to the UMA stat bucket layout change. We'll use
    Drive.FullFeedLoadTime instead.
  </obsolete>
  <owner>joshwoodward@google.com</owner>
  <summary>
    Time spent to load the entire file system information from the server
  </summary>
</histogram>

<histogram name="Drive.EntryKind" enum="DriveEntryKind">
  <obsolete>
    Deprecated 10/2012.
  </obsolete>
  <owner>joshwoodward@google.com</owner>
  <summary>
    Provides breakdown of specific formats for hosted documents. Recorded when
    feed is loaded from the server.
  </summary>
</histogram>

<histogram name="Drive.FileFormat" enum="DriveFileFormat">
  <obsolete>
    Deprecated 10/2012.
  </obsolete>
  <owner>joshwoodward@google.com</owner>
  <summary>
    Provides breakdown of specific file formats for regular files. Recorded when
    feed is loaded from the server.
  </summary>
</histogram>

<histogram name="Drive.FilesListRequestRunner.ApiErrorCode"
    enum="DriveApiErrorCode">
  <owner>mtomasz@chromium.org</owner>
  <summary>
    Error codes returned by the Drive API for files list requests executed via
    the FilesListRequestRunner class.
  </summary>
</histogram>

<histogram name="Drive.FilesListRequestRunner.MaxResults">
  <owner>mtomasz@chromium.org</owner>
  <summary>
    Maximum number of results for each files list request using the Drive API.
  </summary>
</histogram>

<histogram name="Drive.FullFeedLoadTime" units="ms">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Time spent to load the entire file system information from the server
  </summary>
</histogram>

<histogram name="Drive.InitialFeedLoadTime" units="microseconds">
  <obsolete>
    Deperecated 12/2013 since it did not record meaningful information.
    Drive.DirectoryFeedLoadTime should be checked for measuring the time until
    the user sees the first response of file lists.
  </obsolete>
  <owner>joshwoodward@google.com</owner>
  <summary>
    Time spent to load the initial part of the file system information from the
    server
  </summary>
</histogram>

<histogram name="Drive.MetadataDBInitResult" enum="DriveMetadataDBInitStatus">
  <owner>joshwoodward@google.com</owner>
  <summary>Result of drive resource metadata database initialization.</summary>
</histogram>

<histogram name="Drive.MetadataDBOpenExistingResult"
    enum="DriveMetadataDBInitStatus">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Result of attempt to open existing drive resource metadata database.
  </summary>
</histogram>

<histogram name="Drive.MetadataDBValidityCheckFailureReason"
    enum="DriveMetadataDBValidityCheckFailureReason">
  <owner>bengold@chromium.org</owner>
  <owner>hashimoto@chromium.org</owner>
  <summary>
    Reason of drive resource metadata database validity check failure. Recorded
    when the validity check fails during Drive metadata initialization triggered
    by profile initialization.
  </summary>
</histogram>

<histogram name="Drive.MetadataDBVersionBeforeUpgradeCheck">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Version number of drive resource metadata DB found on the disk before
    checking whether it should be upgraded. Recorded during Drive metadata
    initialization triggered by profile initialization.
  </summary>
</histogram>

<histogram name="Drive.NumberOfCacheFilesRecoveredAfterDBCorruption">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Number of files recovered from Drive cache directory. Recorded when file
    recovery takes place after metadata DB corruption is found during metadata
    DB initialization.
  </summary>
</histogram>

<histogram name="Drive.NumberOfHostedDocuments">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Number of hosted documents (spreadsheets etc.) on Drive. Logged when Drive
    is first accessed.
  </summary>
</histogram>

<histogram name="Drive.NumberOfRegularFiles">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Number of regualr files on Drive.  Logged when Drive is first accessed.
  </summary>
</histogram>

<histogram name="Drive.NumberOfTotalFiles">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Number of total files (regualr files + hosted documents) on Drive.  Logged
    when Drive is first accessed.
  </summary>
</histogram>

<histogram name="Drive.PushNotificationInitiallyEnabled" enum="BooleanEnabled">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Tracks whether the push notification is initially enabled for Drive.
    Recorded when the first notification is processed. Notification is emulated
    by polling if the push notication is disabled.
  </summary>
</histogram>

<histogram name="Drive.PushNotificationRegistered" enum="BooleanRegistered">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Tracks whether the push notification request is registered correctly for
    Drive. Recorded when the push notification manager is initialized.
  </summary>
</histogram>

<histogram name="Drive.SearchMetadataTime" units="microseconds">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Time spent to perform an incremental search for auto completion of files on
    Drive. This time is collected for every partial query the user types for
    auto completion.  For instance, if the user types &quot;faq&quot;,
    incremental searches are performed for &quot;f&quot;, &quot;fa&quot;, and
    &quot;faq&quot; respectively.
  </summary>
</histogram>

<histogram name="Drive.TotalFileCountInBatchUpload">
  <owner>hirono@chromium.org</owner>
  <summary>Total file count contained in a drive batch upload request.</summary>
</histogram>

<histogram name="Drive.TotalFileSizeInBatchUpload" units="KB">
  <owner>hirono@chromium.org</owner>
  <summary>Total file size contained in a drive batch upload request.</summary>
</histogram>

<histogram name="Drive.TransferBlockedOnJobs" units="jobs">
  <owner>mtomasz@chromium.org</owner>
  <summary>
    Number of jobs which have to be completed before a newly added download or
    download from or to Drive is requested. Temporary histogram for gathering
    data for http://crbug.com/229650.
  </summary>
</histogram>

<histogram name="Drive.UploadProtocol" enum="DriveUploadProtocol">
  <owner>hirono@chromium.org</owner>
  <summary>
    Upload protocol for each file. e.g. Batch upload including 5 files triggers
    the metric 5 times.
  </summary>
</histogram>

<histogram name="Drive.UploadToDriveFileSize" units="KB">
  <owner>mtomasz@chromium.org</owner>
  <summary>
    Sizes of files being uploaded to Drive. Temporary histogram for gathering
    data for http://crbug.com/229650.
  </summary>
</histogram>

<histogram name="DriveOffline.CrosAutoEnableOutcome"
    enum="CrosEnableDriveOfflineOutcome">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Outcome of enabling Google Drive offline mode automatically when a user
    first logs into a Chrome OS device. This process involves opening a hidden
    web page in the context of the Google Drive hosted app to perform the
    initialization of offline mode.
  </summary>
</histogram>

<histogram name="EasyUnlock.AuthenticationSuccess" enum="BooleanSuccess">
  <owner>joshwoodward@google.com</owner>
  <owner>isherman@chromium.org</owner>
  <summary>
    When Easy Unlock attempts to authenticate the secure connection between a
    Chromebook (or other Chrome device) and an Android phone, whether the
    authentication succeeded.
  </summary>
</histogram>

<histogram name="EasyUnlock.AuthEvent.DidUserManuallyUnlockPhone"
    enum="EasyUnlockDidUserManuallyUnlockPhone">
  <owner>isherman@google.com</owner>
  <owner>xiaowenx@google.com</owner>
  <owner>xiyuan@google.com</owner>
  <summary>
    Upon a successful Smart Lock unlock or signin, records whether the user's
    phone was locked during any point while the lock screen was up. This can be
    used to get a sense for whether users are using Smart Lock for Chromebook
    without something like Smart Lock for Android to keep their phones unlocked.
  </summary>
</histogram>

<histogram name="EasyUnlock.AuthEvent.SignIn" enum="EasyUnlockAuthEvent">
  <owner>isherman@google.com</owner>
  <owner>xiaowenx@google.com</owner>
  <owner>xiyuan@google.com</owner>
  <summary>
    Measures the use of Smart Lock on the sign-in screen: records whether a
    Smart Lock login succeeded or failed; or if a password fallback was used,
    the reason why. Recorded upon a login attempt for users who have the Smart
    Lock feature enabled.
  </summary>
</histogram>

<histogram name="EasyUnlock.AuthEvent.SignIn.Duration" units="ms">
  <owner>isherman@google.com</owner>
  <owner>tengs@google.com</owner>
  <owner>xiaowenx@google.com</owner>
  <summary>
    Measures the time elapsed between the user focusing their user pod and
    signing in using Smart Lock.
  </summary>
</histogram>

<histogram name="EasyUnlock.AuthEvent.Unlock" enum="EasyUnlockAuthEvent">
  <owner>isherman@google.com</owner>
  <owner>xiaowenx@google.com</owner>
  <owner>xiyuan@google.com</owner>
  <summary>
    Measures the use of Smart Lock on the lock screen: records whether a Smart
    Lock unlock attempt succeeded or failed; or if a password fallback was used,
    the reason why. Recorded upon an unlock attempt for users who have the Smart
    Lock feature enabled.
  </summary>
</histogram>

<histogram name="EasyUnlock.AuthEvent.Unlock.Duration" units="ms">
  <owner>isherman@google.com</owner>
  <owner>tengs@google.com</owner>
  <owner>xiaowenx@google.com</owner>
  <summary>
    Measures the time elapsed between the lock screen being shown and the user
    unlocking the device using Smart Lock. The lock screen is typically shown
    when the user opens their Chromebook's lid (or otherwise wakes the
    computer), but can also be shown when the user manually locks the device.
  </summary>
</histogram>

<histogram name="EasyUnlock.AuthProximity.RemoteDeviceModelHash"
    enum="EasyUnlockDeviceModelHash">
  <owner>tengs@chromium.org</owner>
  <owner>xiaowenx@chromium.org</owner>
  <summary>
    The hash of the phone model used to successfully sign in or unlock using
    Smart Lock.
  </summary>
  <details>
    This hash is calculated by taking the first 4 bytes of the MD5 hash of the
    device model.
  </details>
</histogram>

<histogram name="EasyUnlock.AuthProximity.RollingRssi" units="dBm">
  <owner>tengs@chromium.org</owner>
  <owner>xiaowenx@chromium.org</owner>
  <summary>
    Measures the exponentially weighted rolling average of the received signal
    strength indicator (RSSI) of the phone when the user successfully unlocks or
    signs in using Smart Lock.
  </summary>
  <details>
    The exponentially weighted averaging formula is:

      rollingRssi = (1 - weight) * rollingRssi + weight * currentRssi;

    RSSI readings are inherently noisy, so this averaging gives a smoothed RSSI
    value to work with as a heuristic for proximity.

    If no RSSI was read, then a sentinel value of 127 will be recorded.
  </details>
</histogram>

<histogram name="EasyUnlock.AuthProximity.TimeSinceLastZeroRssi" units="ms">
  <owner>tengs@chromium.org</owner>
  <owner>xiaowenx@chromium.org</owner>
  <summary>
    Measures the time delta in milliseconds since the last zero RSSI value was
    read to when the user successfully unlocks or signs in using Smart Lock.
  </summary>
  <details>
    A zero RSSI value is special because both Bluetooth devices in a connection
    attempt to maintain by adjusting their transmit power levels. This time
    delta can be used as a possible heuristic to determine that the phone is
    close to the local device.

    If no RSSI was read, then an overflow value will be recorded.
  </details>
</histogram>

<histogram name="EasyUnlock.AuthProximity.TransmitPowerDelta" units="dBm">
  <owner>tengs@chromium.org</owner>
  <owner>xiaowenx@chromium.org</owner>
  <summary>
    Measures the difference between the current transmit power and the maximum
    transmit power of the local device when the user successfully unlocks or
    signs in using Smart Lock.
  </summary>
  <details>
    Devices connected using classic Bluetooth adjust their transmit power
    dynamically to optimize power and signal strength. The difference between
    the current transmit power and maximum transmit power can be used as a
    heurstic to determine if the phone is close to the local device.

    According to the Bluetooth specs, there are three classes of devices, with a
    maximum transmit power of 20, 4, and 0 dBm respectively.

    If no transmit power was read, then a sentinel value of 127 will be
    recorded.
  </details>
</histogram>

<histogram name="EasyUnlock.BluetoothAvailability"
    enum="EasyUnlockBluetoothType">
  <obsolete>
    Deprecated as of 02/2017.
  </obsolete>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Reports the type of Bluetooth adapter present in the device.
  </summary>
  <details>
    Statistics about what Bluetooth capabilities are available will determine
    how the EasyUnlock feature gets developed and deployed across platforms.

    This value is logged only once during the lifetime of the Chrome process,
    shortly after it starts up.  If a Bluetooth USB adapter is inserted after
    that point, the change will not be registered until Chrome restarts.
  </details>
</histogram>

<histogram name="EasyUnlock.ClickedButton" enum="EasyUnlockButton">
  <owner>joshwoodward@google.com</owner>
  <owner>tbarzic@chromium.org</owner>
  <summary>Button clicked in EasyUnlock app during setup process.</summary>
</histogram>

<histogram name="EasyUnlock.NotificationEvent"
    enum="EasyUnlockNotificationEvent">
  <obsolete>
    Deprecated 02/2015. Replaced by EasyUnlock.Setup.PromoNotificationEvent.
  </obsolete>
  <owner>joshwoodward@google.com</owner>
  <owner>tbarzic@chromium.org</owner>
  <summary>
    Tracks events related to notifications used by EasyUnlock feature. For
    example a specific EasyUnlock notification being shown or clicked.
  </summary>
</histogram>

<histogram name="EasyUnlock.RemoteLockScreenState"
    enum="EasyUnlockRemoteLockScreenState">
  <owner>joshwoodward@google.com</owner>
  <owner>tengs@chromium.org</owner>
  <owner>isherman@chromium.org</owner>
  <summary>
    Whether a lock screen and a trust agent are enabled on the remote device
    (Android phone) for Easy Unlock. Recorded once per status update message
    from the remote device. A status update message is expected to be sent once
    when the secure channel between the local and the remote device is
    established, and also each time the user-presence status changes on the
    remote side.
  </summary>
</histogram>

<histogram name="EasyUnlock.Setup.Devices.Count.Eligible">
  <owner>isherman@chromium.org</owner>
  <owner>xiaowenx@chromium.org</owner>
  <summary>
    The number of eligible devices that the CryptAuth server returns during the
    Smart Lock setup flow.
  </summary>
  <details>
    Note that a single user might report multiple values, for example if they
    try to complete the setup flow with a device in airplane mode, and then try
    again taking the device out of airplane mode.
  </details>
</histogram>

<histogram name="EasyUnlock.Setup.Devices.Count.Ineligible">
  <owner>isherman@chromium.org</owner>
  <owner>xiaowenx@chromium.org</owner>
  <summary>
    The number of ineligible devices that the CryptAuth server returns during
    the Smart Lock setup flow.
  </summary>
  <details>
    Note that a single user might report multiple values, for example if they
    try to complete the setup flow with a device in airplane mode, and then try
    again taking the device out of airplane mode.
  </details>
</histogram>

<histogram name="EasyUnlock.Setup.Devices.HasSecureScreenLock"
    enum="EasyUnlockHasSecureScreenLock">
  <owner>isherman@chromium.org</owner>
  <owner>xiaowenx@chromium.org</owner>
  <summary>
    Whether the user's phone has a secure screen lock installed. Recorded during
    Smart Lock setup, when the user's phone first connects to the Chromebook.
  </summary>
</histogram>

<histogram name="EasyUnlock.Setup.Devices.HasTrustAgentEnabled"
    enum="EasyUnlockHasTrustAgentEnabled">
  <owner>isherman@chromium.org</owner>
  <owner>xiaowenx@chromium.org</owner>
  <summary>
    Whether the user's phone has a trust agent -- e.g. Smart Lock for Android --
    enabled. Recorded during Smart Lock (for Chrome) setup, when the user's
    phone first connects to the Chromebook.
  </summary>
  <details>
    Note that this histogram tracks whether the setting under Settings ~&gt;
    Security ~&gt; Trust agents ~&gt; Smart Lock (Google) (or any other trust
    agent) is enabled. The Smart Lock trust agent is enabled by default for
    users who have ascure lock screen. This metric does _not_ measure whether
    users have any Smart Lock trustlets enabled.
  </details>
</histogram>

<histogram name="EasyUnlock.Setup.Devices.IneligibilityReason"
    enum="EasyUnlockDeviceIneligibilityReason">
  <owner>isherman@chromium.org</owner>
  <owner>xiaowenx@chromium.org</owner>
  <summary>
    Records the most actionable reason why none of a user's devices were
    eligible as unlock keys for Smart Lock. This is recorded during the Smart
    Lock setup flow, only if the CryptAuth server returns no eligible devices
    for the user.
  </summary>
  <details>
    To be precise, this metric tracks the _least_ actionable _reason_ why the
    _most_ actionable _device_ is not eligible as an unlock key. For example,
    suppose that the user has 10 ineligible devices returned. This metric tries
    to identify the most likely candidate device for use as a Smart Lock key,
    and then records the most confounding reason why that device is still not
    eligible to be used as an unlock key.
  </details>
</histogram>

<histogram name="EasyUnlock.Setup.PromoNotificationEvent"
    enum="EasyUnlockPromoNotificationEvent">
  <owner>isherman@chromium.org</owner>
  <owner>xiaowenx@chromium.org</owner>
  <summary>
    Measures user interactions with the Smart Lock promo notification.
  </summary>
  <details>
    Due to technical limitations of the implementation, it is hard to track
    precisely which users opened the setup app as a result of interacting with
    the promo notification. This metric measures setup app interactions from all
    users who click on the promo notification, and subsequently launch the setup
    app.
  </details>
</histogram>

<histogram name="EasyUnlock.SetupStateOnClose" enum="EasyUnlockSetupState">
  <owner>joshwoodward@google.com</owner>
  <owner>tbarzic@chromium.org</owner>
  <summary>
    The state of EasyUnlock setup when the app window was closed by user.
  </summary>
</histogram>

<histogram name="EasyUnlock.SignIn.LoginEvent" enum="EasyUnlockAuthEvent">
  <obsolete>
    Deprecated 02/2015; replaced by EasyUnlock.AuthEvent.SignIn.
  </obsolete>
  <owner>xiaowenx@google.com</owner>
  <owner>xiyuan@google.com</owner>
  <summary>
    Measures the use of Easy sign-in: records whether an Easy sign-in login
    succeeded or failed; or if a password fallback was used, the reason why.
    Recorded upon a login attempt for users who have the Easy sign-in feature
    enabled.
  </summary>
</histogram>

<histogram name="EasyUnlock.StartupTimeFromSuspend" units="ms">
  <owner>joshwoodward@google.com</owner>
  <owner>tengs@chromium.org</owner>
  <summary>
    The time it takes after resuming from a suspended state (ie. opening the
    Chromebook lid) to when a remote device is connected and a request is made.
    Note that it is possible for the remote device not to be present when
    resuming from suspend, and the device may be connected at a later time.
    Therefore, large values for this metric may not be too meaningful due to
    meddling users.
  </summary>
</histogram>

<histogram name="EasyUnlock.TrialRun.Events" enum="EasyUnlockTrialRunEvents">
  <owner>isherman@chromium.org</owner>
  <owner>xiaowenx@chromium.org</owner>
  <summary>
    Records when the Easy Unlock trial run is launched, and when the user
    attempts to click on the lock icon during the trial run.
  </summary>
  <details>
    If a user clicks on the lock icon more than once, then the &quot;clicked
    lock icon&quot; event counter will be incremented more than once as well.
    Hence, the &quot;user count&quot; data shows how many users ever clicked on
    the lock icon during the trial run. From the raw (non-&quot;user
    count&quot;) data, we can also see whether users click on the icon multiple
    times.
  </details>
</histogram>

<histogram name="EasyUnlock.UnlockEvent" enum="EasyUnlockUnlockEvent">
  <obsolete>
    Deprecated 02/2015; replaced by EasyUnlock.AuthEvent.Unlock.
  </obsolete>
  <owner>joshwoodward@google.com</owner>
  <owner>tbarzic@chromium.org</owner>
  <summary>Screen unlock events detected while EasyUnlock was enabled.</summary>
</histogram>

<histogram name="EmbeddedWorkerInstance.ExistingProcessAllocation" units="ms">
  <obsolete>
    Deprecated 03/2016; replaced by
    EmbeddedWorkerInstance.Start.SendStartWorker_ExistingProcess and
    EmbeddedWorkerInstance.Start.TimeToURLJob_ExistingProcess.
  </obsolete>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time taken to allocate a process to start the EmbeddedWorkerInstance.
    Recorded when an existing process was used.
  </summary>
</histogram>

<histogram name="EmbeddedWorkerInstance.NewProcessAllocation" units="ms">
  <obsolete>
    Deprecated 03/2016; replaced by
    EmbeddedWorkerInstance.Start.SendStartWorker_NewProcess and
    EmbeddedWorkerInstance.Start.TimeToURLJob_NewProcess.
  </obsolete>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time taken to allocate a process to start the EmbeddedWorkerInstance.
    Recorded when a new process was created.
  </summary>
</histogram>

<histogram name="EmbeddedWorkerInstance.ProcessAllocation" units="ms">
  <obsolete>
    Deprecated as of 05/2015. Replaced by
    EmbeddedWorkerInstance.NewProcessAllocation and
    EmbeddedWorkerInstance.ExistingProcessAllocation.
  </obsolete>
  <owner>horo@chromium.org</owner>
  <summary>
    The time taken to allocate a process to start the EmbeddedWorkerInstance.
  </summary>
</histogram>

<histogram name="EmbeddedWorkerInstance.ProcessCreated" enum="BooleanCreated">
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Whether a new renderer process was created for the EmbeddedWorkerInstance or
    existing one was used. Only recorded for installed workers.
  </summary>
</histogram>

<histogram name="EmbeddedWorkerInstance.ScriptEvaluate" units="ms">
  <obsolete>
    Deprecated as of 03/2016. Replaced by
    EmbeddedWorkerInstance.Start.TimeToEvaluateScript.
  </obsolete>
  <owner>horo@chromium.org</owner>
  <summary>
    The time taken to evaluate the script to start the EmbeddedWorkerInstance.
  </summary>
</histogram>

<histogram name="EmbeddedWorkerInstance.ScriptLoadWithNetworkAccess" units="ms">
  <obsolete>
    Deprecated as of 03/2016. Replaced by
    EmbeddedWorkerInstance.Start.TimeToLoad_Network.
  </obsolete>
  <owner>horo@chromium.org</owner>
  <summary>
    The time taken to load the script file for the EmbeddedWorkerInstance with
    network access.
  </summary>
</histogram>

<histogram name="EmbeddedWorkerInstance.ScriptLoadWithoutNetworkAccess"
    units="ms">
  <obsolete>
    Deprecated as of 03/2016. Replaced by
    EmbeddedWorkerInstance.Start.TimeToLoad_HttpCache and
    EmbeddedWorkerInstance.Start.TimeToLoad_InstalledScript.
  </obsolete>
  <owner>horo@chromium.org</owner>
  <summary>
    The time taken to load the script file for the EmbeddedWorkerInstance
    without network access.
  </summary>
</histogram>

<histogram name="EmbeddedWorkerInstance.Start.TimeToEvaluateScript" units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    The time taken for initial evaluation of the service worker script.
    Specifically, the time between ACK from the renderer that the thread started
    and ACK that the script evaluation finished. Only recorded for installed
    workers.
  </summary>
</histogram>

<histogram name="EmbeddedWorkerInstance.Start.TimeToLoad.HttpCache" units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    The time taken to load a new (not installed) service worker, when it came
    from the HTTP cache.
  </summary>
</histogram>

<histogram name="EmbeddedWorkerInstance.Start.TimeToLoad.InstalledScript"
    units="ms">
  <owner>falken@chromium.org</owner>
  <summary>The time taken to load an installed service worker.</summary>
</histogram>

<histogram name="EmbeddedWorkerInstance.Start.TimeToLoad.Network" units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    The time taken to load a new (not installed) service worker, when it came
    from the network.
  </summary>
</histogram>

<histogram name="EmbeddedWorkerInstance.Start.TimeToSendStartWorker" units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    The time taken between deciding to start a worker and sending the start
    worker IPC. Only recorded for installed workers.
  </summary>
</histogram>

<histogram name="EmbeddedWorkerInstance.Start.TimeToStartThread" units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    The time taken to start the service worker thread. Specifically, the time
    between ACK from the renderer that load finished and ACK that the thread
    started. Does not include script evaluation time. Only recorded for
    installed workers.
  </summary>
</histogram>

<histogram name="EmbeddedWorkerInstance.Start.TimeToURLJob" units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    The round-trip time between asking the renderer process to start a worker
    and receiving the corresponding resource request. Only recorded for
    installed workers.
  </summary>
</histogram>

<histogram name="EnhancedBookmarks.AllBookmarksCount">
  <obsolete>
    Removed 4/2016 after we no longer show &quot;all bookamrks&quot; in bookmark
    manager.
  </obsolete>
  <owner>ianwen@chromium.org</owner>
  <summary>Number of bookmarks the user has. Android only.</summary>
</histogram>

<histogram name="EnhancedBookmarks.SyncExperimentState"
    enum="BookmarksExperimentState">
  <obsolete>
    Removed 3/2015 along with the enhanced bookmarks sync experiment.
  </obsolete>
  <owner>noyau@chromium.org</owner>
  <owner>yefim@chromium.org</owner>
  <summary>
    Captures the state the enhanced bookmark experiment is in. Recorded on
    startup. To be removed once the enhanced bookmark experiment is finished.
    see crbug/323423.
  </summary>
</histogram>

<histogram name="EnhancedBookmarks.ViewMode" enum="EnhancedBookmarkViewMode">
  <obsolete>
    Removed 9/2015 after list view became the only view mode.
  </obsolete>
  <owner>ianwen@chromium.org</owner>
  <summary>
    Record which Enhanced Bookmark UI mode users are in. This will be recorded
    everytime the user opens the bookmark manager UI.
  </summary>
</histogram>

<histogram name="Enterprise.AppRestrictionLoadTime" units="ms">
  <owner>aberent@chromium.org</owner>
  <summary>
    Android Only - Time to load the App Restrictions from the O.S..
  </summary>
</histogram>

<histogram name="Enterprise.AppRestrictionsCacheLoad" enum="BooleanSuccess">
  <owner>aberent@chromium.org</owner>
  <summary>
    Android Only - Whether Chrome was able to read and decode the
    AppRestrictions policy cache on startup.
  </summary>
</histogram>

<histogram name="Enterprise.AttributesTPMConsistency"
    enum="EnterpriseAttributesTPMConsistencyType">
  <owner>tnagel@chromium.org</owner>
  <summary>
    Consistency between TPM lock state and absence/presence of install
    attributes at boot.
  </summary>
</histogram>

<histogram name="Enterprise.AutoEnrollmentExtraTime" units="ms">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Time since the user logged in until the auto-enrollment protocol completed.
    0 is sampled when the protocol is done by the time the user logs in.
  </summary>
</histogram>

<histogram name="Enterprise.AutoEnrollmentProtocolTime" units="ms">
  <owner>mnissler@chromium.org</owner>
  <summary>Total duration time of the auto-enrollment protocol.</summary>
</histogram>

<histogram name="Enterprise.AutoEnrollmentRequestNetworkErrorCode"
    enum="NetErrorCodes">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Network error code (if applicable) for auto-enrollment requests.
  </summary>
</histogram>

<histogram name="Enterprise.AutoEnrollmentRequestStatus"
    enum="EnterpriseDeviceManagementStatus">
  <owner>mnissler@chromium.org</owner>
  <summary>URL fetcher status for auto-enrollment requests.</summary>
</histogram>

<histogram name="Enterprise.DevicePolicyInvalidations"
    enum="EnterprisePolicyInvalidations">
  <owner>bartfab@chromium.org</owner>
  <summary>
    Events for counting device policy invalidations received with and without
    payloads. Invalidations indicate that a policy has been updated and should
    be refreshed. Payloads provide context about the policy update, but may be
    absent if dropped by the invalidation service.
  </summary>
</histogram>

<histogram name="Enterprise.DevicePolicyRefresh" enum="EnterprisePolicyRefresh">
  <owner>bartfab@chromium.org</owner>
  <summary>
    Events measuring effectiveness of refreshing device policy when
    invalidations are received from a service. For each refresh, indicates
    whether the policy changed, and whether the policy was invalidated at the
    time of the refresh.
  </summary>
</histogram>

<histogram name="Enterprise.DMServerRequestSuccess"
    enum="EnterpriseDMServerRequestSuccess">
  <owner>hunyadym@chromium.org</owner>
  <summary>
    Number of retries the client did to execute a DeviceManagementServer
    request. It's recorded after the request has been completed, either
    successfully after 0 or more retries, with a failure (too many retries or
    non-retriable error) or with a server error.
  </summary>
</histogram>

<histogram name="Enterprise.DMToken" enum="EnterpriseDMTokenType">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Events related to fetching, saving and loading DM server tokens. These are
    used to retrieve cloud policies.
  </summary>
</histogram>

<histogram name="Enterprise.DomainWhitelistRegexFailure"
    enum="EnterpriseDomainRegex">
  <owner>atwilson@chromium.org</owner>
  <summary>
    Temporary metric tracking which regex caused an icu::RegexMatcher
    initialization failure, to help figure out the cause of
    http://crbug.com/365351 which we can't repro locally.
  </summary>
</histogram>

<histogram name="Enterprise.DomainWhitelistRegexFailureStatus"
    units="icu error">
  <owner>atwilson@chromium.org</owner>
  <summary>
    Temporary metric tracking the type of an icu::RegexMatcher initialization
    failure, to help figure out the cause of http://crbug.com/365351 which we
    can't repro locally.
  </summary>
</histogram>

<histogram name="Enterprise.DomainWhitelistRegexSuccess" enum="BooleanSuccess">
  <owner>atwilson@chromium.org</owner>
  <summary>
    Temporary metric tracking the success of icu::RegexMatcher IcuMatcher
    initialization, to help figure out the cause of http://crbug.com/365351.
  </summary>
</histogram>

<histogram name="Enterprise.EnrolledPolicyHasDMToken" enum="Boolean">
  <owner>tnagel@chromium.org</owner>
  <summary>
    Whether loading of device policy from file on an enterprise-enrolled
    (checked against install_attributes.pb) Chrome OS device yields an
    enterprise policy with a DM token.  Filled once during session startup,
    after first successful device policy read.
  </summary>
</histogram>

<histogram name="Enterprise.Enrollment" enum="EnterpriseEnrollmentType">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Events related to device enrollment on new installs of Chrome OS devices.
  </summary>
</histogram>

<histogram name="Enterprise.EnrollmentForced" enum="EnterpriseEnrollmentType">
  <owner>tnagel@chromium.org</owner>
  <summary>
    Events related to forced re-enrollment (FRE) of Chrome OS devices.
  </summary>
</histogram>

<histogram name="Enterprise.EnrollmentRecovery" enum="EnterpriseEnrollmentType">
  <owner>tnagel@chromium.org</owner>
  <summary>
    Events related to Chrome OS enterprise enrollment recovery.  Note that this
    only covers cases in which prior to recovery, the &quot;private owner&quot;
    of the device had UMA stats enabled.
  </summary>
</histogram>

<histogram name="Enterprise.EnrollmentTime.Cancel" units="ms">
  <owner>tnagel@chromium.org</owner>
  <summary>
    Elapsed time from *after* GAIA login until enrollment was cancelled.
  </summary>
</histogram>

<histogram name="Enterprise.EnrollmentTime.Failure" units="ms">
  <owner>tnagel@chromium.org</owner>
  <summary>
    Elapsed time from *after* GAIA login until enrollment failed.
  </summary>
</histogram>

<histogram name="Enterprise.EnrollmentTime.Success" units="ms">
  <owner>tnagel@chromium.org</owner>
  <summary>
    Elapsed time from *after* GAIA login until enrollment succeeded.
  </summary>
</histogram>

<histogram name="Enterprise.IOSPolicies">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Number of policies loaded at startup on iOS, and when a change is detected
    at runtime.
  </summary>
</histogram>

<histogram name="Enterprise.ONC.PolicyValidation" enum="BooleanSuccess">
  <owner>mnissler@chromium.org</owner>
  <summary>Result of the OpenNetworkConfiguration policy validation.</summary>
</histogram>

<histogram name="Enterprise.Policies" enum="EnterprisePolicies">
  <owner>mnissler@chromium.org</owner>
  <summary>
    A set of enterprise policy rules that are in use. This is recorded every 24
    hours and at startup, if the last recording was earlier than a day before.
  </summary>
</histogram>

<histogram name="Enterprise.Policy" enum="EnterprisePolicyType">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Events related to fetching, saving and loading user policies, and also
    device policies on Chrome OS.
  </summary>
</histogram>

<histogram name="Enterprise.PolicyHasVerifiedCachedKey"
    enum="BooleanValidKeyExists">
  <owner>atwilson@chromium.org</owner>
  <summary>
    Boolean tracking whether there is a valid policy signing key on disk.
  </summary>
</histogram>

<histogram name="Enterprise.PolicyInvalidations"
    enum="EnterprisePolicyInvalidations">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Events for counting user policy invalidations received with and without
    payloads. Invalidations indicate that a policy has been updated and should
    be refreshed. Payloads provide context about the policy update, but may be
    absent if dropped by the invalidation service.
  </summary>
</histogram>

<histogram name="Enterprise.PolicyInvalidationsStartupTime" units="ms">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Time since startup of the cloud policy code until the policy invalidation
    service first reported its online status.
  </summary>
</histogram>

<histogram name="Enterprise.PolicyKeyVerification"
    enum="EnterprisePolicyKeyVerification">
  <owner>atwilson@chromium.org</owner>
  <summary>Tracking the results of policy key verification.</summary>
</histogram>

<histogram name="Enterprise.PolicyLoadStatus" enum="EnterprisePolicyLoadStatus">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Load status from the policy loaders which pull policy settings from the
    underlying platform, such as Windows Group Policy.
  </summary>
</histogram>

<histogram name="Enterprise.PolicyRefresh" enum="EnterprisePolicyRefresh">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Events measuring effectiveness of refreshing user policy when invalidations
    are received from a service. For each refresh, indicates whether the policy
    changed, and whether the policy was invalidated at the time of the refresh.
  </summary>
</histogram>

<histogram name="Enterprise.PublicSession.SessionLength" units="minutes">
  <owner>xiyuan@chromium.org</owner>
  <owner>sduraisamy@chromium.org</owner>
  <summary>
    A public session starts when a user signs in using the policy configured
    public account. It stops when the user signs out. Session length is the
    duration between the start and stop events. It is recorded during signing
    out and reported on the next chrome run. This metric tracks the recorded
    session length rounded down to the nearest 10-minute bucket and capped at 24
    hours.
  </summary>
</histogram>

<histogram name="Enterprise.RegularUserSession.SessionLength" units="minutes">
  <owner>xiyuan@chromium.org</owner>
  <owner>sduraisamy@chromium.org</owner>
  <summary>
    A regular user session starts when a user signs in using his/her user
    account. It stops when the user signs out. Session length is the duration
    between the start and stop events. It is recorded during signing out and
    reported on the next chrome run. This metric tracks the recorded session
    length on an enrolled device rouned down to the nearest 10-minute bucket and
    capped at 24 hours.
  </summary>
</histogram>

<histogram name="Enterprise.SystemLogPIILeak" enum="SystemLogPIIType">
  <obsolete>
    Deprecated and removed from code as of 01/2016.
  </obsolete>
  <owner>pbond@chromium.org</owner>
  <summary>
    Events for counting sensitive data occurrences in system logs to upload.
    (Email addresses, IP addresses, SSIDs, URLs). The lines with this data will
    be removed before upload.
  </summary>
</histogram>

<histogram name="Enterprise.UploadJobSuccess" enum="EnterpriseUploadJobSuccess">
  <owner>hunyadym@chromium.org</owner>
  <summary>
    Number of retries the client did to execute an UploadJob. It's recorded
    after the request has been completed, either successfully after 0 or more
    retries, with a failure because of too many retries or if the UploadJob is
    interrupted (destroyed before it could succeed or fail).
  </summary>
</histogram>

<histogram name="Enterprise.UserCloudPolicyStore.LoadStatus"
    enum="PolicyLoadStatus">
  <owner>atwilson@chromium.org</owner>
  <summary>
    Result of the attempted policy load during profile initialization.
  </summary>
</histogram>

<histogram name="Enterprise.UserCloudPolicyStore.LoadValidationStatus"
    enum="PolicyValidationStatus">
  <owner>atwilson@chromium.org</owner>
  <summary>
    Result of validating the policy that has just been loaded from disk.
  </summary>
</histogram>

<histogram name="Enterprise.UserCloudPolicyStore.StoreValidationStatus"
    enum="PolicyValidationStatus">
  <owner>atwilson@chromium.org</owner>
  <summary>
    Result of validating the policy sent down from the server, before writing to
    disk.
  </summary>
</histogram>

<histogram name="Enterprise.UserPolicyChromeOS.DelayInitialization" units="ms">
  <owner>mnissler@chromium.org</owner>
  <summary>Initialization delay due to loading the user policy cache.</summary>
</histogram>

<histogram name="Enterprise.UserPolicyChromeOS.InitialFetch.ClientError"
    enum="EnterpriseDeviceManagementStatus">
  <owner>mnissler@chromium.org</owner>
  <summary>Policy client error during initial policy fetch.</summary>
</histogram>

<histogram
    name="Enterprise.UserPolicyChromeOS.InitialFetch.DelayClientRegister"
    units="ms">
  <owner>mnissler@chromium.org</owner>
  <summary>Delay for registering the client with the policy server.</summary>
</histogram>

<histogram name="Enterprise.UserPolicyChromeOS.InitialFetch.DelayOAuth2Token"
    units="ms">
  <owner>mnissler@chromium.org</owner>
  <summary>Delay for minting an OAuth2 acccess token.</summary>
</histogram>

<histogram name="Enterprise.UserPolicyChromeOS.InitialFetch.DelayPolicyFetch"
    units="ms">
  <owner>mnissler@chromium.org</owner>
  <summary>Delay for fetching policy from the policy server.</summary>
</histogram>

<histogram name="Enterprise.UserPolicyChromeOS.InitialFetch.DelayTotal"
    units="ms">
  <owner>mnissler@chromium.org</owner>
  <summary>Total delay for the initial policy fetch.</summary>
</histogram>

<histogram name="Enterprise.UserPolicyChromeOS.InitialFetch.OAuth2Error"
    enum="GoogleServiceAuthError">
  <owner>mnissler@chromium.org</owner>
  <summary>Service error during OAuth2 access token fetch.</summary>
</histogram>

<histogram name="Enterprise.UserPolicyChromeOS.InitialFetch.OAuth2NetworkError"
    enum="NetErrorCodes">
  <owner>mnissler@chromium.org</owner>
  <summary>Network error during OAuth2 access token fetch.</summary>
</histogram>

<histogram name="Enterprise.UserPolicyValidationFailure"
    enum="ValidationFailures">
  <owner>mnissler@chromium.org</owner>
  <summary>Source of policy validation errors on ChromeOS.</summary>
</histogram>

<histogram name="Enterprise.UserPolicyValidationLoadStatus"
    enum="PolicyValidationStatus">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Validation result when loading user policy from the policy store.
  </summary>
</histogram>

<histogram name="Enterprise.UserPolicyValidationStoreStatus"
    enum="PolicyValidationStatus">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Validation result when writing user policy to the policy store.
  </summary>
</histogram>

<histogram name="Enterprise.UserSession.Logins"
    enum="EnterpriseUserSessionLogins">
  <owner>xiyuan@chromium.org</owner>
  <owner>sduraisamy@chromium.org</owner>
  <summary>Tracks the sign-in events on an enrolled device.</summary>
</histogram>

<histogram name="Enterprise.UserSigninChoice" enum="SigninChoice">
  <owner>atwilson@chromium.org</owner>
  <summary>
    Choice the user made when presented with enterprise signin dialog.
  </summary>
</histogram>

<histogram name="Enterprise.VpdCheck">
  <owner>igorcov@chromium.org</owner>
  <owner>tnagel@chromium.org</owner>
  <summary>
    The status code (exit code or signal) from sanity check of RW_VPD read and
    matching the contents with data from dump_vpd_log (Chrome OS).
  </summary>
</histogram>

<histogram name="Enterprise.VpdUpdateStatus">
  <owner>igorcov@chromium.org</owner>
  <owner>tnagel@chromium.org</owner>
  <summary>
    The status code (exit code or signal) from VPD update operation (Chrome OS).
  </summary>
</histogram>

<histogram name="Enterprise.WildcardLoginCheck.DelayPolicyTokenFetch"
    units="ms">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Delay incurred by the token fetching step of the wildcard login check.
  </summary>
</histogram>

<histogram name="Enterprise.WildcardLoginCheck.DelayTotal" units="ms">
  <owner>mnissler@chromium.org</owner>
  <summary>Total delay incurred by the wildcard login check.</summary>
</histogram>

<histogram name="Enterprise.WildcardLoginCheck.DelayUserInfoFetch" units="ms">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Delay incurred by the user info fetching step of the wildcard login check.
  </summary>
</histogram>

<histogram name="EnterpriseCheck.DeprecatedDomainBindSucceeded"
    enum="BooleanSuccess">
  <obsolete>
    Deprecated 07/2016 in Issue 621270.
  </obsolete>
  <owner>mnissler@chromium.org</owner>
  <owner>pastarmovj@chromium.org</owner>
  <summary>
    Whether we were able to contact the AD Domain Controller. This check is
    performed once at start-up on Windows.
  </summary>
</histogram>

<histogram name="EnterpriseCheck.DeprecatedDomainCheckFailed"
    enum="EnterpriseCheckError">
  <obsolete>
    Deprecated 07/2016 in Issue 621270.
  </obsolete>
  <owner>mnissler@chromium.org</owner>
  <owner>pastarmovj@chromium.org</owner>
  <summary>
    Enum of possible things that can fail while checking for enterprise env.
    This check is performed once at start-up on Windows.
  </summary>
</histogram>

<histogram name="EnterpriseCheck.InDomain" enum="BooleanEnabled">
  <owner>mnissler@chromium.org</owner>
  <owner>pastarmovj@chromium.org</owner>
  <summary>
    Whether the machine is part of an AD domain. This check is performed once at
    start-up on Windows.
  </summary>
</histogram>

<histogram name="EnterpriseCheck.InvalidPolicies" enum="EnterprisePolicies">
  <owner>mnissler@chromium.org</owner>
  <summary>
    A set of policy rules that were ignored due to integrity violations while
    parsing the policy data which happens on start-up and when the policy has
    changed.
  </summary>
</histogram>

<histogram name="EnterpriseCheck.InvalidPoliciesDetected"
    units="disabled policies">
  <owner>mnissler@chromium.org</owner>
  <owner>pastarmovj@chromium.org</owner>
  <summary>
    The number of disabled policy entries on Windows due to integrity violations
    while parsing the policy data which happens on start-up and when the policy
    has changed.
  </summary>
</histogram>

<histogram name="EnterpriseCheck.IsEnterpriseUser" enum="BooleanEnabled">
  <owner>rogerta@chromium.org</owner>
  <summary>
    Whether the machine is considered an enterprise user. An enterprise user is
    either in a domain or is managed via MDM. This check is performed once at
    start-up on Windows.
  </summary>
</histogram>

<histogram name="EnterpriseCheck.IsManaged" enum="BooleanEnabled">
  <owner>rogerta@chromium.org</owner>
  <summary>
    Whether the machine is managed via MDM. This check is performed once at
    start-up on Windows.
  </summary>
</histogram>

<histogram name="EnterpriseCheck.OSType" enum="OsSuite">
  <owner>mnissler@chromium.org</owner>
  <owner>pastarmovj@chromium.org</owner>
  <summary>
    The rough Windows suite we are running on. This check is performed once at
    start-up on Windows.
  </summary>
</histogram>

<histogram name="Event.ActionAfterDoubleTapNoDelay" enum="ActionAfterDoubleTap">
  <owner>tdresser@chromium.org</owner>
  <summary>
    On non-mobile sites, gesture taps are delayed to prevent double taps from
    sending a click event. This stat tracks the user's first action within 5
    seconds after a double tap gesture when the gesture tap delay is disabled.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.ActionAfterDoubleTapWithDelay"
    enum="ActionAfterDoubleTap">
  <owner>tdresser@chromium.org</owner>
  <summary>
    On non-mobile sites, gesture taps are delayed to prevent double taps from
    sending a click event. This stat tracks the user's first action within 5
    seconds after a double tap gesture when gesture tap events are delayed.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.AggregatedLatency.Renderer2" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of any input event and the renderer receiving and
    starting to process it.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.AndroidActionDown.ToolType" enum="MotionEventToolType">
  <owner>mustaq@chromium.org</owner>
  <summary>
    Tracks the number of Android MotionEvents with ACTION_DOWN or
    ACTION_POINTER_DOWN or ACTION_BUTTON_PRESS for each ToolType (unknown,
    finger, mouse or stylus).

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.CoalescedCount.Mouse">
  <owner>tdresser@chromium.org</owner>
  Team: input-dev@chromium.org.
  <summary>Number of Mouse events coalesced.</summary>
</histogram>

<histogram name="Event.CoalescedCount.Touch">
  <owner>tdresser@chromium.org</owner>
  Team: input-dev@chromium.org.
  <summary>Number of Touch events coalesced.</summary>
</histogram>

<histogram name="Event.CoalescedLatency.Mouse" units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the first and last events in a coalesced mouse events group.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.CoalescedLatency.Touch" units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the first and last events in a coalesced touch events group.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.CompositorThreadEventQueue.CoalescedCount"
    units="events">
  <owner>chongz@chromium.org</owner>
  <summary>
    Number of continuous gesture events (GestureScrollUpdate,
    GesturePinchUpdate) coalesced inside the compositor thread event queue per
    event. This field is recorded just before the event is processed on the
    compositor thread.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.CompositorThreadEventQueue.Continuous.HeadQueueingTime"
    units="microseconds">
  <owner>chongz@chromium.org</owner>
  <summary>
    Time between the first event in a coalesced continuous gesture events group
    (GestureScrollUpdate, GesturePinchUpdate) and when it was processed on the
    compositor thread.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.CompositorThreadEventQueue.Continuous.TailQueueingTime"
    units="microseconds">
  <owner>chongz@chromium.org</owner>
  <summary>
    Time between the last event in a coalesced continuous gesture events group
    (GestureScrollUpdate, GesturePinchUpdate) and when it was processed on the
    compositor thread.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.CompositorThreadEventQueue.NonContinuous.QueueingTime"
    units="microseconds">
  <owner>chongz@chromium.org</owner>
  <summary>
    Time between when a non-continuous gesture event (GestureScrollStart/End,
    GesturePinchStart/End) was placed into the queue and when it was processed
    on the compositor thread.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.DownEventCount.PerDestination"
    enum="DownEventDestination">
  <owner>xiaoyinh@chromium.org</owner>
  <owner>tbuckley@chromium.org</owner>
  <summary>
    The number of down events received per destination. Every down event that is
    targeted to each destination will be counted, including those that don't
    have an effect. For example: Tapping on a disabled button inside the browser
    frame will be treated as down events on browser window.
  </summary>
</histogram>

<histogram name="Event.DownEventCount.PerFormFactor" enum="DownEventFormFactor">
  <owner>xiaoyinh@chromium.org</owner>
  <owner>tbuckley@chromium.org</owner>
  <summary>
    Counts the number of down events generated by clamshell/touchview.
  </summary>
</histogram>

<histogram name="Event.DownEventCount.PerInput" enum="DownEventSource">
  <owner>xiaoyinh@chromium.org</owner>
  <owner>tbuckley@chromium.org</owner>
  <summary>
    Counts the number of down events generated by Mouse/Touch/Stylus.
  </summary>
</histogram>

<histogram name="Event.DragDrop.Cancel" enum="DragDropEventSource">
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Counts the number of times the user cancelled a drag and drop operation.
  </summary>
</histogram>

<histogram name="Event.DragDrop.Drop" enum="DragDropEventSource">
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Counts the number of times the user completed a drag and drop operation.
  </summary>
</histogram>

<histogram name="Event.DragDrop.ExternalOriginDrop">
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Counts the number of times a drag and drop operation originating outside of
    a Chrome window successfuly drops.
  </summary>
</histogram>

<histogram name="Event.DragDrop.Start" enum="DragDropEventSource">
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Counts the number of times the user started a drag and drop operation.
  </summary>
</histogram>

<histogram name="Event.FractionOfTimeWithoutUserInput" units="%">
  <owner>tdresser@chromium.org</owner>
  <owner>progressive-web-metrics@chromium.org</owner>
  <summary>
    For each 10 second window, reports the fraction of the time there was no
    user input. We consider there to be no user input if we haven't received any
    events for &gt; 50ms.
  </summary>
</histogram>

<histogram name="Event.FrameEventRouting.NoGestureTarget">
  <owner>wjmaclean@chromium.org</owner>
  <summary>
    Record whether we unexpectedly encounter an empty gesture queue while
    routing gesture events to frames' renderers: true =&gt; empty queue, false
    =&gt; non-empty queue.
  </summary>
</histogram>

<histogram name="Event.Frequency.Renderer.FlingAnimate" units="hertz">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Emitted after a renderer process main-thread fling curve animation
    terminates, for any reason, reporting the average animation frequency
    (animations/second) of the fling instance over its lifetime. This is
    computed as the number of fling animation ticks divided by the fling
    animation duration.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Frequency.RendererImpl.FlingAnimate" units="hertz">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Emitted after a renderer process impl-thread fling curve animation
    terminates, for any reason, reporting the average animation frequency
    (animations/second) of the fling instance over its lifetime. This is
    computed as the number of fling animation ticks divided by the fling
    animation duration.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.GestureCreated" enum="UIEventType">
  <owner>kuscher@google.com</owner>
  <summary>
    The gesture-events recognized and dispatched by the browser gesture
    recognizer. This replaces Ash.GestureCreated, which did not record events on
    Android and Windows.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.HitTest" enum="EventHitTest">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    For each hit test, records whether it was a hit or miss, and why.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.HitTestValidity" enum="EventHitTestValidity">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    For hit tests that are validated, records whether it was correct or not, and
    why.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.HitTestValidityScore" enum="EventHitTestValidityScore">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    For hit tests that are invalid, records the score (a series of bits
    indicating what was matched and what wasn't).

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.BlockingTime.TouchEndDefaultAllowed" units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the renderer main thread receiving a touchend event and acking
    it, for events which were not preventDefaulted.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.BlockingTime.TouchEndDefaultPrevented"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the renderer main thread receiving a touchend event and acking
    it, for events which were preventDefaulted.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.BlockingTime.TouchMoveDefaultAllowed" units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the renderer main thread receiving a touchmove event and acking
    it, for events which were not preventDefaulted.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.BlockingTime.TouchMoveDefaultPrevented"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the renderer main thread receiving a touchmove event and acking
    it, for events which were preventDefaulted.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.BlockingTime.TouchStartDefaultAllowed"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the renderer main thread receiving a touchstart event and
    acking it, for events which were not preventDefaulted.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.BlockingTime.TouchStartDefaultPrevented"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the renderer main thread receiving a touchstart event and
    acking it, for events which were preventDefaulted.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of all input events and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_DROP_TARGET_EVENT"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_BEGIN" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_DOUBLE_TAP"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_END" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_LONG_PRESS"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_LONG_TAP"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_MULTIFINGER_SWIPE"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_PINCH_BEGIN"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_PINCH_END"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_PINCH_UPDATE"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_SCROLL_BEGIN"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_SCROLL_END"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_SCROLL_UPDATE"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_TAP" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_TAP_CANCEL"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_TAP_DOWN"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_TWO_FINGER_TAP"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_KEY_PRESSED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_KEY_RELEASED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_MOUSE_CAPTURE_CHANGED"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_MOUSE_DRAGGED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_MOUSE_ENTERED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_MOUSE_EXITED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_MOUSE_MOVED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_MOUSE_RELEASED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_MOUSEWHEEL" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_SCROLL" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_SCROLL_FLING_CANCEL"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_SCROLL_FLING_START"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_TOUCH_CANCELLED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_TOUCH_MOVED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_TOUCH_PRESSED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_TOUCH_RELEASED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_TOUCH_STATIONARY"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_TRANSLATED_KEY_PRESS"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_TRANSLATED_KEY_RELEASE"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_UNKNOWN" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.TouchAcked" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between touch events sent from RWH to renderer and acked by renderer.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.TouchUI" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between touch events received by Chrome and sent from RWH to renderer.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.WheelAcked" units="microseconds">
  <owner>ccameron@chromium.org</owner>
  <summary>
    Time between wheel events sent from RWH to renderer and acked by renderer.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.WheelUI" units="microseconds">
  <owner>ccameron@chromium.org</owner>
  <summary>
    Time between wheel events received by Chrome and sent from RWH to renderer.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.HitTest" units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Duration of a non-resurive hitTest operation. The hit test is non-recursive
    when the AllowChildFrameContent flag is clear. See also
    Event.Latency.HitTestRecusrive.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.HitTestRecursive" units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Duration of a recursive hitTest operation. The hit test is recursive when
    the AllowChildFrameContent flag is set. See also Event.Latency.HitTest.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.OS" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  Team: input-dev@chromium.org.
  <summary>Time between input event received by OS and sent to Chrome.</summary>
</histogram>

<histogram name="Event.Latency.QueueingTime.TouchEndDefaultAllowed" units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between sending a touchend event to the renderer main thread and when
    the renderer begins to process that event, for events which were not
    preventDefaulted.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.QueueingTime.TouchEndDefaultPrevented"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between sending a touchend event to the renderer main thread and when
    the renderer begins to process that event, for events which were
    preventDefaulted.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.QueueingTime.TouchMoveDefaultAllowed" units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between sending a touchmove event to the renderer main thread and when
    the renderer begins to process that event, for events which were not
    preventDefaulted.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.QueueingTime.TouchMoveDefaultPrevented"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between sending a touchmove event to the renderer main thread and when
    the renderer begins to process that event, for events which were
    preventDefaulted.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.QueueingTime.TouchStartDefaultAllowed"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between sending a touchstart event to the renderer main thread and when
    the renderer begins to process that event, for events which were not
    preventDefaulted.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.QueueingTime.TouchStartDefaultPrevented"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between sending a touchstart event to the renderer main thread and when
    the renderer begins to process that event, for events which were
    preventDefaulted.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Renderer" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initiation of all input events and renderer processing. This is
    soon to be replaced by Event.Latency.Renderer2.*

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Renderer2" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between input event creation and the renderer receiving and starting to
    process the event. For touch events on Windows, we measure from when the
    event reaches Chrome, whereas on other platforms we use the timestamp from
    the kernel. On Windows, this metric is only reported when |IsHighResolution|
    is true, which will introduce some sampling bias.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.RendererImpl" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between input event creation and the renderer impl thread receiving and
    starting to process the event. For touch events on Windows, we measure from
    when the event reaches Chrome, whereas on other platforms we use the
    timestamp from the kernel. On Windows, this metric is only reported when
    |IsHighResolution| is true, which will introduce some sampling bias.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.RendererImpl.GestureScroll" units="microseconds">
  <obsolete>
    Deprecated 12/2013 and replaced by Event.Latency.RendererImpl.GestureScroll2
  </obsolete>
  <owner>rbyers@chromium.org</owner>
  <summary>
    Time between initial creation of touch event and when the resulting
    ScrollGesture reaches Impl thread. Maximum is 200ms.
  </summary>
</histogram>

<histogram name="Event.Latency.RendererImpl.GestureScroll2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between touch event creation and when the resulting GestureScroll
    reaches the Impl thread. Maximum is 1000ms. On Windows, we measure from when
    the touch event reaches Chrome, whereas on other platforms we use the
    timestamp from the kernel. On Windows, this metric is only reported when
    |IsHighResolution| is true, which will introduce some sampling bias. This
    supersedes the Event.Latency.RendererImpl.GestureScroll metric.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollBegin.Touch.BrowserNotifiedToBeforeGpuSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the browser receives the notification of the first ScrollUpdate
    gesture event in a given scroll gesture event sequence with touch source
    induced renderer swap and GPU starts to swap.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Touch.GpuSwap2" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between gpu starts to swap the first ScrollUpdate gesture event in a
    given scroll gesture event sequence with touch source induced frame and the
    swap finishes.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Touch.HandledToRendererSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the first ScrollUpdate gesture event in a given scroll gesture
    event sequence with touch source, is handled on main/impl thread (specified
    by suffix) and before renderer starts to swap.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollBegin.Touch.RendererSwapToBrowserNotified2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the renderer starts to swap a frame induced by the first
    ScrollUpdate gesture event in a given scroll gesture event sequence with
    touch source, and browser receives the swap notification.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Touch.TimeToHandled2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a touch event and the first generated
    ScrollUpdate gesture event in a given scroll gesture event sequence is
    handled on main/impl thread (specified by suffix). If no swap was induced by
    the ScrollUpdate gesture event, no recording is made.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Touch.TimeToScrollUpdateSwapBegin2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a touch event and the start of the frame
    swap on the GPU service caused by the generated ScrollUpdate gesture event
    if that ScrollUpdate is the first such event in a given scroll gesture event
    sequence. If no swap was induced by the event, no recording is made.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollBegin.Wheel.BrowserNotifiedToBeforeGpuSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the browser receives the notification of the first ScrollUpdate
    gesture event in a given scroll gesture event sequence with wheel source
    induced renderer swap and GPU starts to swap.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Wheel.GpuSwap2" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between gpu starts to swap the first ScrollUpdate gesture event in a
    given scroll gesture event sequence with wheel source induced frame and the
    swap finishes.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Wheel.HandledToRendererSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the first ScrollUpdate gesture event in a given scroll gesture
    event sequence with wheel source, is handled on main/impl thread (specified
    by suffix) and before renderer starts to swap.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollBegin.Wheel.RendererSwapToBrowserNotified2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the renderer starts to swap a frame induced by the first
    ScrollUpdate gesture event in a given scroll gesture event sequence with
    wheel source, and browser receives the swap notification.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Wheel.TimeToHandled2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a wheel event and the first generated
    ScrollUpdate gesture event in a given scroll gesture event sequence is
    handled on main/impl thread (specified by suffix). If no swap was induced by
    the ScrollBegin gesture event, no recording is made.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Wheel.TimeToScrollUpdateSwapBegin2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a wheel event and the start of the frame
    swap on the GPU service caused by the generated ScrollUpdate gesture event
    if that ScrollUpdate is the first such event in a given scroll gesture event
    sequence. If no swap was induced by the event, no recording is made.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.BrowserNotifiedToBeforeGpuSwap"
    units="microseconds">
  <obsolete>
    To be replaced by
    Event.Latency.ScrollUpdate.Touch.BrowserNotifiedToBeforeGpuSwap2,
    Event.Latency.ScrollUpdate.Wheel.BrowserNotifiedToBeforeGpuSwap2 in M56.
    https://crbug.com/649754
  </obsolete>
  <owner>rbyers@chromium.org</owner>
  <summary>
    Time between the browser receives the notification of a ScrollUpdate gesture
    event induced renderer swap and GPU starts to swap.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.GpuSwap" units="microseconds">
  <obsolete>
    To be replaced by Event.Latency.ScrollUpdate.Touch.GpuSwap2,
    Event.Latency.ScrollUpdate.wheel.GpuSwap2 in M56. https://crbug.com/649754
  </obsolete>
  <owner>rbyers@chromium.org</owner>
  <summary>
    Time between gpu starts to swap a ScrollUpdate gesture event induced frame
    and the swap finishes.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.HandledToRendererSwap"
    units="microseconds">
  <obsolete>
    To be replaced by Event.Latency.ScrollUpdate.Touch.HandledToRendererSwap2,
    Event.Latency.ScrollUpdate.Wheel.HandledToRendererSwap2 in M56.
    https://crbug.com/649754
  </obsolete>
  <owner>rbyers@chromium.org</owner>
  <summary>
    Time between the ScrollUpdate gesture event is handled on main/impl thread
    (specified by suffix) and before renderer starts to swap.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.RendererSwapToBrowserNotified"
    units="microseconds">
  <obsolete>
    To be replaced by
    Event.Latency.ScrollUpdate.Touch.RendererSwapToBrowserNotified2,
    Event.Latency.ScrollUpdate.Wheel.RendererSwapToBrowserNotified2 in M56.
    https://crbug.com/649754
  </obsolete>
  <owner>rbyers@chromium.org</owner>
  <summary>
    Time between the renderer starts to swap a frame induced by ScrollUpdate
    gesture event and browser receives the swap notification.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollUpdate.Touch.BrowserNotifiedToBeforeGpuSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the browser receives the notification of a ScrollUpdate gesture
    event with touch source induced renderer swap and GPU starts to swap.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.Touch.GpuSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between gpu starts to swap a ScrollUpdate gesture event with touch
    source induced frame and the swap finishes.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.Touch.HandledToRendererSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the ScrollUpdate gesture event with touch source, is handled on
    main/impl thread (specified by suffix) and before renderer starts to swap.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollUpdate.Touch.RendererSwapToBrowserNotified2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the renderer starts to swap a frame induced by ScrollUpdate
    gesture event with touch source, and browser receives the swap notification.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollUpdate.Touch.TimeToFirstScrollUpdateSwapBegin2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a touch event and the start of the frame
    swap on the GPU service caused by the generated ScrollUpdate gesture event
    if that ScrollUpdate is the first such event in a given scroll gesture event
    sequence. If no swap was induced by the event, no recording is made.

    To be replaced by
    Event.Latency.ScrollBegin.Touch.TimeToScrollUpdateSwapBegin2 in M57.
    https://crbug.com/669618

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.Touch.TimeToHandled2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a touch event and the generated
    ScrollUpdate gesture event is handled on main/impl thread (specified by
    suffix). If no swap was induced by the ScrollUpdate gesture event, no
    recording is made.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.Touch.TimeToScrollUpdateSwapBegin2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a touch event and start of the frame swap
    on the GPU service caused by the generated ScrollUpdate gesture event. If no
    swap was induced by the event, no recording is made.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.TouchToHandled"
    units="microseconds">
  <obsolete>
    To be replaced by Event.Latency.ScrollUpdate.Touch.TimeToHandled2 in M56.
    https://crbug.com/649754
  </obsolete>
  <owner>rbyers@chromium.org</owner>
  <summary>
    Time between initial creation of a touch event and the generated
    ScrollUpdate gesture event is handled on main/impl thread (specified by
    suffix). If no swap was induced by the ScrollUpdate gesture event, no
    recording is made.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollUpdate.Wheel.BrowserNotifiedToBeforeGpuSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the browser receives the notification of a ScrollUpdate gesture
    event with wheel source induced renderer swap and GPU starts to swap.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.Wheel.GpuSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between gpu starts to swap a ScrollUpdate gesture event with wheel
    source induced frame and the swap finishes.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.Wheel.HandledToRendererSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the ScrollUpdate gesture event with wheel source, is handled on
    main/impl thread (specified by suffix) and before renderer starts to swap.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollUpdate.Wheel.RendererSwapToBrowserNotified2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between the renderer starts to swap a frame induced by ScrollUpdate
    gesture event with wheel source, and browser receives the swap notification.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollUpdate.Wheel.TimeToFirstScrollUpdateSwapBegin2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a wheel event and the start of the frame
    swap on the GPU service caused by the generated ScrollUpdate gesture event
    if that ScrollUpdate is the first such event in a given scroll gesture event
    sequence. If no swap was induced by the event, no recording is made.

    To be replaced by
    Event.Latency.ScrollBegin.Wheel.TimeToScrollUpdateSwapBegin2 in M57.
    https://crbug.com/669618

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.Wheel.TimeToHandled2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a wheel event and the generated
    ScrollUpdate gesture event is handled on main/impl thread (specified by
    suffix). If no swap was induced by the ScrollUpdate gesture event, no
    recording is made.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Touch.TimeToFirstScrollUpdateSwapBegin2"
    units="microseconds">
  <obsolete>
    Replaced by
    Event.Latency.ScrollUpdate.Touch.TimeToFirstScrollUpdateSwapBegin2.
  </obsolete>
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a touch event and the start of the frame
    swap on the GPU service caused by the generated ScrollUpdate gesture event
    if that ScrollUpdate is the first such event in a given scroll gesture event
    sequence. If no swap was induced by the event, no recording is made.
  </summary>
</histogram>

<histogram name="Event.Latency.Touch.TimeToScrollUpdateSwapBegin2"
    units="microseconds">
  <obsolete>
    Replaced by Event.Latency.ScrollUpdate.Touch.TimeToScrollUpdateSwapBegin2.
  </obsolete>
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a touch event and start of the frame swap
    on the GPU service caused by the generated ScrollUpdate gesture event. If no
    swap was induced by the event, no recording is made.
  </summary>
</histogram>

<histogram name="Event.Latency.TouchToFirstScrollUpdateSwap"
    units="microseconds">
  <obsolete>
    Replaced by Event.Latency.TouchToFirstScrollUpdateSwapBegin.
    crbug.com/478845
  </obsolete>
  <owner>rbyers@chromium.org</owner>
  <summary>
    Time between initial creation of a touch event and the frame swap caused by
    by the generated ScrollUpdate gesture event if that ScrollUpdate is the
    first such in a given scroll gesture event sequence. If no swap was induced
    by the event, no recording is made.
  </summary>
</histogram>

<histogram name="Event.Latency.TouchToFirstScrollUpdateSwapBegin"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a touch event and the start of the frame
    swap on the GPU service caused by the generated ScrollUpdate gesture event
    if that ScrollUpdate is the first such event in a given scroll gesture event
    sequence. If no swap was induced by the event, no recording is made.

    To be replaced by
    Event.Latency.ScrollUpdate.Touch.TimeToFirstScrollUpdateSwapBegin2 in M56.
    https://crbug.com/649754

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.TouchToScrollUpdateSwap" units="microseconds">
  <obsolete>
    Replaced by Event.Latency.TouchToScrollUpdateSwapBegin. crbug.com/478845
  </obsolete>
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a touch event and the frame swap caused by
    by the generated ScrollUpdate gesture event. If no swap was induced by the
    event, no recording is made.
  </summary>
</histogram>

<histogram name="Event.Latency.TouchToScrollUpdateSwapBegin"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a touch event and start of the frame swap
    on the GPU service caused by the generated ScrollUpdate gesture event. If no
    swap was induced by the event, no recording is made.

    To be replaced by
    Event.Latency.ScrollUpdate.Touch.TimeToScrollUpdateSwapBegin2 in M56.
    https://crbug.com/649754

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Latency.Wheel.TimeToFirstScrollUpdateSwapBegin2"
    units="microseconds">
  <obsolete>
    Replaced by
    Event.Latency.ScrollUpdate.Wheel.TimeToFirstScrollUpdateSwapBegin2.
  </obsolete>
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between initial creation of a wheel event and the start of the frame
    swap on the GPU service caused by the generated ScrollUpdate gesture event
    if that ScrollUpdate is the first such event in a given scroll gesture event
    sequence. If no swap was induced by the event, no recording is made.
  </summary>
</histogram>

<histogram name="Event.Latency.X11EventSource.UpdateServerTime"
    units="microseconds">
  <obsolete>
    Deprecated 08/2016, and replaced by Linux.X11.ServerRTT.
  </obsolete>
  <owner>thomasanderson@chromium.org</owner>
  <summary>Time to request a timestamp from the X server.</summary>
</histogram>

<histogram name="Event.MainThreadEventQueue.CoalescedCount" units="events">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Number of continuous events (touchmove, mousemove, mousewheel) coalesced
    inside the main thread event queue per event. This field is recorded just
    before the event is processed on the main thread.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.MainThreadEventQueue.Continuous.FreshnessTime"
    units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Time between when a continuous event (touchmove, mousemove, mousewheel) was
    placed into the queue (or coalesced with another event) and when it was
    processed on the main thread.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.MainThreadEventQueue.Continuous.QueueingTime"
    units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Time between when a continuous event (touchmove, mousemove, mousewheel) was
    placed into the queue and when it was processed on the main thread.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.MainThreadEventQueue.NonContinuous.QueueingTime"
    units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Time between when a non-continuous event (not touchmove, mousemove,
    mousewheel) was placed into the queue and when it was processed on the main
    thread.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.PassiveForcedEventDispatchCancelled"
    enum="PassiveForcedListenerResultType">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Counts the number of event listener invocations that were forced to be
    passive due to interventions and whether the invocation of the listener
    called prevent default or not.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.PassiveListeners" enum="EventResultType">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    The result of handling of MouseWheel, TouchStart, TouchMove, TouchEnd events
    in the renderer.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.PassiveListeners.ForcedNonBlockingLatency"
    units="microseconds">
  <obsolete>
    Deprecated 08/2016 in Issue 595327, and replaced by
    Event.PassiveListeners.ForcedNonBlockingLatencyDueToFling.
  </obsolete>
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Time between when a forced non-blocking event was generated and the event
    processed. This histogram tracks the benefit of forcing non-blocking events
    listeners.
  </summary>
</histogram>

<histogram name="Event.PassiveListeners.ForcedNonBlockingLatencyDueToFling"
    units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Time between when a touchstart or first touchmove event per scroll was
    generated and the event processed, for events which were forced non-blocking
    since they occurred during fling. This histogram tracks the benefit of
    forcing events non-blocking during fling.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram
    name="Event.PassiveListeners.ForcedNonBlockingLatencyDueToUnresponsiveMainThread"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between when a touchstart or first touchmove event per scroll was
    generated and the event processed, for events which were forced non-blocking
    since they occurred while the main thread was unresponsive. This histogram
    tracks the benefit of forcing events non-blocking when the main thread is
    unresponsive.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.PassiveListeners.Latency" units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Time between when a cancelable event was generated and the event processed
    yet no action was executed for the event. This histogram tracks the
    potential benefit of using passive events listeners.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.RenderView.DiscardInput" enum="BooleanHit">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    Whether the input IPC messages were discarded before being fully processed
    in RenderView's IPC message handler.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.SingleTapType" enum="TapDelayType">
  <owner>tdresser@chromium.org</owner>
  <summary>
    On non-mobile sites, gesture taps are delayed to prevent double taps from
    sending a click event. This stat counts the number of taps that are delayed
    by the double-tap delay versus those that are sent immediately on mobile
    sites.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.TimestampHasValidTimebase" enum="EventTimestampValidity">
  <owner>majidvp@chromium.org</owner>
  <owner>caseq@chromium.org</owner>
  <summary>
    Whether the timestamps on input events produced by the windowing system
    appear to be sharing the same time base as TimeTicks, modulo possible
    roll-over.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Touch.TargetAndDispatchResult"
    enum="TouchTargetAndDispatchResultType">
  <obsolete>
    Deprecated 05/2016, and replaced by Event.Touch.TargetAndDispatchResult2.
  </obsolete>
  <owner>dtapuska@chromium.org</owner>
  <summary>
    An enumeration identifying 3 properties: 1) a classification of the event
    target whether it is a root scroll listener (window, document, body) or not;
    2) the result of the dispatch; 3) whether the document was scrollable or
    not.
  </summary>
</histogram>

<histogram name="Event.Touch.TargetAndDispatchResult2"
    enum="TouchTargetAndDispatchResultType2">
  <owner>dtapuska@chromium.org</owner>
  <summary>
    An enumeration identifying 4 properties: 1) a classification of the current
    target whether it is a root scroll listener (window, document, body) or not;
    2) the result of the dispatch or whether it was previously canceled 3)
    whether the document was scrollable or not 4) what phase the listener was
    encountered at. This metric is logged during the dispatch of the touch
    events. It will only be reported for main frame events that block scrolling,
    have only one touch point and current targets that fired an event listener
    at that phase.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Touch.TimedOutOnDesktopSite" enum="BooleanTimedOut">
  <owner>tdresser@chromium.org</owner>
  <summary>
    On non-mobile-optimized (desktop) sites, whether the ack response from the
    renderer for any event in a contiguous touch sequence exceeds the
    desktop-specific timeout threshold.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Touch.TimedOutOnMobileSite" enum="BooleanTimedOut">
  <owner>tdresser@chromium.org</owner>
  <summary>
    On mobile-optimized sites, whether the ack response from the renderer for
    any event in a contiguous touch sequence exceeds the mobile-specific timeout
    threshold.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchDispositionsAfterPageLoad"
    enum="TouchEventDispatchResultType">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Records the disposition (handled or not handled) of touchstart events and
    the first touchmove events per scroll. Only recorded after the page is fully
    loaded.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchDispositionsBeforePageLoad"
    enum="TouchEventDispatchResultType">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Records the disposition (handled or not handled) of touchstart events and
    the first touchmove events per scroll. Only recorded before the page is
    fully loaded.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchDispositionsDuringFling"
    enum="TouchEventDispatchResultType">
  <obsolete>
    Deprecated 08/2016 in Issue 595327, and replaced by
    Event.Touch.TouchDispositionsDuringFling2.
  </obsolete>
  <owner>tdresser@chromium.org</owner>
  <summary>
    Records the disposition (handled or not handled) of touchstart events. Only
    recorded while there is an active fling animation.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchDispositionsDuringFling2"
    enum="TouchEventDispatchResultType">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Records the disposition (handled or not handled) of touchstart and first
    touchmove events per scroll. Only recorded while there is an active fling
    animation.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchDispositionsOutsideFling"
    enum="TouchEventDispatchResultType">
  <obsolete>
    Deprecated 08/2016 in Issue 595327, and replaced by
    Event.Touch.TouchDispositionsOutsideFling2.
  </obsolete>
  <owner>tdresser@chromium.org</owner>
  <summary>
    Records the disposition (handled or not handled) of touchstart events. Only
    recorded while there is no active fling animation.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchDispositionsOutsideFling2"
    enum="TouchEventDispatchResultType">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Records the disposition (handled or not handled) of touchstart and first
    touchmove events per scroll events. Only recorded while there is no active
    fling animation.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchLatencyAfterPageLoad" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between when a touch event was generated and the event was processed.
    Recorded only for touchstart events and the first touchmove events per
    scroll that occur after the page is fully loaded.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchLatencyBeforePageLoad" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between when a touch event was generated and the event was processed.
    Recorded only for touchstart events and the first touchmove events per
    scroll that occur before the page is fully loaded. This histogram tracks the
    benefit of forcing passive event listeners before the page is fully loaded.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchLatencyOutsideFling" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between when a touch event was generated and the event was processed.
    Recorded only for touchstart events and the first touchmove events per
    scroll when there was no active fling animation.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchStartLatencyDuringFling" units="microseconds">
  <obsolete>
    Deprecated 08/2016 in Issue 595327, and replaced by
    Event.PassiveListeners.ForcedNonBlockingLatencyDueToFling.
  </obsolete>
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between when a touchstart event was generated and the event was
    processed. Recorded only when there was an active fling animation. This
    histogram tracks the benefit of forcing passive event listeners during
    fling.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchStartLatencyOutsideFling"
    units="microseconds">
  <obsolete>
    Deprecated 08/2016 in Issue 595327, and replaced by
    Event.Touch.TouchLatencyOutsideFling.
  </obsolete>
  <owner>tdresser@chromium.org</owner>
  <summary>
    Time between when a touchstart event was generated and the event was
    processed. Recorded only when there was no active fling animation.
  </summary>
</histogram>

<histogram name="Event.TouchDuration" units="ms">
  <owner>kuscher@google.com</owner>
  <owner>tdresser@chromium.org</owner>
  <summary>
    The duration of a touch-sequence. Only measured for single finger gestures.
    This replaces Ash.TouchDuration2, which did not record events on Android and
    Windows.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.TouchMaxDistance" units="pixels">
  <owner>kuscher@google.com</owner>
  <owner>tdresser@chromium.org</owner>
  <summary>
    The maximum euclidean distance in dips (device independent pixel) which a
    touch point has travelled away from its starting point. Only measured for
    single finger gestures. This replaces Ash.TouchMaxDistance, which did not
    record events on Android and Windows.

    Team: input-dev@chromium.org.
  </summary>
</histogram>

<histogram name="Event.TouchSelection.Duration" units="ms">
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Duration of touch selection sequence which finished with the user selecting
    one of the text manipulation actions, such as copy, cut, or paste. The
    duration is measured from the moment the text selection handles are shown,
    and until the action is executed.
  </summary>
</histogram>

<histogram name="Event.TouchSelection.EndedWithAction" enum="BooleanSuccess">
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Whether the touch selection sequence ended with the user selecting one of
    the text manipulation actions, such as copy, cut, or paste. after startup).
    Sequences ending with such action are considered successful.
  </summary>
</histogram>

<histogram name="Event.TouchSelection.WasDraggedDuration" units="ms">
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Duration of touch selection sequence which involved dragging a text
    selection handle. The duration is measured from the moment the text
    selection handles are shown, and until they are dismissed.
  </summary>
</histogram>

<histogram name="ExclusiveAccess.BubbleReshowsPerSession.Fullscreen">
  <owner>mgiuca@chromium.org</owner>
  <summary>
    The number of times the fullscreen bubble was re-shown due to inactivity
    during a session of fullscreen mode (not including mouse lock). If the mouse
    is also locked while a re-show occurs, both this and
    BubbleReshowsPerSession.MouseLock are incremented. Includes all types of
    fullscreen (user-triggered, extension-triggered and page-triggered). Only
    recorded when the simplified-fullscreen-ui flag is enabled.
  </summary>
</histogram>

<histogram name="ExclusiveAccess.BubbleReshowsPerSession.MouseLock">
  <owner>mgiuca@chromium.org</owner>
  <summary>
    The number of times the mouse lock bubble was re-shown due to inactivity
    during a session of mouse lock mode. If also in fullscreen while a re-show
    occurs, both this and BubbleReshowsPerSession.Fullscreen are incremented.
    Only recorded when the simplified-fullscreen-ui flag is enabled.
  </summary>
</histogram>

<histogram name="ExtensionActivity.AdInjected" units="Extension Count">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that inject at least one new ad.
  </summary>
</histogram>

<histogram name="ExtensionActivity.AdLikelyInjected" units="Extension Count">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that performed an action that
    heuristically looks like injecting an ad, but could not be confirmed.
  </summary>
</histogram>

<histogram name="ExtensionActivity.AdLikelyReplaced" units="Extension Count">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that performed an action that
    heuristically looks like replacing an ad, but could not be confirmed.
  </summary>
</histogram>

<histogram name="ExtensionActivity.AdRemoved" units="Extension Count">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that remove at least one ad.
  </summary>
</histogram>

<histogram name="ExtensionActivity.AdReplaced" units="Extension Count">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that replace at least one ad.
  </summary>
</histogram>

<histogram name="ExtensionActivity.ContentScript">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that inject a content script.
  </summary>
</histogram>

<histogram name="ExtensionActivity.CreatedDiv">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that create divs to add to the
    page.
  </summary>
</histogram>

<histogram name="ExtensionActivity.CreatedEmbed">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that create 'embed' elements to
    add to the page.
  </summary>
</histogram>

<histogram name="ExtensionActivity.CreatedIframe">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that create iframes to add to
    the page.
  </summary>
</histogram>

<histogram name="ExtensionActivity.CreatedInput">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that create inputs to add to the
    page.
  </summary>
</histogram>

<histogram name="ExtensionActivity.CreatedLink">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that create links to add to the
    page.
  </summary>
</histogram>

<histogram name="ExtensionActivity.CreatedObject">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that create 'object' elements to
    add to the page.
  </summary>
</histogram>

<histogram name="ExtensionActivity.CreatedScript">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that create script tags to add
    to the page.
  </summary>
</histogram>

<histogram name="ExtensionActivity.DocumentWrite">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that use document.write.
  </summary>
</histogram>

<histogram name="ExtensionActivity.Google.ContentScript">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each www.google.com pageload, the number of extensions that inject a
    content script.
  </summary>
</histogram>

<histogram name="ExtensionActivity.Google.CreatedDiv">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each www.google.com pageload, the number of extensions that create divs
    to add to the page.
  </summary>
</histogram>

<histogram name="ExtensionActivity.Google.CreatedEmbed">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each www.google.com pageload, the number of extensions that create
    'embed' elements to add to the page.
  </summary>
</histogram>

<histogram name="ExtensionActivity.Google.CreatedIframe">
  <owner>felt@chromium.org</owner>
  <summary>
    For each www.google.com pageload, the number of extensions that create
    iframes to add to the page.
  </summary>
</histogram>

<histogram name="ExtensionActivity.Google.CreatedInput">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each www.google.com pageload, the number of extensions that create
    inputs to add to the page.
  </summary>
</histogram>

<histogram name="ExtensionActivity.Google.CreatedLink">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each www.google.com pageload, the number of extensions that create links
    to add to the page.
  </summary>
</histogram>

<histogram name="ExtensionActivity.Google.CreatedObject">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each www.google.com pageload, the number of extensions that create
    'object' elements to add to the page.
  </summary>
</histogram>

<histogram name="ExtensionActivity.Google.CreatedScript">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each www.google.com pageload, the number of extensions that create
    script tags to add to the page.
  </summary>
</histogram>

<histogram name="ExtensionActivity.Google.DocumentWrite">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each www.google.com pageload, the number of extensions that use
    document.write.
  </summary>
</histogram>

<histogram name="ExtensionActivity.Google.InnerHtml">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each www.google.com pageload, the number of extensions that set
    innerHTML.
  </summary>
</histogram>

<histogram name="ExtensionActivity.Google.InvokedDomMethod">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each www.google.com pageload, the number of extensions that invoke DOM
    methods.
  </summary>
</histogram>

<histogram name="ExtensionActivity.Google.ModifiedDom">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each www.google.com pageload, the number of extensions that set the
    value of DOM properties via assignments.
  </summary>
</histogram>

<histogram name="ExtensionActivity.Google.ReadDom">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each www.google.com pageload, the number of extensions that read from
    the DOM.
  </summary>
</histogram>

<histogram name="ExtensionActivity.InnerHtml">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that set innerHTML.
  </summary>
</histogram>

<histogram name="ExtensionActivity.InvokedDomMethod">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that invoke DOM methods.
  </summary>
</histogram>

<histogram name="ExtensionActivity.ModifiedDom">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that set the value of DOM
    properties via assignments.
  </summary>
</histogram>

<histogram name="ExtensionActivity.ReadDom">
  <obsolete>
    Deprecated with M46.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    For each pageload, the number of extensions that read from the DOM.
  </summary>
</histogram>

<histogram name="ExtensionBlacklist.BlacklistInstalled"
    enum="ExtensionLocation">
  <owner>nparker@chromium.org</owner>
  <summary>
    The number of extensions that were blacklisted when already installed,
    grouped by Extension::Location. Logged when ExtensionService blackists and
    unloads an installed extension.
  </summary>
</histogram>

<histogram name="ExtensionBlacklist.BlockCRX" enum="ExtensionLocation">
  <owner>nparker@chromium.org</owner>
  <summary>
    The number of extensions that have been blocked from installing grouped by
    Extension::Location. Logged when ExtensionService refuses to install a
    blacklisted extension.
  </summary>
</histogram>

<histogram name="ExtensionBlacklist.SilentInstall" enum="ExtensionLocation">
  <owner>nparker@chromium.org</owner>
  <summary>
    The number of extensions that have been silently installed in a blacklisted
    state, grouped by Extension::Location. Logged when ExtensionService installs
    a blacklisted extension without blocking it (ExtensionBlacklist.BlockCRX
    would be logged otherwise). Typically this will be when a user has a
    blacklisted extension synced.
  </summary>
</histogram>

<histogram name="ExtensionBlacklist.UnblacklistInstalled"
    enum="ExtensionLocation">
  <owner>nparker@chromium.org</owner>
  <summary>
    The number of extensions that were unblacklisted when installed, grouped by
    Extension::Location. Logged when ExtensionService unblacklists and loads a
    blacklisted extension.
  </summary>
</histogram>

<histogram name="ExtensionBubble.DevModeUserSelection"
    enum="ExtensionBubbleAction">
  <owner>finnur@chromium.org</owner>
  <summary>
    The action taken by the user when seeing the bubble, logged right after the
    action is taken.
  </summary>
</histogram>

<histogram name="ExtensionBubble.ExtensionsInDevModeCount"
    units="Developer Mode Extensions">
  <owner>finnur@chromium.org</owner>
  <summary>
    The total number of extensions found to be loaded under Developer Mode,
    logged when the devmode bubble is shown (once per startup per profile, if
    any devmode extension is found).
  </summary>
</histogram>

<histogram name="ExtensionBubble.ExtensionWipeoutCount" units="Extensions">
  <owner>finnur@chromium.org</owner>
  <summary>
    The total number of extensions found to be wiped by SideloadWipeout, logged
    when the wipeout bubble is shown, which is once per startup per profile (as
    long as wiped extensions were found). Not logged if no extensions of that
    nature were found.
  </summary>
</histogram>

<histogram name="ExtensionBubble.WipeoutUserSelection"
    enum="ExtensionBubbleAction">
  <owner>finnur@chromium.org</owner>
  <summary>
    The action taken by the user when seeing the bubble, logged right after the
    action is taken.
  </summary>
</histogram>

<histogram name="ExtensionContentHashFetcher.CreateHashesTime" units="ms">
  <owner>asargent@chromium.org</owner>
  <summary>
    The time taken to create the computed_hashes.json file for an extension.
    This happens once for each extension after we get signed values of the
    expected root node of a tree hashes for each file from the webstore; we then
    compute the individual block level hashes of the actual files and cache them
    in computed_hashes.json (assuming we don't detect any mismatches).
  </summary>
</histogram>

<histogram name="ExtensionContentHashReader.InitLatency" units="ms">
  <owner>asargent@chromium.org</owner>
  <summary>
    The time taken to initialize the ContentHashReader for an extension resource
    load. (The work done is to read in the verified contents and computed hashes
    data, and compare them to make sure they agree.)
  </summary>
</histogram>

<histogram name="ExtensionContentVerifyJob.TimeSpentUS" units="microseconds">
  <owner>asargent@chromium.org</owner>
  <summary>
    The time taken in computation (hashing actual bytes read and comparing
    against expected computed hashes values) during an extension resource load.
  </summary>
</histogram>

<histogram name="ExtensionInstalledLoader.ForceDisabled"
    enum="BooleanForceDisabled">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Counts whether we force-disabled an installed extension at startup because a
    policy provider indicated it must remain disabled.
  </summary>
</histogram>

<histogram name="ExtensionInstallSigner.InvalidCount">
  <owner>asargent@chromium.org</owner>
  <summary>
    This is a count of the number of ids that we asked to be signed which the
    server response indicated were not in the webstore.
  </summary>
</histogram>

<histogram name="ExtensionInstallSigner.RequestCount">
  <owner>asargent@chromium.org</owner>
  <summary>
    A count of the number of server requests since Chrome started running,
    recorded each time we do a request. NOTE: when interpreting these values,
    keep in mind that a user who did 5 server requests during one run of Chrome
    will log this histogram 5 times with values 1, 2, 3, 4, and 5.
  </summary>
</histogram>

<histogram name="ExtensionInstallSigner.ResultWasValid">
  <owner>asargent@chromium.org</owner>
  <summary>
    Whether the server result received by the extensions install signer was
    valid or invalid.
  </summary>
</histogram>

<histogram name="ExtensionInstallSigner.SecondsSinceLastRequest"
    units="seconds">
  <owner>asargent@chromium.org</owner>
  <summary>
    This records the number of seconds since the last time we've done a request
    to the server (only during this run of the browser).
  </summary>
</histogram>

<histogram name="ExtensionInstallSigner.UptimeAtTimeOfRequest" units="seconds">
  <owner>asargent@chromium.org</owner>
  <summary>
    Records how many seconds the browser has been running at the time a request
    to the server is made to get a new install signature.
  </summary>
</histogram>

<histogram name="ExtensionInstallVerifier.ActualStatus"
    enum="ExtensionInstallVerifierStatus">
  <owner>asargent@chromium.org</owner>
  <summary>
    Logged during InstallVerifier::Init, to indicate the actual enforcement
    status used (usually determined by the ExtensionInstallVerifier field trial
    experiment, but possibly modified by command line flags).
  </summary>
</histogram>

<histogram name="ExtensionInstallVerifier.ExperimentStatus"
    enum="ExtensionInstallVerifierStatus">
  <owner>asargent@chromium.org</owner>
  <summary>
    Logged during InstallVerifier::Init to indicate the enforcement status as
    determined by the ExtensionInstallVerifier field trial experiment.
  </summary>
</histogram>

<histogram name="ExtensionInstallVerifier.GetSignatureResult"
    enum="ExtensionInstallVerifierGetSignatureResult">
  <owner>asargent@chromium.org</owner>
  <summary>The result of the verifier trying to get a new signature.</summary>
</histogram>

<histogram name="ExtensionInstallVerifier.InitResult"
    enum="ExtensionInstallVerifierInitResult">
  <owner>asargent@chromium.org</owner>
  <summary>
    The result of initialization for the extension install verifier.
  </summary>
</histogram>

<histogram name="ExtensionInstallVerifier.MustRemainDisabled"
    enum="ExtensionInstallVerifierMustRemainDisabled">
  <owner>asargent@chromium.org</owner>
  <summary>
    The outcome for each call to InstallVerifier::MustRemainDisabled.
  </summary>
</histogram>

<histogram name="ExtensionOverrideBubble.NtpOverriddenUserSelection"
    enum="ExtensionBubbleAction">
  <owner>finnur@chromium.org</owner>
  <summary>
    The action taken by the user when seeing the bubble, notifing them of an
    extension overriding their new tab page. Logged right after the action is
    taken.
  </summary>
</histogram>

<histogram name="ExtensionOverrideBubble.SettingsApiUserSelectionHomePage"
    enum="ExtensionBubbleAction">
  <owner>finnur@chromium.org</owner>
  <summary>
    The action taken by the user when seeing the bubble, notifing them of an
    extension overriding their homepage. Logged right after the action is taken.
  </summary>
</histogram>

<histogram name="ExtensionOverrideBubble.SettingsApiUserSelectionSearchEngine"
    enum="ExtensionBubbleAction">
  <owner>finnur@chromium.org</owner>
  <summary>
    The action taken by the user when seeing the bubble, notifing them of an
    extension overriding their search engine. Logged right after the action is
    taken.
  </summary>
</histogram>

<histogram name="ExtensionOverrideBubble.SettingsApiUserSelectionStartupPage"
    enum="ExtensionBubbleAction">
  <owner>finnur@chromium.org</owner>
  <summary>
    The action taken by the user when seeing the bubble, notifing them of an
    extension overriding their startup page. Logged right after the action is
    taken.
  </summary>
</histogram>

<histogram name="Extensions.ActiveScriptController.DeniedExtensions"
    units="Extension Count">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions on a page that wanted to execute a script, required
    explicit user consent, and were denied permission.
  </summary>
</histogram>

<histogram name="Extensions.ActiveScriptController.PermittedExtensions"
    units="Extension Count">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions on a page that wanted to execute a script, required
    explicit user consent, and were granted permission.
  </summary>
</histogram>

<histogram name="Extensions.ActiveScriptController.PreventableAdInjectors"
    units="Extension Count">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions per page that injected an ad and could have been
    stopped if the user had declined script injection. This is related to the
    ActivityLog metrics, ExtensionActivity.Ad*. Recorded upon page close or
    navigation. Only recorded if there was at least one ad injection detected.
  </summary>
</histogram>

<histogram name="Extensions.ActiveScriptController.ShownActiveScriptsOnPage"
    units="Number of Actions">
  <obsolete>
    Deprecated 2/2014.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions which would display an Active Script Running
    indiciation to the user. Recorded at page close.
  </summary>
</histogram>

<histogram name="Extensions.ActiveScriptController.UnpreventableAdInjectors"
    units="Extension Count">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions per page that injected an ad and that could not
    have been stopped through script injection permission. This is related to
    the ActivityLog metrics, ExtensionActivity.Ad*. Recorded upon page close or
    navigation. Only recorded if there was at least one ad injection detected.
  </summary>
</histogram>

<histogram name="Extensions.AdInjection.AdType" enum="InjectedAdType">
  <owner>felt@chromium.org</owner>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>The type of ad that was injected.</summary>
</histogram>

<histogram name="Extensions.AdInjection.InstallLocation"
    enum="ExtensionLocation">
  <owner>felt@chromium.org</owner>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The install location of an ad-injecting extension. Recorded upon page close
    for any extension that injected ads on that page.
  </summary>
</histogram>

<histogram name="Extensions.ApiBindingGenerationTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The amount of time it takes to generate the JavaScript API bindings for a
    particular extension API. This includes the time from when a JavaScript
    context tries to access the API, triggering the lazy initializion, to the
    time when the API object is returned. This is only recorded if the binding
    is successfully generated. See also Extensions.DidCreateScriptContext_*.
  </summary>
</histogram>

<histogram name="Extensions.ApiBindingObjectGenerationTime"
    units="microseconds">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The amount of time it takes to create the JavaScript binding object using
    the binding.js module. This is a strict subset of
    Extensions.ApiBindingGenerationTime, which includes this work and more.
  </summary>
</histogram>

<histogram name="Extensions.APIUse_RelativeURL" enum="UrlResolutionResult">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Captures the results of URL resolution when relative urls are used in the
    tabs/windows api.
  </summary>
</histogram>

<histogram name="Extensions.AppLaunch" enum="AppLaunch">
  <owner>benwells@chromium.org</owner>
  <owner>tapted@chromium.org</owner>
  <summary>
    The number of times v1 apps are launched grouped by
    extension_misc::AppLaunchBuckets. See also Apps.AppLaunch for v2 apps.
  </summary>
</histogram>

<histogram name="Extensions.AppLaunchContainer" enum="AppLaunchContainer">
  <obsolete>
    Deprecated as of 12/2014, replaced by Apps.HostedAppLaunchContainer.
  </obsolete>
  <owner>benwells@chromium.org</owner>
  <owner>tapted@chromium.org</owner>
  <summary>
    The number of times apps are launched grouped by
    extensions::LaunchContainer.
  </summary>
</histogram>

<histogram name="Extensions.AppLaunchSource" enum="AppLaunchSource">
  <owner>benwells@chromium.org</owner>
  <owner>cylee@chromium.org</owner>
  <summary>
    The number of times times apps are launched grouped by
    extensions::AppLaunchSource.
  </summary>
</histogram>

<histogram name="Extensions.AppLoadedInTab" enum="AppLoadedInTabSource">
  <owner>lazyboy@chromium.org</owner>
  <summary>
    A platform app ended up in a regular tab either by the app page or its
    background page. Note that this happens unexpectedly right now and we wish
    to track its usage before removing the supporting code.
  </summary>
</histogram>

<histogram name="Extensions.AppLocation" enum="ExtensionLocation">
  <owner>benwells@chromium.org</owner>
  <owner>tapted@chromium.org</owner>
  <summary>
    The number of apps loaded at startup time grouped by Extension::Location.
  </summary>
</histogram>

<histogram name="Extensions.AppsPromo" enum="AppPromoAction">
  <owner>benwells@chromium.org</owner>
  <owner>tapted@chromium.org</owner>
  <summary>
    The actions taken in the NTP apps promo grouped by
    extension_misc::AppsPromoBuckets.
  </summary>
</histogram>

<histogram name="Extensions.AppTabLaunchType" enum="ExtensionLaunchType">
  <owner>benwells@chromium.org</owner>
  <owner>tapted@chromium.org</owner>
  <summary>
    The number of apps launched grouped by extensions::LaunchType.
  </summary>
</histogram>

<histogram name="Extensions.BackgroundContentsServiceStartupTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Time taken to load BackgroundContents for apps at startup when the extension
    system notifies that it is ready.
  </summary>
</histogram>

<histogram name="Extensions.BackgroundPageLoadTime" units="ms">
  <obsolete>
    Replaced by Extensions.BackgroundPageLoadTime2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>The time for an extension's background page to load.</summary>
</histogram>

<histogram name="Extensions.BackgroundPageLoadTime2" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The time taken for an extension's persistent background page to load its
    initial URL.
  </summary>
</histogram>

<histogram name="Extensions.BackgroundPageType"
    units="ExtensionBackgroundPageType">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The type (if any) of background page the extension has. Recorded for
    installed extensions on startup.
  </summary>
</histogram>

<histogram name="Extensions.BadMessageFunctionName" enum="ExtensionFunctions">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of times each Extension function call sends a bad message,
    killing the renderer. This may indicate a bug in that API's implementation
    on the renderer. Note a similar, aggregate metric is BadMessageTerminate_EFD
    which counts the number of bad messages that are sent overall.
  </summary>
</histogram>

<histogram name="Extensions.BadSyncDataReason" enum="BadSyncDataReason">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The reason a valid ExtensionSyncData could not be parsed from a SyncData
    received from sync.
  </summary>
</histogram>

<histogram name="Extensions.BookmarkAppLaunchContainer"
    enum="AppLaunchContainer">
  <owner>benwells@chromium.org</owner>
  <summary>Records the container used for a bookmark app launch.</summary>
</histogram>

<histogram name="Extensions.CheckForExternalUpdatesTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during
    ExtensionService::CheckForExternalUpdates.
  </summary>
</histogram>

<histogram name="Extensions.CorruptExtensionBecameDisabled">
  <owner>asargent@chromium.org</owner>
  <summary>
    Fired each time an extension was detected to be corrupted (contents not
    matching an expected content hash from the webstore) and was disabled.
  </summary>
</histogram>

<histogram name="Extensions.CorruptExtensionDisabledReason"
    enum="CorruptExtensionDisabledReason">
  <owner>rockot@chromium.org</owner>
  <summary>
    The reason why an extension was detected to be corrupted. Recorded each time
    an extension is disabled due to corruption detection.
  </summary>
</histogram>

<histogram name="Extensions.CorruptExtensionTotalDisables">
  <owner>asargent@chromium.org</owner>
  <summary>
    Logged once at startup, this is the value of a counter that is incremented
    anytime we disable a corrupted extension because its content didn't match an
    expected content hash.
  </summary>
</histogram>

<histogram name="Extensions.CorruptExtensionWouldBeDisabled">
  <owner>asargent@chromium.org</owner>
  <summary>
    Simiar to Extensions.CorruptExtensionBecameDisabled, but fires when we're in
    a bootstrapping mode and would have disabled an extension.
  </summary>
</histogram>

<histogram name="Extensions.CorruptPolicyExtensionDetected" enum="BooleanHit">
  <owner>asargent@chromium.org</owner>
  <summary>
    Fires when we detect corruption in an enterprise policy forced install
    extension and begin the process of reinstalling it. Compare to
    CorruptPolicyExtensionResolved to judge success rate.
  </summary>
</histogram>

<histogram name="Extensions.CorruptPolicyExtensionResolved" units="ms">
  <owner>asargent@chromium.org</owner>
  <summary>
    Fires when we've successfully resinstalled a corrupt enterprise policy
    force-installed extension, with a value indicating how long it took
    end-to-end to complete the reinstall (including download time).
  </summary>
</histogram>

<histogram name="Extensions.CorruptPolicyExtensionWouldBeDisabled"
    enum="BooleanHit">
  <obsolete>
    Deprecated 9/2016 by fix for Issue 447040.
  </obsolete>
  <owner>asargent@chromium.org</owner>
  <summary>
    Fires when we detect corruption in an enterprise policy forced install
    extension. See http://crbug.com/447040 for more background on why we don't
    yet disable these. A useful comparison can be made between this value and
    the number of policy forced extensions loaded at startup, which is logged in
    the EXTERNAL_POLICY_DOWNLOAD bucket of the Extensions.ExtensionLocation
    histogram.
  </summary>
</histogram>

<histogram name="Extensions.CrxFetchError" enum="NetErrorCodes">
  <owner>asargent@chromium.org</owner>
  <summary>Net error results from URLFetcher.</summary>
</histogram>

<histogram name="Extensions.CrxFetchFailureRetryCountGoogleUrl">
  <owner>asargent@chromium.org</owner>
  <summary>
    Number of times chrome retried to download an extension with a url on a
    google.com domain, before eventually giving up.
  </summary>
</histogram>

<histogram name="Extensions.CrxFetchFailureRetryCountOtherUrl">
  <owner>asargent@chromium.org</owner>
  <summary>
    Number of times chrome retried to download an extension with a url on a non
    google.com domain, before eventually giving up.
  </summary>
</histogram>

<histogram name="Extensions.CrxFetchSuccessRetryCountGoogleUrl">
  <owner>asargent@chromium.org</owner>
  <summary>
    Number of times chrome retried to download an extension with a url on a
    google.com domain, before eventually succeeding.
  </summary>
</histogram>

<histogram name="Extensions.CrxFetchSuccessRetryCountOtherUrl">
  <owner>asargent@chromium.org</owner>
  <summary>
    Number of times chrome retried to download an extension with a url on a non
    google.com domain, before eventually succeeding.
  </summary>
</histogram>

<histogram name="Extensions.CrxInstallDirPathLength">
  <owner>asargent@chromium.org</owner>
  <summary>
    Length of the path to the directory under which an extension is installed.
    This directory is in the user's profile.
  </summary>
</histogram>

<histogram name="Extensions.Database.Database.Restore"
    enum="LevelDBDatabaseCorruptionRestoreValue">
  <owner>cmumford@chromium.org</owner>
  <summary>
    The result of an attempt to recover from an attempt to open a database that
    failed as a result of corruption.
  </summary>
</histogram>

<histogram name="Extensions.Database.Open" enum="LevelDBStatus">
  <owner>cmumford@chromium.org</owner>
  <summary>The result of an open attempt to an Extensions database.</summary>
</histogram>

<histogram name="Extensions.Database.Restore"
    enum="LevelDBDatabaseCorruptionRestoreValue">
  <obsolete>
    Shipped only in M48. Superceded by Extensions.Database.Database.Restore and
    Extensions.Database.Value.Restore.
  </obsolete>
  <owner>cmumford@chromium.org</owner>
  <summary>
    The result of an attempt to recover from an attempt to open a database that
    failed as a result of corruption.
  </summary>
</histogram>

<histogram name="Extensions.Database.Value.Restore"
    enum="LevelDBValueCorruptionDeleteValue">
  <owner>cmumford@chromium.org</owner>
  <summary>
    The result of an attempt to delete a corrupted value from a database.
  </summary>
</histogram>

<histogram name="Extensions.DeclarativeRulesStorageInitialization" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Time spent until rules storage delegate gets ready.</summary>
</histogram>

<histogram name="Extensions.DepricatedExternalJsonCount">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of extensions referenced in the depricated external extensions source
    at path chrome::DIR_DEPRICATED_EXTERNAL_EXTENSIONS.
  </summary>
</histogram>

<histogram name="Extensions.DialogLoadTime" units="ms">
  <obsolete>
    There is no such thing as an extension dialog.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The time for a dialog-hosted extension to load.</summary>
</histogram>

<histogram name="Extensions.DidCreateScriptContext_Blessed" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Part of the suite of Extensions.DidCreateScriptContext_* metrics. Records
    the time taken to install Extension JavaScript bindings per blessed
    extension context (chrome-extension://... origins within Extension
    processes, like background pages, options pages, popups).
  </summary>
</histogram>

<histogram name="Extensions.DidCreateScriptContext_BlessedWebPage" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Part of the suite of Extensions.DidCreateScriptContext_* metrics. Records
    the time taken to install Extension JavaScript bindings per blessed web page
    context (hosted apps).
  </summary>
</histogram>

<histogram name="Extensions.DidCreateScriptContext_ContentScript" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Part of the suite of Extensions.DidCreateScriptContext_* metrics. Records
    the time taken to install Extension JavaScript bindings per content script
    context.
  </summary>
</histogram>

<histogram name="Extensions.DidCreateScriptContext_Unblessed" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Part of the suite of Extensions.DidCreateScriptContext_* metrics. Records
    the time taken to install Extension JavaScript bindings per unblessed
    extension context (chrome-extension://... origins hosted in iframes).
  </summary>
</histogram>

<histogram name="Extensions.DidCreateScriptContext_Unspecified" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Part of the suite of Extensions.DidCreateScriptContext_* metrics. Records
    the time taken to install Extension JavaScript bindings in an unknown type
    of context (this should never happen other than in bizarre circumstances).
  </summary>
</histogram>

<histogram name="Extensions.DidCreateScriptContext_WebPage" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Part of the suite of Extensions.DidCreateScriptContext_* metrics. Records
    the time taken to install Extension JavaScript bindings per web page context
    (just the chrome.app, chrome.webstore, and possibly chrome.runtime APIs).
  </summary>
</histogram>

<histogram name="Extensions.DidCreateScriptContext_WebUI" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Part of the suite of Extensions.DidCreateScriptContext_* metrics. Records
    the time taken to install Extension JavaScript bindings per WebUI context
    (chrome://extensions and so forth).
  </summary>
</histogram>

<histogram name="Extensions.DidInitializeServiceWorkerContextOnWorkerThread"
    units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Records the time taken to install Extension JavaScript bindings per service
    worker context.
  </summary>
</histogram>

<histogram name="Extensions.DidSuppressJavaScriptException"
    enum="ChromeChannelForHistogram">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Records the Chrome channel when JavaScript exceptions are not gracefully
    dealt with, and suppressed by C++ instead. These are exceptions generated
    (or simply not caught and gracefully recovered) in our own internal
    JavaScript, not from JavaScript code written by developers (that which is
    typically hosted in CRX files). This should be 0 for unstable channels like
    canary and dev, because we try *not* to suppress errors and instead kill the
    renderer and generate a crash report. However, at times we need to suppress
    even those. Note that this histogram is intended to be tracked over time,
    per channel, to observe crash rates. Comparisons between
    stable/beta/dev/canary are unlikely to be meaningful.
  </summary>
</histogram>

<histogram name="Extensions.Disabled">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions that are disabled at browser startup.
  </summary>
</histogram>

<histogram name="Extensions.DisabledForPermissions">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions that are disabled at browser startup due to
    permissions increases.
  </summary>
</histogram>

<histogram name="Extensions.DisabledUIUserResponse"
    enum="ExtensionDisabledUIUserResponse">
  <obsolete>
    Deprecated 03/2017 because miscounting IGNORE histogram entry. This error is
    fixed with DisabledUIUserResponse2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    User response to the dialog shown when an extension is disabled due to an
    update requiring more permissions.
  </summary>
</histogram>

<histogram name="Extensions.DisabledUIUserResponse2"
    enum="ExtensionDisabledUIUserResponse">
  <owner>catmullings@chromium.org</owner>
  <summary>
    User response to the dialog shown when an extension is disabled due to an
    update requiring more permissions. A count is recorded when the user takes
    an action on the dialog (re-enable or remove the extension) or ignores the
    dialog.
  </summary>
</histogram>

<histogram name="Extensions.DisabledUIUserResponseRemoteInstall"
    enum="ExtensionDisabledUIUserResponse">
  <obsolete>
    Deprecated 03/2017 because miscounting IGNORE histogram entry. This error is
    fixed with DisabledUIUserResponseRemoteInstall2.
  </obsolete>
  <owner>mek@chromium.org</owner>
  <summary>
    User response to the dialog shown when an extension is disabled due to it
    having been installed remotely.
  </summary>
</histogram>

<histogram name="Extensions.DisabledUIUserResponseRemoteInstall2"
    enum="ExtensionDisabledUIUserResponse">
  <owner>catmullings@chromium.org</owner>
  <summary>
    User response to the dialog shown when an extension is disabled due to it
    having been installed remotely. A count is recorded when the user takes an
    action on the dialog (re-enable or remove the extension) or ignores the
    dialog.
  </summary>
</histogram>

<histogram name="Extensions.DisableReason" enum="ExtensionDisableReason">
  <owner>asargent@chromium.org</owner>
  <summary>
    The count of disabled extensions at startup grouped by disble reason from
    Extension::DisableReason. When an extension is disabled, it can be for one
    or more reasons (although typically just one), so the sum of these may be
    greater than 'Extensions.Disabled' which is a count of the number of unique
    extensions that are disabled.
  </summary>
</histogram>

<histogram name="Extensions.DocsOfflineIconState" enum="ExtensionIconState">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The state of the toolbar icon for the docs offline extension (visible in the
    toolbar, overflowed in the menu, or the extension is disabled). Recorded
    once per startup per (non-incognito) profile.
  </summary>
</histogram>

<histogram name="Extensions.EnhancedBookmarksManagerNumEventListeners">
  <obsolete>
    Obsolete since the enhanced bookmarks manager is no longer using an event
    page.
  </obsolete>
  <owner>wittman@chromium.org</owner>
  <summary>
    The number of event listeners the Enhanced Bookmarks Manager has, measured
    at profile startup. A value of 0 implies that Chrome has a general bug with
    event page management, since the bookmarks manager should always have at
    least one event listener - but a bug with event page management that affects
    the bookmarks manager is particularly dire.
  </summary>
</histogram>

<histogram name="Extensions.ErrorCodeFromCrxOpen">
  <owner>asargent@chromium.org</owner>
  <summary>
    If opening the CRX file for unpacking fails, this integer is the error code
    given by the OS.
  </summary>
</histogram>

<histogram name="Extensions.EventlessEventPages">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions with event pages that have no registered event
    listeners at profile startup. (This may indicate something has gone wrong;
    such event pages will never get started.)
  </summary>
</histogram>

<histogram name="Extensions.EventPageActiveTime" units="ms">
  <obsolete>
    Replaced by Extensions.EventPageActiveTime2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>The time an extension's event page has spent loaded.</summary>
</histogram>

<histogram name="Extensions.EventPageActiveTime2" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The time between an extension's event page loading its first URL and the
    event page later shutting down.
  </summary>
</histogram>

<histogram name="Extensions.EventPageIdleTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>The time an extension's event page has spent unloaded.</summary>
</histogram>

<histogram name="Extensions.EventPageLoadTime" units="ms">
  <obsolete>
    Replaced by Extensions.EventPageLoadTime2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>The time for an extension's event page to load.</summary>
</histogram>

<histogram name="Extensions.EventPageLoadTime2" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The time taken for an extension's event page to load its initial URL.
  </summary>
</histogram>

<histogram name="Extensions.Events.Dispatch" enum="ExtensionEvents">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>Recorded every time an event is dispatched to an extension.</summary>
</histogram>

<histogram name="Extensions.Events.DispatchToComponent" enum="ExtensionEvents">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Recorded every time an event is dispatched to a *component* extension.
    Otherwise identical to Extensions.Events.Dispatched.
  </summary>
</histogram>

<histogram name="Extensions.Events.DispatchToComponentWithSuspendedEventPage"
    enum="ExtensionEvents">
  <owner>mfoltz@chromium.org</owner>
  <summary>
    Recorded every time an event is dispatched to a *component* extension with a
    suspended event page.  Otherwise identical to
    Extensions.Events.DispatchWithSuspendedEventPage.
  </summary>
</histogram>

<histogram name="Extensions.Events.DispatchWithPersistentBackgroundPage"
    enum="ExtensionEvents">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Recorded every time an event is dispatched to an extension with a persistent
    background page. The event may or may not have been dispatched to the
    background page itself, for example it may have been dispatched to its
    popup. When this metric is recorded, Extensions.Events.Dispatch will also be
    recorded.
  </summary>
</histogram>

<histogram name="Extensions.Events.DispatchWithRunningEventPage"
    enum="ExtensionEvents">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Recorded every time an event is dispatched to an extension with an event
    page that was already running (i.e. at some point had been woken from its
    suspended state, see Extensions.Events.DispatchWithSuspendedEventPage). The
    event may or may not have been dispatched to the event page itself, for
    example it may have been dispatched to its popup. When this metric is
    recorded, Extensions.Events.Dispatch will also be recorded.
  </summary>
</histogram>

<histogram name="Extensions.Events.DispatchWithSuspendedEventPage"
    enum="ExtensionEvents">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Recorded every time an event is dispatched to an extension with an event
    page that was suspended. This implies that firing this event woke up the
    event page. The event may or may not have been dispatched to the event page
    itself, for example it may have been dispatched to its popup, but regardless
    it will wake the event page.  When this metric is recorded,
    Extensions.Events.Dispatch will also be recorded.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionCacheCount">
  <owner>achuith@chromium.org</owner>
  <summary>
    Number of cached extensions on disk. Reported on Chrome OS during user
    session start.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionCacheSize" units="MB">
  <owner>achuith@chromium.org</owner>
  <summary>
    Total size of .crx files in cache on disk. Reported on Chrome OS during user
    session start.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionCreationTime" units="microseconds">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The amount of time taken to create a single extension object. This includes
    parsing all the different extension manifest keys and initializating the
    associated manifest data.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionFrameMapCacheHit" units="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    True if the cache of the extension frame map was hit during access on the IO
    thread.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionFrameMapLookupSuccessful" units="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    True if the lookup for a frame in the extension frame map succeeded after a
    cache miss.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionHostMonitoring.MaxActiveLoading">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The maximum number of ExtensionHosts (primarily background/event pages) that
    were actively loading at any one time, within the first minute of Chrome
    startup. Emitted exactly one minute after startup.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionHostMonitoring.MaxInQueue">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The maximum number of ExtensionHosts (primarily background/event pages) in
    the queue awaiting being loaded (via an ExtensionHostQueue), within the
    first minute of Chrome startup. Emitted exactly one minute after startup.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionHostMonitoring.NumLoaded">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The total number of ExtensionHosts that completed loading in the first
    minute of Chrome startup. Emitted exactly one minute after startup.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionHostMonitoring.NumQueued">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The total number of ExtensionHosts (primarily background/event pages) that
    were added to a queue to start loading, within the first minute of Chrome
    startup. These may or may not end up starting, let alone finishing,
    depending on the queue behavior. Emitted exactly one minute after startup.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionInstalled">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>An extension has been installed.</summary>
</histogram>

<histogram name="Extensions.ExtensionLocation" enum="ExtensionLocation">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions loaded at startup time grouped by
    Extension::Location.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionManagement_RefreshTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during ExtensionManagement::Refresh.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionRendererStateCacheHit" units="Boolean">
  <obsolete>
    Deprecated 4/2016. ExtensionRendererState was replaced with
    ExtensionFrameMap.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    True if the cache for the ExtensionRendererState was hit during a lookup.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionRootPathLength">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Length of the Extensions dir path inside the profile directory.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionServiceInitTime">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Time taken for the ExtensionService to initialize, including the time it
    takes to load the extensions for the service's profile and parse their
    manifests. This happens during startup and also any time a new profile is
    loaded.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionServiceNotifyReadyListenersTime">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Time taken for the ExtensionService to notify all ready listeners that the
    extension system is now ready. This happens as part of the total
    initialization time of ExtensionService, measured in
    Extensions.ExtensionServiceInitTime.
  </summary>
</histogram>

<histogram name="Extensions.ExtensionUninstalled">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>An extension has been uninstalled.</summary>
</histogram>

<histogram name="Extensions.ExternalExtensionEvent" enum="SideloadUIEvents">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Records what happens to extensions that are sideloaded, grouped by the
    ExternalExtensionEvent enum.
  </summary>
</histogram>

<histogram name="Extensions.ExternalItemState" enum="ExternalItemState">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of sideloaded apps/extensions loaded on startup grouped by
    enabled/disabled state.
  </summary>
</histogram>

<histogram name="Extensions.ExternalJsonCount">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of extensions referenced in the external extensions source at path
    chrome::DIR_EXTERNAL_EXTENSIONS.
  </summary>
</histogram>

<histogram name="Extensions.ExternalWarningUninstallationResult" enum="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Whether or not the uninstallation of an external extension succeeded.
    Triggered when the external install warning is shown to the user and the
    user selects to remove the extension.
  </summary>
</histogram>

<histogram name="Extensions.FeatureProviderStaticInitTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during extensions::FeatureProvider::Static.
    Only measured while in the browser process.
  </summary>
</histogram>

<histogram name="Extensions.FileAccessAllowed">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions (and friends) that could have been given access to
    the file:// scheme, and were, for users that have at least one extension
    that could have been given access. This excludes anything that doesn't show
    up in chrome://extensions (platform apps, hosted apps, component
    extensions), policy-installed extensions, and unpacked extensions. See also
    Extensions.FileAccessNotAllowed.
  </summary>
</histogram>

<histogram name="Extensions.FileAccessNotAllowed">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions (and friends) that could have been given access to
    the file:// scheme, but weren't, for users that have at least one extension
    that could have been given access. This excludes anything that doesn't show
    up in chrome://extensions (platform apps, hosted apps, component
    extensions), policy-installed extensions, and unpacked extensions. See also
    Extensions.FileAccessAllowed.
  </summary>
</histogram>

<histogram name="Extensions.FileInstallation" units="ms">
  <owner>xiaohuic@chromium.org</owner>
  <summary>
    Record the time taken to physically move the extention files from temporary
    location to the final installation directory. It includes the time to flush
    the file system if ExtensionUseSafeInstallation field trial is enabled. This
    is recorded once per extension install/update.
  </summary>
</histogram>

<histogram name="Extensions.FontSettingsEventRouterCtorTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during the FontSettingsEventRouter
    construction.
  </summary>
</histogram>

<histogram name="Extensions.FromWebstoreInconsistency"
    enum="ExtensionFromWebstoreInconcistencyEnum">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of apps/extensions loaded on startup with an inconsistent &quot;from
    webstore&quot; state. This means an item that is flagged as from_webstore,
    but with either a non-webstore update_url or an external install location.
  </summary>
</histogram>

<histogram name="Extensions.FunctionCalls" enum="ExtensionFunctions">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>Number of calls to extension functions.</summary>
</histogram>

<histogram name="Extensions.Functions.FailedTime" enum="ExtensionFunctions">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Recorded when an extension function call fails and finishes execution. The
    suffix indicates the exact bucket the function is in. See also
    Extensions.Functions.FailedTotalExecutionTime.
  </summary>
</histogram>

<histogram name="Extensions.Functions.FailedTotalExecutionTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The total amount of time it took to execute an extension function that
    failed from the time the extension function is called to the time the
    function responds. Note that since some extension functions are inherently
    slow (anything that requires user interaction, for instance), this is not a
    definitive source for function performance.
  </summary>
</histogram>

<histogram name="Extensions.Functions.HandleResponseElapsedTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The amount of time it takes to handle a response for an extension API
    request. Recorded on the renderer side once we receive the response IPC from
    the browser and have deserialized the arguments and passed them to the JS
    context. Only recorded if the response is successfully handled.
  </summary>
</histogram>

<histogram name="Extensions.Functions.StartRequestElapsedTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The amount of time it takes to start an extension API request. Recorded on
    the renderer side after we perform JS pre-processing, but includes all
    serialization and dispatching. Only recorded if the request is successfully
    dispatched.
  </summary>
</histogram>

<histogram name="Extensions.Functions.SucceededTime" enum="ExtensionFunctions">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Recorded when an extension function call succeeds and finishes execution.
    The suffix indicates the exact bucket the function is in. See also
    Extensions.Functions.SucceededTotalExecutionTime.
  </summary>
</histogram>

<histogram name="Extensions.Functions.SucceededTotalExecutionTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The total amount of time it took to execute an extension function that
    succeeded from the time the extension function is called to the time the
    function responds. Note that since some extension functions are inherently
    slow (anything that requires user interaction, for instance), this is not a
    definitive source for function performance.
  </summary>
</histogram>

<histogram name="Extensions.Functions.SynchronousExecutionTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The synchronous amount of time an extension function takes. Note that many
    extension functions run asynchronously; see also
    Extensions.Functions.[Succeeded|Failed]TotalExecutionTime.
  </summary>
</histogram>

<histogram name="Extensions.GetUserDataTempDir" enum="GetUserDataTempDirResult">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    What happens when the extensions system tries to get a temp dir to unpack
    in?
  </summary>
</histogram>

<histogram name="Extensions.HasPermissions_AutoDisable3" enum="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    Whether there were any permissions present in an extension when it is
    automatically disabled due to a permission increase (e.g., after an
    extension upgrade). To find places where this histogram may be emitted, look
    for calls to ExtensionService::RecordPermissionMessagesHistogram with the
    argument AutoDisable. For Sync users, this may be reported for each device,
    depending on whether the Sync update or the extension auto-update happen
    first.
  </summary>
</histogram>

<histogram name="Extensions.HasPermissions_Install3" enum="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    Whether there were any permissions present in an extension when it was
    installed. To find places where this histogram may be emitted, look for
    calls to ExtensionService::RecordPermissionMessagesHistogram with the
    argument Install. For Sync users, this is reported for each device.
  </summary>
</histogram>

<histogram name="Extensions.HasPermissions_InstallAbort3" enum="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    Whether there were any permissions present in an extension when installation
    was aborted (e.g. because the parent window of the confirmation dialog went
    away), not including installation errors and user cancels. To find places
    where this histogram may be emitted, look for calls to
    ExtensionService::RecordPermissionMessagesHistogram with the argument
    InstallAbort.
  </summary>
</histogram>

<histogram name="Extensions.HasPermissions_InstallCancel3" enum="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    Whether there were any permissions present in an extension when installation
    was canceled. To find places where this histogram may be emitted, look for
    calls to ExtensionService::RecordPermissionMessagesHistogram with the
    argument InstallCancel.
  </summary>
</histogram>

<histogram name="Extensions.HasPermissions_Load3" enum="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    Whether there were any permissions present in an extension when it was
    loaded (which happens at profile open or extension install). To find places
    where this histogram may be emitted, look for calls to
    ExtensionService::RecordPermissionMessagesHistogram with the argument Load.
  </summary>
</histogram>

<histogram name="Extensions.HasPermissions_ReEnable3" enum="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    Whether there were any permissions present in an extension when it was
    re-enabled from a confirmation prompt. To find places where this histogram
    may be emitted, look for calls to
    ExtensionService::RecordPermissionMessagesHistogram with the argument
    ReEnable.
  </summary>
</histogram>

<histogram name="Extensions.HasPermissions_ReEnableAbort3" enum="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    Whether there were any permissions present in an extension when the
    re-enable prompt was aborted (e.g. because the parent window of the
    confirmation dialog went away), not including installation errors and manual
    user cancels. To find places where this histogram may be emitted, look for
    calls to ExtensionService::RecordPermissionMessagesHistogram with the
    argument ReEnableAbort.
  </summary>
</histogram>

<histogram name="Extensions.HasPermissions_ReEnableCancel3" enum="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    Whether there were any permissions present in an extension when the
    re-enable was canceled from the confirmation prompt. To find places where
    this histogram may be emitted, look for calls to
    ExtensionService::RecordPermissionMessagesHistogram with the argument
    ReEnableCancel.
  </summary>
</histogram>

<histogram name="Extensions.HasPermissions_Uninstall3" enum="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    Whether there were any permissions present in an extension when it was
    uninstalled. To find places where this histogram may be emitted, look for
    calls to ExtensionService::RecordPermissionMessagesHistogram with the
    argument Uninstall. For Sync users, this is reported for each device.
  </summary>
</histogram>

<histogram name="Extensions.HasPermissions_WebStoreInstall3" enum="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    Whether there were any permissions present in an extension when it was
    installed through the web store. To find places where this histogram may be
    emitted, look for calls to
    ExtensionService::RecordPermissionMessagesHistogram with the argument
    WebStoreInstall. Contrary to the more-general HasPermissions_Install3
    histogram, this one is NOT reported for each device.
  </summary>
</histogram>

<histogram name="Extensions.HasPermissions_WebStoreInstallAbort3"
    enum="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    Whether there were any permissions present in an extension when installation
    from the web store was aborted (e.g. because the parent window of the
    confirmation dialog went away), not including installation errors and user
    cancels. To find places where this histogram may be emitted, look for calls
    to ExtensionService::RecordPermissionMessagesHistogram with the argument
    WebStoreInstallAbort.
  </summary>
</histogram>

<histogram name="Extensions.HasPermissions_WebStoreInstallCancel3"
    enum="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    Whether there were any permissions present in an extension when installation
    from the web store was canceled. To find places where this histogram may be
    emitted, look for calls to
    ExtensionService::RecordPermissionMessagesHistogram with the argument
    WebStoreInstallCancel.
  </summary>
</histogram>

<histogram name="Extensions.HostedAppLaunchContainer" enum="AppLaunchContainer">
  <owner>benwells@chromium.org</owner>
  <summary>
    Records the container used for a hosted app launch. The definition of
    'launch' for the purposes of this histogram is different to that used for
    the launch type histograms. This definition is less inclusive, for example
    it does not include navigations to the hosted app due to normal browsing,
    which the other definition does include. This definition could be thought of
    more as explicit launches via a launch surface such as the app launcher,
    chrome://apps, or a shortcut.
  </summary>
</histogram>

<histogram name="Extensions.HostedAppUnlimitedStoragePersistentStorageUsage"
    units="KB">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The usage (in kilobytes) of persistent storage in a hosted app with the
    unlimitedStorage permission. This is logged each time the storage is used*,
    so this also serves as a cap of the number of calls that would fail if the
    app did not have the unlimited storage permission. *Capped at once per 30
    seconds so as to not impact performance.
  </summary>
</histogram>

<histogram name="Extensions.HostedAppUnlimitedStorageTemporaryStorageUsage"
    units="%">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The percentage of &quot;normal&quot; (that is, not unlimited) quota that a
    hosted app with unlimited storage is currently using. This is logged each
    time the storage is used*, so the number of times the app would use greater
    than 100% of the default storage can serve as a cap for the number of calls
    that would fail if the app did not have the unlimitedStorage permission.
    *Capped at once per 30 seconds so as to not impact performance.
  </summary>
</histogram>

<histogram name="Extensions.HostedAppUnlimitedStorageUsage" units="KB">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The usage (in kilobytes) of a hosted app with the unlimitedStorage api
    permission, recorded once per run per app the first time we load storage for
    the hosted app. This is separate from the other metrics on hosted app
    unlimited storage usage because it is logged once per extension per run.
  </summary>
</histogram>

<histogram name="Extensions.IncognitoAllowed">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions (and friends) that could have been allowed in
    incognito, and were, for users that have at least one extension that could
    have been allowed. This excludes anything that doesn't show up in
    chrome://extensions (platform apps, hosted apps, component extensions),
    policy-installed extensions, and unpacked extensions. See also
    Extensions.IncognitoNotAllowed.
  </summary>
</histogram>

<histogram name="Extensions.IncognitoNotAllowed">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions (and friends) that could have been allowed in
    incognito, but weren't, for users that have at least one extension that
    could have been allowed. This excludes anything that doesn't show up in
    chrome://extensions (platform apps, hosted apps, component extensions),
    policy-installed extensions, and unpacked extensions. See also
    Extensions.IncognitoAllowed.
  </summary>
</histogram>

<histogram name="Extensions.InitExtensionControlledPrefsTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during
    ExtensionPrefs::InitExtensionControlledPrefs.
  </summary>
</histogram>

<histogram name="Extensions.InitPrefGetExtensionsTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during the GetExtensions call within
    ExtensionPrefs::InitPrefStore.
  </summary>
</histogram>

<histogram name="Extensions.InitPrefStoreTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during ExtensionPrefs::InitPrefStore.
  </summary>
</histogram>

<histogram name="Extensions.InjectCssTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The amount of time for a CSS file to be injected into a page.
  </summary>
</histogram>

<histogram name="Extensions.InjectedScriptExecutionTime" units="ms">
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Time taken to execute all scripts for one location within an extension.
    Recorded every time content scripts injected by extensions are executed.
    Unlike Extensions.InjectScriptTime, this includes execution time of
    asynchronously injected scripts.
  </summary>
</histogram>

<histogram name="Extensions.InjectEnd_BlockingScriptCount">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Number of blocking scripts injected at document end by extensions.
  </summary>
</histogram>

<histogram name="Extensions.InjectEnd_ScriptCount">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>Number of scripts injected at document end by extensions.</summary>
</histogram>

<histogram name="Extensions.InjectEnd_Time" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Time taken to inject all scripts at document end by extensions. Not reported
    if scripts are executed asynchronously.
  </summary>
</histogram>

<histogram name="Extensions.InjectIdle_BlockingScriptCount">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Number of blocking scripts injected at document idle by extensions.
  </summary>
</histogram>

<histogram name="Extensions.InjectIdle_ScriptCount">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>Number of scripts injected at document idle by extensions.</summary>
</histogram>

<histogram name="Extensions.InjectIdle_Time" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Time taken to inject all scripts at document idle by extensions. Not
    reported if scripts are executed asynchronously.
  </summary>
</histogram>

<histogram name="Extensions.InjectScriptTime" units="ms">
  <obsolete>
    Deprecated 03/2017 in favor of Extensions.InjectedScriptExecutionTime.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>Time taken to inject all scripts by extensions.</summary>
</histogram>

<histogram name="Extensions.InjectStart_BlockingScriptCount">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Number of blocking scripts injected at document start by extensions.
  </summary>
</histogram>

<histogram name="Extensions.InjectStart_CssCount">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>Number of css files injected by extensions.</summary>
</histogram>

<histogram name="Extensions.InjectStart_ScriptCount">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>Number of scripts injected at document start by extensions.</summary>
</histogram>

<histogram name="Extensions.InjectStart_Time" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Time taken to inject css/scripts at document start by extensions. Not
    reported if scripts are executed asynchronously.
  </summary>
</histogram>

<histogram name="Extensions.InstallPrompt.Accepted" enum="BooleanAccepted">
  <owner>meacer@chromium.org</owner>
  <summary>
    Whether the user accepted or aborted an extension installation.
  </summary>
</histogram>

<histogram name="Extensions.InstallPrompt.Type"
    enum="ExtensionInstallPromptType">
  <owner>meacer@chromium.org</owner>
  <summary>
    Type of the extension install prompt displayed when an extension
    installation is triggered.
  </summary>
</histogram>

<histogram name="Extensions.InstallPromptExperiment.ShowDetails"
    enum="ExtensionInstallPromptExperimentLinkAction">
  <owner>meacer@chromium.org</owner>
  <summary>
    Actions on the show details link grouped by action type when the install
    prompt trial is running.
  </summary>
</histogram>

<histogram name="Extensions.InstallPromptExperiment.ShowPermissions"
    enum="ExtensionInstallPromptExperimentLinkAction">
  <owner>meacer@chromium.org</owner>
  <summary>
    Actions on the show permissions link grouped by action type when the install
    prompt trial is running.
  </summary>
</histogram>

<histogram name="Extensions.InstallSource" enum="ExtensionLocation">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>Installs grouped by the location property in prefs.</summary>
</histogram>

<histogram name="Extensions.InstallType" enum="ExtensionType">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>Installs grouped by Extension::HistogramType.</summary>
</histogram>

<histogram name="Extensions.LoadAll">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>The number of extensions and themes loaded at profile open.</summary>
</histogram>

<histogram name="Extensions.LoadAllComponentTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Time taken to load all component extensions at profile open. This happens as
    part of the total initialization time of ExtensionService, measured in
    Extensions.ExtensionServiceInitTime.
  </summary>
</histogram>

<histogram name="Extensions.LoadAllTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Time taken to load all non-component extensions at profile open. This
    happens as part of the total initialization time of ExtensionService,
    measured in Extensions.ExtensionServiceInitTime.
  </summary>
</histogram>

<histogram name="Extensions.LoadAllTime2" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Time taken to load all non-component extensions at profile open and record
    metrics. This happens as part of the total initialization time of
    ExtensionService, measured in Extensions.ExtensionServiceInitTime.
  </summary>
</histogram>

<histogram name="Extensions.LoadApp">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>The number of apps loaded by each user at profile open.</summary>
</histogram>

<histogram name="Extensions.LoadAppExternal">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of externally managed apps loaded by each user at profile open.
  </summary>
</histogram>

<histogram name="Extensions.LoadAppUser">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of user-installed apps loaded by each user at profile open.
  </summary>
</histogram>

<histogram name="Extensions.LoadBrowserAction">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of browser action extensions loaded at profile open.
  </summary>
</histogram>

<histogram name="Extensions.LoadContentPack">
  <obsolete>
    Deprecated as of 4/2015. Replaced by ManagedUsers.Whitelist.Count.
  </obsolete>
  <owner>asargent@chromium.org</owner>
  <summary>
    The number of content-pack extensions loaded at profile open.
  </summary>
</histogram>

<histogram name="Extensions.LoadCreationFlags" enum="ExtensionCreationFlags">
  <owner>calamity@chromium.org</owner>
  <summary>
    The creation flags of all extensions loaded at profile open grouped by
    Extension::InitFromValueFlags.
  </summary>
</histogram>

<histogram name="Extensions.LoadExtension">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>The number of extensions loaded at profile open.</summary>
</histogram>

<histogram name="Extensions.LoadExtensionExternal">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of externally managed extensions loaded at profile open.
  </summary>
</histogram>

<histogram name="Extensions.LoadExtensionUser">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of user-installed extensions loaded at profile open.
  </summary>
</histogram>

<histogram name="Extensions.LoadExternal">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of externally managed extensions and apps loaded at profile open.
  </summary>
</histogram>

<histogram name="Extensions.LoadHostedApp">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of hosted apps loaded by each user at profile open.
  </summary>
</histogram>

<histogram name="Extensions.LoadNoExtensionAction">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions that had neither a page nor browser action
    specified in their manifest. Recorded at profile open.
  </summary>
</histogram>

<histogram name="Extensions.LoadOffStoreItems" units="Number of items">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of enabled extensions or apps the user has installed that do not
    update from the Chrome Web Store. Recorded during profile initialization.
  </summary>
</histogram>

<histogram name="Extensions.LoadPackagedApp">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of legacy packaged apps loaded by each user at profile open.
  </summary>
</histogram>

<histogram name="Extensions.LoadPlatformApp">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>The number of platform apps loaded at profile open.</summary>
</histogram>

<histogram name="Extensions.LoadTheme">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>The number of themes loaded at profile open.</summary>
</histogram>

<histogram name="Extensions.LoadType" enum="ExtensionType">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of extensions loaded at profile open grouped by
    Extension::HistogramType.
  </summary>
</histogram>

<histogram name="Extensions.LoadUserScript">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of converted user scripts loaded at profile open.
  </summary>
</histogram>

<histogram name="Extensions.ManifestFetchFailureRetryCountGoogleUrl">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of times chrome retried to download an extension update manifest with
    a url on a google.com domain, before eventually giving up.
  </summary>
</histogram>

<histogram name="Extensions.ManifestFetchFailureRetryCountOtherUrl">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of times chrome retried to download an extension update manifest with
    a url on a non google.com domain, before eventually giving up.
  </summary>
</histogram>

<histogram name="Extensions.ManifestFetchSuccessRetryCountGoogleUrl">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of times chrome retried to download an extension update manifest with
    a url on a google.com domain, before eventually succeeding.
  </summary>
</histogram>

<histogram name="Extensions.ManifestFetchSuccessRetryCountOtherUrl">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of times chrome retried to download an extension update manifest with
    a url on a non google.com domain, before eventually succeeding.
  </summary>
</histogram>

<histogram name="Extensions.ManifestReloadNeedsRelocalization">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of extension loads on startup where it is necessary to reload the
    mainfest because the locale has changed.
  </summary>
</histogram>

<histogram name="Extensions.ManifestReloadNotNeeded">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of extension loads on startup where it is not necessary to reload the
    extension's manifest.
  </summary>
</histogram>

<histogram name="Extensions.ManifestReloadUnpackedDir">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of extension loads on startup where it is necessary to reload the
    manifest because the extension is unpacked.
  </summary>
</histogram>

<histogram name="Extensions.ManifestVersion">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>The manifest version of each loaded extension.</summary>
</histogram>

<histogram name="Extensions.Messaging.ExtensionPortsCreated"
    units="number of ports">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of ports created in a given script context at a specific time.
    Recorded once at the destruction of the script context (when no more ports
    could be created) if and only if at least one port was created in the
    context. Only includes ports to extension contexts (i.e., not ports created
    to tabs or native apps).
  </summary>
</histogram>

<histogram name="Extensions.Messaging.GetPortIdAsyncTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The total amount of time between when an extension opens a new channel and
    when it receives the global port id from the browser and can begin sending
    messages.
  </summary>
</histogram>

<histogram name="Extensions.Messaging.GetPortIdSyncTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The amount of synchronous time taken for the renderer to request an
    extension message port id from the browser when a new channel is first
    opened by an extension.
  </summary>
</histogram>

<histogram name="Extensions.Messaging.SetPortIdTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The amount of time for the renderer to inform the browser process of a new
    port being created with a certain id. This replaces the flow for
    Extensions.Messaging.GetPortId[A]SyncTime.
  </summary>
</histogram>

<histogram name="Extensions.NetworkDelay" units="ms">
  <owner>battre@chromium.org</owner>
  <summary>Time that network requests were blocked due to extensions.</summary>
</histogram>

<histogram name="Extensions.NetworkDelayPercentage" units="%">
  <owner>battre@chromium.org</owner>
  <summary>
    Percentage of total lifetime a network request was blocked due to an
    extension.
  </summary>
</histogram>

<histogram name="Extensions.NetworkDelayRegistryLoad" units="ms">
  <owner>battre@chromium.org</owner>
  <summary>
    Time that network requests were blocked due to relevant rule registries
    loading.
  </summary>
</histogram>

<histogram name="Extensions.NetworkDelayStartup" units="ms">
  <obsolete>
    Never used. Added to source 06/2012. Removed from source and added here
    09/2016.
  </obsolete>
  <summary>
    Delay of network requests due to waiting for extension declarativeWebRequest
    rules to be loaded from disk at startup.
  </summary>
</histogram>

<histogram name="Extensions.NonWebstoreLocation" enum="ExtensionLocation">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of apps/extensions with a non-webstore update_url loaded at
    startup time grouped by Extension::Location.
  </summary>
</histogram>

<histogram name="Extensions.NonWebStoreNewTabPageOverrides">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of non-WebStore extensions on startup that override the new tab page.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_AutoDisable" enum="ExtensionPermission">
  <obsolete>
    Deprecated as of 5/2014, replaced by Extensions.Permissions_AutoDisable2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it is automatically disabled
    due to a permission increase (e.g., after an extension upgrade).
  </summary>
</histogram>

<histogram name="Extensions.Permissions_AutoDisable2"
    enum="ExtensionPermission2">
  <obsolete>
    Deprecated as of 6/2015, replaced by Extensions.Permissions_AutoDisable3.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it is automatically disabled
    due to a permission increase (e.g., after an extension upgrade).
  </summary>
</histogram>

<histogram name="Extensions.Permissions_AutoDisable3"
    enum="ExtensionPermission3">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it is automatically disabled
    due to a permission increase (e.g., after an extension upgrade). To find
    places where this histogram may be emitted, look for calls to
    ExtensionService::RecordPermissionMessagesHistogram with the argument
    AutoDisable. For Sync users, this may be reported for each device, depending
    on whether the Sync update or the extension auto-update happen first.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_Install" enum="ExtensionPermission">
  <obsolete>
    Deprecated as of 5/2014, replaced by Extensions.Permissions_Install2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it was installed.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_Install2" enum="ExtensionPermission2">
  <obsolete>
    Deprecated as of 6/2015, replaced by Extensions.Permissions_Install3.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it was installed.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_Install3" enum="ExtensionPermission3">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it was installed. To find
    places where this histogram may be emitted, look for calls to
    ExtensionService::RecordPermissionMessagesHistogram with the argument
    Install. For Sync users, this is reported for each device.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_InstallAbort"
    enum="ExtensionPermission">
  <obsolete>
    Deprecated as of 5/2014, replaced by Extensions.Permissions_InstallAbort2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when installation was aborted, not
    including installation errors and user cancels.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_InstallAbort2"
    enum="ExtensionPermission2">
  <obsolete>
    Deprecated as of 6/2015, replaced by Extensions.Permissions_InstallAbort3.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when installation was aborted, not
    including installation errors and user cancels.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_InstallAbort3"
    enum="ExtensionPermission3">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when installation was aborted (e.g.
    because the parent window of the confirmation dialog went away), not
    including installation errors and user cancels. To find places where this
    histogram may be emitted, look for calls to
    ExtensionService::RecordPermissionMessagesHistogram with the argument
    InstallAbort.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_InstallCancel"
    enum="ExtensionPermission">
  <obsolete>
    Deprecated as of 5/2014, replaced by Extensions.Permissions_InstallCancel2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when installation was canceled.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_InstallCancel2"
    enum="ExtensionPermission2">
  <obsolete>
    Deprecated as of 6/2015, replaced by Extensions.Permissions_InstallCancel3.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when installation was canceled.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_InstallCancel3"
    enum="ExtensionPermission3">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when installation was canceled. To
    find places where this histogram may be emitted, look for calls to
    ExtensionService::RecordPermissionMessagesHistogram with the argument
    InstallCancel.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_Load" enum="ExtensionPermission">
  <obsolete>
    Deprecated as of 5/2014, replaced by Extensions.Permissions_Load2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>The permissions present in an extension when it was loaded.</summary>
</histogram>

<histogram name="Extensions.Permissions_Load2" enum="ExtensionPermission2">
  <obsolete>
    Deprecated as of 6/2015, replaced by Extensions.Permissions_Load3.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>The permissions present in an extension when it was loaded.</summary>
</histogram>

<histogram name="Extensions.Permissions_Load3" enum="ExtensionPermission3">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it was loaded (which happens at
    profile open or extension install). To find places where this histogram may
    be emitted, look for calls to
    ExtensionService::RecordPermissionMessagesHistogram with the argument Load.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_ReEnable" enum="ExtensionPermission">
  <obsolete>
    Deprecated as of 5/2014, replaced by Extensions.Permissions_ReEnable2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it was re-enabled from a
    confirmation prompt.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_ReEnable2" enum="ExtensionPermission2">
  <obsolete>
    Deprecated as of 6/2015, replaced by Extensions.Permissions_ReEnable3.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it was re-enabled from a
    confirmation prompt.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_ReEnable3" enum="ExtensionPermission3">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it was re-enabled from a
    confirmation prompt. To find places where this histogram may be emitted,
    look for calls to ExtensionService::RecordPermissionMessagesHistogram with
    the argument ReEnable.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_ReEnableAbort"
    enum="ExtensionPermission">
  <obsolete>
    Deprecated as of 5/2014, replaced by Extensions.Permissions_ReEnableAbort2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when the re-enable prompt was
    aborted, not including installation errors and manual user cancels.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_ReEnableAbort2"
    enum="ExtensionPermission2">
  <obsolete>
    Deprecated as of 6/2015, replaced by Extensions.Permissions_ReEnableAbort3.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when the re-enable prompt was
    aborted, not including installation errors and manual user cancels.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_ReEnableAbort3"
    enum="ExtensionPermission3">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when the re-enable prompt was
    aborted (e.g. because the parent window of the confirmation dialog went
    away), not including installation errors and manual user cancels. To find
    places where this histogram may be emitted, look for calls to
    ExtensionService::RecordPermissionMessagesHistogram with the argument
    ReEnableAbort.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_ReEnableCancel"
    enum="ExtensionPermission">
  <obsolete>
    Deprecated as of 5/2014, replaced by Extensions.Permissions_ReEnableCancel2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when the re-enable was canceled from
    the confirmation prompt.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_ReEnableCancel2"
    enum="ExtensionPermission2">
  <obsolete>
    Deprecated as of 6/2015, replaced by Extensions.Permissions_ReEnableCancel3.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when the re-enable was canceled from
    the confirmation prompt.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_ReEnableCancel3"
    enum="ExtensionPermission3">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when the re-enable was canceled from
    the confirmation prompt. To find places where this histogram may be emitted,
    look for calls to ExtensionService::RecordPermissionMessagesHistogram with
    the argument ReEnableCancel.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_Uninstall" enum="ExtensionPermission">
  <obsolete>
    Deprecated as of 5/2014, replaced by Extensions.Permissions_Uninstall2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it was uninstalled.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_Uninstall2" enum="ExtensionPermission2">
  <obsolete>
    Deprecated as of 6/2015, replaced by Extensions.Permissions_Uninstall3.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it was uninstalled.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_Uninstall3" enum="ExtensionPermission3">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it was uninstalled. To find
    places where this histogram may be emitted, look for calls to
    ExtensionService::RecordPermissionMessagesHistogram with the argument
    Uninstall. For Sync users, this is reported for each device.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_WebStoreInstall"
    enum="ExtensionPermission">
  <obsolete>
    Deprecated as of 5/2014, replaced by
    Extensions.Permissions_WebStoreInstall2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it was installed through the
    web store.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_WebStoreInstall2"
    enum="ExtensionPermission2">
  <obsolete>
    Deprecated as of 6/2015, replaced by
    Extensions.Permissions_WebStoreInstall3.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it was installed through the
    web store.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_WebStoreInstall3"
    enum="ExtensionPermission3">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when it was installed through the
    web store. To find places where this histogram may be emitted, look for
    calls to ExtensionService::RecordPermissionMessagesHistogram with the
    argument WebStoreInstall. Contrary to the more-general Permissions_Install3
    histogram, this one is NOT reported for each device.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_WebStoreInstallAbort"
    enum="ExtensionPermission">
  <obsolete>
    Deprecated as of 5/2014, replaced by
    Extensions.Permissions_WebStoreInstallAbort2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when installation from the web store
    was aborted, not including installation errors and user cancels.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_WebStoreInstallAbort2"
    enum="ExtensionPermission2">
  <obsolete>
    Deprecated as of 6/2015, replaced by
    Extensions.Permissions_WebStoreInstallAbort3.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when installation from the web store
    was aborted, not including installation errors and user cancels.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_WebStoreInstallAbort3"
    enum="ExtensionPermission3">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when installation from the web store
    was aborted (e.g. because the parent window of the confirmation dialog went
    away), not including installation errors and user cancels. To find places
    where this histogram may be emitted, look for calls to
    ExtensionService::RecordPermissionMessagesHistogram with the argument
    WebStoreInstallAbort.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_WebStoreInstallCancel"
    enum="ExtensionPermission">
  <obsolete>
    Deprecated as of 5/2014, replaced by
    Extensions.Permissions_WebStoreInstallCancel2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when installation from the web store
    was canceled.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_WebStoreInstallCancel2"
    enum="ExtensionPermission2">
  <obsolete>
    Deprecated as of 6/2015, replaced by
    Extensions.Permissions_WebStoreInstallCancel3.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when installation from the web store
    was canceled.
  </summary>
</histogram>

<histogram name="Extensions.Permissions_WebStoreInstallCancel3"
    enum="ExtensionPermission3">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>rpaquay@chromium.org</owner>
  <summary>
    The permissions present in an extension when installation from the web store
    was canceled. To find places where this histogram may be emitted, look for
    calls to ExtensionService::RecordPermissionMessagesHistogram with the
    argument WebStoreInstallCancel.
  </summary>
</histogram>

<histogram name="Extensions.PopupCreateTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The time taken between a user clicking on a button to open a popup, and the
    popup finishing loading its initial URL. This is a good way to measure the
    UI responsiveness of extension popups. It will be strictly larger than
    Extensions.PopupLoadTime2, which only measures the time it takes to load -
    there may be a delay between clicking and starting to load, for example, if
    the popup's host got caught in a queue.
  </summary>
</histogram>

<histogram name="Extensions.PopupLoadTime" units="ms">
  <obsolete>
    Replaced by Extensions.PopupLoadTime2.
  </obsolete>
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>The time for an Extension's popup to load.</summary>
</histogram>

<histogram name="Extensions.PopupLoadTime2" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The time taken for an extension popup to load its initial URL. This may not
    include the time taken for an extension process to start, if the extension
    already has a background page running. It does not necessarily correlate
    with the amount of time since the popup was *clicked* either, since there
    may be a delay between the user clicking and the loading started.
    Extensions.PopupCreateTime measures this instead.
  </summary>
</histogram>

<histogram name="Extensions.ProcessManagerStartupHostsTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The time taken to start up persistent background pages for extensions in
    ExtensionProcessManager when the extension system notifies that it is ready.
  </summary>
</histogram>

<histogram name="Extensions.ResetPermissionsIncrease" enum="Boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <owner>treib@chromium.org</owner>
  <summary>
    Whether the DISABLE_PERMISSIONS_INCREASE disable reason was removed from an
    extension while checking for a permissions increase. Recorded during startup
    and on reload and update, for each extension that has the
    DISABLE_PERMISSIONS_INCREASE reason.
  </summary>
</histogram>

<histogram name="Extensions.ResourceDirectoryTimestampQueryLatency" units="ms">
  <owner>asargent@chromium.org</owner>
  <summary>
    The initialization latency (in milliseconds) introduced to each extension
    resource request by querying the directory timestamp.
  </summary>
</histogram>

<histogram name="Extensions.ResourceLastModifiedDelta" units="seconds">
  <owner>asargent@chromium.org</owner>
  <summary>
    The difference in seconds between an extension resource's last modification
    time and its extension base directory's creation time. Recorded on each
    extension resource request if the difference is non-negative (i.e., the
    resource's last modification time is more recent than the directory's
    creation time.) For cases where the directory creation date is more recent,
    see Extensions.ResourceLastModifiedNegativeDelta instead.
  </summary>
</histogram>

<histogram name="Extensions.ResourceLastModifiedNegativeDelta" units="seconds">
  <owner>asargent@chromium.org</owner>
  <summary>
    The absolute difference in seconds between an extension resource's last
    modification time and extension base directory's creation time. Recorded on
    each extension resource request if the difference is negative (i.e., the
    directory's creation time is more recent than the resource's last
    modification time.) For cases where the resource modification time is more
    recent, see Extensions.ResourceLastModifiedDelta instead.
  </summary>
</histogram>

<histogram name="Extensions.SandboxUnpackFailure">
  <owner>asargent@chromium.org</owner>
  <summary>
    Count the number of times a sandboxed extension unpack fails.
  </summary>
</histogram>

<histogram name="Extensions.SandboxUnpackFailureReason"
    enum="ExtensionUnpackFailureReason">
  <owner>asargent@chromium.org</owner>
  <summary>What caused a sandboxed extension unpack to fail?</summary>
</histogram>

<histogram name="Extensions.SandboxUnpackFailureTime">
  <owner>asargent@chromium.org</owner>
  <summary>Time taken to unpack an extension, when the unpack fails.</summary>
</histogram>

<histogram name="Extensions.SandboxUnpackHashCheck" enum="BooleanValidHashSum">
  <owner>achuith@chromium.org</owner>
  <summary>
    Whether a CRX file hash sum was the same as in an updater manifest.
  </summary>
</histogram>

<histogram name="Extensions.SandboxUnpackInitialCrxPathLength">
  <owner>asargent@chromium.org</owner>
  <summary>Length of the initial path to the CRX to be unpacked.</summary>
</histogram>

<histogram name="Extensions.SandboxUnpackLinkFreeCrxPathLength">
  <owner>asargent@chromium.org</owner>
  <summary>
    Length of the normalized (link/junction free) path to the temporary copy of
    a CRX made during unpacking.
  </summary>
</histogram>

<histogram name="Extensions.SandboxUnpackRate">
  <owner>asargent@chromium.org</owner>
  <summary>
    Rate at which a CRX file is unpacked in Kilobytes per second.
  </summary>
</histogram>

<histogram name="Extensions.SandboxUnpackRate1To2mB">
  <owner>asargent@chromium.org</owner>
  <summary>
    Rate at which CRX files 1MB to 2MB are unpacked in Kilobytes per second.
  </summary>
</histogram>

<histogram name="Extensions.SandboxUnpackRate2To5mB">
  <owner>asargent@chromium.org</owner>
  <summary>
    Rate at which CRX files 2MB to 5MB are unpacked in Kilobytes per second.
  </summary>
</histogram>

<histogram name="Extensions.SandboxUnpackRate50kBTo1mB">
  <owner>asargent@chromium.org</owner>
  <summary>
    Rate at which CRX files 50kB to 1MB are unpacked in Kilobytes per second.
  </summary>
</histogram>

<histogram name="Extensions.SandboxUnpackRate5To10mB">
  <owner>asargent@chromium.org</owner>
  <summary>
    Rate at which CRX files 5MB to 10 MB are unpacked in Kilobytes per second.
  </summary>
</histogram>

<histogram name="Extensions.SandboxUnpackRateOver10mB">
  <owner>asargent@chromium.org</owner>
  <summary>
    Rate at which CRX files larger than 10MB are unpacked in Kilobytes per
    second.
  </summary>
</histogram>

<histogram name="Extensions.SandboxUnpackRateUnder50kB">
  <owner>asargent@chromium.org</owner>
  <summary>
    Rate at which CRX files under 50 KB are unpacked in Kilobytes per second.
  </summary>
</histogram>

<histogram name="Extensions.SandboxUnpackSuccess">
  <owner>asargent@chromium.org</owner>
  <summary>Count the number of times a sandboxed CRX unpack succeeds.</summary>
</histogram>

<histogram name="Extensions.SandboxUnpackSuccessCantGetCrxSize">
  <owner>asargent@chromium.org</owner>
  <summary>
    Count the number of times a sandboxed CRX unpack succeeds, but we can't get
    the file size.
  </summary>
</histogram>

<histogram name="Extensions.SandboxUnpackSuccessCrxSize">
  <owner>asargent@chromium.org</owner>
  <summary>Size of the .crx file, in KB, when the unpack succeeds.</summary>
</histogram>

<histogram name="Extensions.SandboxUnpackSuccessTime">
  <owner>asargent@chromium.org</owner>
  <summary>
    Time taken to unpack an extension, when the unpack succeeds.
  </summary>
</histogram>

<histogram name="Extensions.SandboxUnpackTempCrxPathLength">
  <owner>asargent@chromium.org</owner>
  <summary>
    Length of the path of the temporary copy of a CRX made during unpacking.
  </summary>
</histogram>

<histogram name="Extensions.SandboxUnpackUnpackedCrxPathLength">
  <owner>asargent@chromium.org</owner>
  <summary>Length of the path under which a CRX is unpacked.</summary>
</histogram>

<histogram name="Extensions.SettingsQuotaExceeded.BytesPerSetting">
  <obsolete>
    Removed in September, 2016
  </obsolete>
  <summary>
    Emitted when QuotaExceededError was called due to an extension using too
    many bytes for a given setting.  The number has no natural numerator
    (normalizing factor) and thus is not particularly useful.
  </summary>
</histogram>

<histogram name="Extensions.SettingsQuotaExceeded.KeyCount">
  <obsolete>
    Removed in September, 2016
  </obsolete>
  <summary>
    Emitted when QuotaExceededError was called due to an extension using too
    many keys.  The number has no natural numerator (normalizing factor) and
    thus is not particularly useful.
  </summary>
</histogram>

<histogram name="Extensions.SettingsQuotaExceeded.TotalBytes">
  <obsolete>
    Removed in September, 2016
  </obsolete>
  <summary>
    Emitted when QuotaExceededError was called due to an extension using too
    many bytes.  The number has no natural numerator (normalizing factor) and
    thus is not particularly useful.
  </summary>
</histogram>

<histogram name="Extensions.ShouldAllowOpenURL.Failure"
    enum="ShouldAllowOpenURLFailureReason">
  <owner>alexmos@chromium.org</owner>
  <summary>
    When the web-accessible resource check in
    ChromeContentBrowserClientExtensionsPart::ShouldAllowOpenURL fails, this
    records the reason for the failure.  This check is performed on navigations
    that utilize the OpenURL path as well as on transfers.
  </summary>
</histogram>

<histogram name="Extensions.ShouldAllowOpenURL.Failure.Scheme"
    enum="ShouldAllowOpenURLFailureScheme">
  <owner>alexmos@chromium.org</owner>
  <summary>
    When the web-accessible resource check in
    ChromeContentBrowserClientExtensionsPart::ShouldAllowOpenURL fails, this
    records the scheme of the SiteInstance that initiated the blocked load. This
    check is performed on navigations that utilize the OpenURL path as well as
    on transfers.
  </summary>
</histogram>

<histogram name="Extensions.StartupDelay" units="ms">
  <owner>asargent@chromium.org</owner>
  <summary>The time one extension delays network requests at startup.</summary>
</histogram>

<histogram name="Extensions.StartupDelay_Total" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The total time extensions delay network requests at startup.
  </summary>
</histogram>

<histogram name="Extensions.StorageFrontendInitTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during StorageFrontend::Init.
  </summary>
</histogram>

<histogram name="Extensions.SyncGetMessageBundle" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The amount of synchronous time spent retrieving an extension's message
    bundle (the collection of its i18n resources) from the browser.
  </summary>
</histogram>

<histogram name="Extensions.ThrottledNetworkRequestDelay" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The duration by which a network request was delayed while waiting for
    extension user script load. Recorded once per request that is delayed, at
    the time the resource resumes loading.
  </summary>
</histogram>

<histogram name="Extensions.ThrottledNetworkRequests" units="requests">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The total number of network requests that were delayed by extension user
    script load. Recorded once each time network requests may have been delayed
    by user script load (i.e., once at the end of each batch of script loads).
  </summary>
</histogram>

<histogram name="Extensions.ToolstripLoadTime" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Time taken to load a toolstrip.</summary>
</histogram>

<histogram name="Extensions.UninstallDialogAction"
    enum="ExtensionUninstallDialogAction">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The action that was taken from an extension uninstall dialog. Recorded once
    per dialog shown. Only recorded if all possible actions (including report
    abuse) were available on the dialog.
  </summary>
</histogram>

<histogram name="Extensions.UninstallSource" enum="ExtensionUninstallSource">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The source for the extension uninstall. This is only recorded if an
    uninstall dialog is shown to the user (i.e., it is not recorded for internal
    &quot;cleanups&quot;).
  </summary>
</histogram>

<histogram name="Extensions.UninstallType" enum="ExtensionType">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>Uninstalls grouped by Extension::HistogramType.</summary>
</histogram>

<histogram name="Extensions.UnpackFailureInstallCause"
    enum="ExtensionInstallCause">
  <owner>asargent@chromium.org</owner>
  <summary>
    Count failing CRX installs, grouped by the way an extension can be
    installed.
  </summary>
</histogram>

<histogram name="Extensions.UnpackFailureInstallSource"
    enum="ExtensionLocation">
  <owner>asargent@chromium.org</owner>
  <summary>
    Count successful CRX installs, grouped by the location property in prefs.
    installed.
  </summary>
</histogram>

<histogram name="Extensions.UnpackSuccessInstallCause"
    enum="ExtensionInstallCause">
  <owner>asargent@chromium.org</owner>
  <summary>
    Count successful CRX installs, grouped by the cause of the install.
  </summary>
</histogram>

<histogram name="Extensions.UnpackSuccessInstallSource"
    enum="ExtensionLocation">
  <owner>asargent@chromium.org</owner>
  <summary>
    Count successful CRX installs, grouped by the location property in prefs.
  </summary>
</histogram>

<histogram name="Extensions.UpdateCheckApp">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of legacy packaged apps and hosted apps that were checked during
    an update check.
  </summary>
</histogram>

<histogram name="Extensions.UpdateCheckExtension">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of extensions that were checked during an update check.
  </summary>
</histogram>

<histogram name="Extensions.UpdateCheckGap" units="minutes">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Time in minutes between update checks.</summary>
</histogram>

<histogram name="Extensions.UpdateCheckGoogleUrl">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of crx's with a Google-hosted update URL that were checked during
    an update check.
  </summary>
</histogram>

<histogram name="Extensions.UpdateCheckNoUrl">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of crx's with no update URL checked during an update check.
  </summary>
</histogram>

<histogram name="Extensions.UpdateCheckOtherUrl">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of crx's with a non-Google update URL that were checked during an
    update check.
  </summary>
</histogram>

<histogram name="Extensions.UpdateCheckPackagedApp">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of packaged apps that were checked during an update check.
  </summary>
</histogram>

<histogram name="Extensions.UpdateCheckTheme">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of themes that were checked during an update check.
  </summary>
</histogram>

<histogram name="Extensions.UpdateOnLoad">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of extensions that were updated at browser startup.
  </summary>
</histogram>

<histogram name="Extensions.UpdaterWriteCrx" enum="ExtensionFileWriteResult">
  <obsolete>
    Deprecated 10/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    What happened when the extension updater tried to write a file?
  </summary>
</histogram>

<histogram name="Extensions.UpdateSource" enum="ExtensionLocation">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Updates grouped by the location property in prefs.</summary>
</histogram>

<histogram name="Extensions.UpdateType" enum="ExtensionType">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Updates grouped by Extension::HistogramType.</summary>
</histogram>

<histogram name="Extensions.WebRequestAction" enum="RequestAction">
  <owner>karandeepb@chromium.org</owner>
  <summary>
    Counts the number of times an action is requested by extensions as part of
    the Web Request API. For a given web request stage, multiple actions may be
    logged.
  </summary>
</histogram>

<histogram name="Extensions.WebRequestBlockingCount"
    units="Number of extensions">
  <owner>karandeepb@chromium.org</owner>
  <summary>
    Number of enabled extensions which have requested the
    &quot;webRequestBlocking&quot; permission. Includes all kinds of extensions,
    including component and unpacked extensions. Recorded during profile
    initialization.
  </summary>
</histogram>

<histogram name="Extensions.WebRequestEventFoundFrame" units="boolean">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    Whether or not the render frame lookup for a given webRequest event
    succeeded.
  </summary>
</histogram>

<histogram name="Extensions.WebstoreDownload.FileDownload" units="ms">
  <owner>xiaohuic@chromium.org</owner>
  <summary>
    The time spent to download the crx file from the webstore to local disk.
    This is recorded once per successful download.
  </summary>
</histogram>

<histogram name="Extensions.WebstoreDownload.InterruptReason"
    enum="InterruptReason">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The reason a webstore download was interrupted.</summary>
</histogram>

<histogram name="Extensions.WebstoreDownload.InterruptReceivedKBytes"
    units="KB">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of KBytes received for a webstore download before it was
    interrupted.
  </summary>
</histogram>

<histogram name="Extensions.WebstoreDownload.InterruptTotalKBytes" units="KB">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The total expected size in KBytes of an interrupted webstore download.
  </summary>
</histogram>

<histogram name="Extensions.WebstoreDownload.InterruptTotalSizeUnknown"
    enum="Boolean">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Tracks whether the total size of an interrupted webstore download was known.
  </summary>
</histogram>

<histogram name="Extensions.WebUi.DocumentLoadedInMainFrameTime" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The amount of time between starting the provisional load and fully loading
    the document in the main frame of the chrome://extensions page. This
    corresponds to the WebContentsObserver::DocumentLoadedInFrame method.
  </summary>
</histogram>

<histogram name="Extensions.WebUi.LoadCompletedInMainFrame" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The amount of time between starting the provisional load and having
    completed the onload handler in the main frame of the chrome://extensions
    page. This corresponds to the
    WebContentsObserver::DocumentOnLoadCompletedInMainFrame method.
  </summary>
</histogram>

<histogram name="ExtensionService.AddVerified" enum="BooleanSuccess">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Records whether adding a new/updated extension to the install verifier
    succeeded.
  </summary>
</histogram>

<histogram name="ExtensionService.VerifyAllSuccess"
    enum="ExtensionServiceVerifyAllSuccess">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The outcome of a call to ExtensionService::VerifyAllExtensions, whether it
    was called for bootstrapping or another reason (extension
    installed/uninstalled, etc.).
  </summary>
</histogram>

<histogram name="ExtensionSettings.ShouldDoVerificationCheck" enum="Boolean">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    When loading the chrome://extensions page, this records whether we decided
    to do a verification check against the server (because the user had one or
    more extensions disabled due to verification failure).
  </summary>
</histogram>

<histogram name="ExtensionToolbarModel.BrowserActionsCount">
  <owner>finnur@chromium.org</owner>
  <summary>
    The number of icons the Browser Actions Container knows about (visible or in
    the overflow bucket). Does not count icons that have been permanently hidden
    by the user. Measured once per startup per (non-incognito) profile.
  </summary>
</histogram>

<histogram name="ExtensionToolbarModel.BrowserActionsPermanentlyHidden">
  <owner>finnur@chromium.org</owner>
  <summary>
    The number of Browser Action icons the user has elected to permanently hide
    (as opposed to putting them in the overflow bucket). Measured once per
    startup per (non-incognito) profile.
  </summary>
</histogram>

<histogram name="ExtensionToolbarModel.BrowserActionsVisible">
  <owner>finnur@chromium.org</owner>
  <summary>
    The number of visible icons in the Browser Actions Container (visible as in
    number of icons not in the overflow bucket). 0 means all icons are in the
    overflow bucket. MAX_INT means the toolbar is always showing all icons.
    Measured once per startup per (non-incognito) profile but only for those
    profiles that have one or more browser actions showing in the toolbar.
  </summary>
</histogram>

<histogram name="ExtensionUrlRequest.Latency" units="ms">
  <owner>asargent@chromium.org</owner>
  <summary>The time taken to complete an extension url request.</summary>
</histogram>

<histogram name="ExtensionUrlRequest.OnReadCompleteError" enum="NetErrorCodes">
  <owner>asargent@chromium.org</owner>
  <summary>
    The error code for failures of incremental reads of a file stream for a
    chrome-extension:// URL. (See also ExtensionUrlRequest.OnReadCompleteResult
    for the success case).
  </summary>
</histogram>

<histogram name="ExtensionUrlRequest.OnReadCompleteResult">
  <owner>asargent@chromium.org</owner>
  <summary>
    The result of an incremental read of a file stream for a chrome-extension://
    URL, representing a byte count. Logged in success cases (see also
    ExtensionUrlRequest.OnReadCompleteError).
  </summary>
</histogram>

<histogram name="ExtensionUrlRequest.SeekPosition">
  <owner>asargent@chromium.org</owner>
  <summary>
    When fetching a chrome-extension:// URL, this indicates the first byte
    position we read from. This will be greater than 0 in cases such as XHR's
    with a Range header, but will normally be 0 in the typical case of reading
    the entire file. This helps identify how frequently partial file reads are
    taking place.
  </summary>
</histogram>

<histogram name="ExtensionUrlRequest.TotalKbRead" units="KB">
  <owner>asargent@chromium.org</owner>
  <summary>
    The total number of bytes read for a chrome-extension:// URL, logged when
    the job is finished (either successfully or not).
  </summary>
</histogram>

<histogram name="FaultTolerantHeap" enum="FaultTolerantHeap">
  <owner>brucedawson@chromium.org</owner>
  <summary>
    Records several bits of information about whether the Windows
    FaultTolerantHeap might be enabled. This is logged (from a delayed task)
    when the browser process starts up.
  </summary>
</histogram>

<histogram name="Favicons.CandidatesCount">
  <owner>fhorschig@chromium.org</owner>
  <summary>
    Records the number of favicon link tags on a page once the page has finished
    loading. The count includes the automatically added favicon.ico entry.
  </summary>
</histogram>

<histogram name="Favicons.CandidatesWithDefinedSizesCount">
  <owner>fhorschig@chromium.org</owner>
  <summary>
    Records the number of favicon link tags with a non empty sizes attribute
    once the page has finished loading.
  </summary>
</histogram>

<histogram name="Favicons.CandidatesWithTouchIconsCount">
  <owner>fhorschig@chromium.org</owner>
  <summary>
    Records the number of apple-touch-icon and apple-touch-icon-precomposed link
    tags once the page has finished loading.
  </summary>
</histogram>

<histogram base="true" name="Favicons.DownloadAttempts" units="attempts">
  <owner>fhorschig@chromium.org</owner>
  <summary>
    Records the number of icons requested until the best-fitting candidate was
    found or there were no candidates left to check. More than 15 attempts are
    unlikely and will be stored in overflow bucket 16. Less than 1 attempt means
    an error happened; these cases are in bucket 0.
  </summary>
</histogram>

<histogram name="Favicons.DownloadOutcome" enum="FaviconDownloadStatus">
  <owner>fhorschig@chromium.org</owner>
  <summary>
    Records whether a download succeeded, failed or was skipped because it has
    failed previously.
  </summary>
</histogram>

<histogram name="Favicons.LargeIconService.DownloadedSize" units="pixels">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Records the size (concretely the width) in pixel of the favicon downloaded
    from Google favicon server (size 0 denotes that download has failed).
  </summary>
</histogram>

<histogram name="Favicons.LargeIconService.FallbackSize" units="pixels">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Records the size (concretely the width) in pixel of the favicon that is used
    to generate a fallback style in the case when large enough favicon is not
    available (size 0 denotes that no favicon is available at all).
  </summary>
</histogram>

<histogram name="FileBrowser.CloudImport.UserAction"
    enum="CloudImportUserAction">
  <owner>smckay@google.com</owner>
  <summary>
    Chrome OS File Browser - Specific actions taken by user such initiating
    cloud import, canceling import, selecting a directory, or opting-in to
    Drive&gt;Photos sync.
  </summary>
</histogram>

<histogram name="FileBrowser.Create" enum="FileDialogType">
  <owner>joshwoodward@google.com</owner>
  <summary>Chrome OS File Browser opening mode.</summary>
</histogram>

<histogram name="FileBrowser.DirectoryScan" units="ms">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS File Browser: time to scan a directory. Measured on every File
    Browser directory change.
  </summary>
</histogram>

<histogram name="FileBrowser.DownloadDestination.IsGoogleDrive.Changed"
    enum="BooleanEnabled">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Tracks whether download destination is set to a Google Drive folder when the
    download destination is changed by the user in the settings page.
  </summary>
</histogram>

<histogram name="FileBrowser.DownloadDestination.IsGoogleDrive.Started"
    enum="BooleanEnabled">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Tracks whether download destination is set to a Google Drive folder on
    startup.
  </summary>
</histogram>

<histogram name="FileBrowser.DownloadsCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS File Browser: number of files and directories in the Downloads
    directory (not including the contents of nested directories). Computed every
    time the File Browser current directory changes to Downloads.
  </summary>
</histogram>

<histogram name="FileBrowser.FolderShortcut.Add">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS File Browser: this is recorded when the user adds a folder
    shortcut.
  </summary>
</histogram>

<histogram name="FileBrowser.FolderShortcut.Count">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS File Browser: number of saved folder shorcuts. This is recorded
    when the Files app is launched.
  </summary>
</histogram>

<histogram name="FileBrowser.FolderShortcut.Navigate">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS File Browser: this is recorded when the user clicks or selects a
    folder shortcut and is navigated to the target folder.
  </summary>
</histogram>

<histogram name="FileBrowser.FolderShortcut.Remove">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS File Browser: this is recorded when the user removes a folder
    shortcut.
  </summary>
</histogram>

<histogram name="FileBrowser.HardUnpluggedAroundSuspend.TimeSinceResume"
    units="ms">
  <obsolete>
    The bug which the UMA was investigating got fixed.
  </obsolete>
  <owner>hirono@chromium.org</owner>
  <summary>
    Chrome OS File Browser: time from the SuspendDone event to the DiskRemoved
    event. The UMA is added temporarily for crbug.com/433734.
  </summary>
</histogram>

<histogram name="FileBrowser.HardUnpluggedAroundSuspend.TimeUntilSuspend"
    units="ms">
  <obsolete>
    The bug which the UMA was investigating got fixed.
  </obsolete>
  <owner>hirono@chromium.org</owner>
  <summary>
    Chrome OS File Browser: time from the DiskRemoved event to the Suspend
    event. The UMA is added temporarily for crbug.com/433734.
  </summary>
</histogram>

<histogram name="FileBrowser.Load" units="ms">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS File Browser is an built-in extension without a background page.
    Its main.html file is loaded every time the user opens a File Browser tab or
    a file chooser dialog. The file is fairly large and the initialization is
    pretty expensive.
  </summary>
</histogram>

<histogram name="FileBrowser.OpeningFileType" enum="FileType">
  <obsolete>
    Deprecated 4/2013, and replaced by FileBrowser.ViewingFileType.
  </obsolete>
  <owner>joshwoodward@google.com</owner>
  <summary>File types that were tried to be opened through browser.</summary>
</histogram>

<histogram name="FileBrowser.PhotoEditor.DisplayTime" units="ms">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS Photo Editor: time to display an image. Measured from the moment
    the user selected the image till the moment it is displayed (not counting
    the low resolution preview).
  </summary>
</histogram>

<histogram name="FileBrowser.PhotoEditor.FileType" enum="PhotoEditorFileType">
  <owner>joshwoodward@google.com</owner>
  <summary>Chrome OS Photo Editor: the type of the file opened.</summary>
</histogram>

<histogram name="FileBrowser.PhotoEditor.LoadMode" enum="PhotoEditorLoadMode">
  <owner>joshwoodward@google.com</owner>
  <summary>Chrome OS Photo Editor: the way the image has been loaded.</summary>
</histogram>

<histogram name="FileBrowser.PhotoEditor.LoadTime" units="ms">
  <owner>joshwoodward@google.com</owner>
  <summary>Chrome OS Photo Editor: time to load an image from a file.</summary>
</histogram>

<histogram name="FileBrowser.PhotoEditor.SaveResult"
    enum="PhotoEditorSaveResult">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS Photo Editor: the result of a file save operation.
  </summary>
</histogram>

<histogram name="FileBrowser.PhotoEditor.SaveTime" units="ms">
  <owner>joshwoodward@google.com</owner>
  <summary>Chrome OS Photo Editor: time to save an image to a file.</summary>
</histogram>

<histogram name="FileBrowser.PhotoEditor.Size.MB" units="MBytes">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS Photo Editor: size of an image file in megabytes. Measured on
    every image load.
  </summary>
</histogram>

<histogram name="FileBrowser.PhotoEditor.Size.MPix" units="MPixels">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS Photo Editor: size of an image in megapixels. Measured on every
    image load.
  </summary>
</histogram>

<histogram name="FileBrowser.PhotoEditor.Tool" enum="PhotoEditorToolType">
  <owner>joshwoodward@google.com</owner>
  <summary>Chrome OS Photo Editor: the button which the user clicked.</summary>
</histogram>

<histogram name="FileBrowser.PhotoImport.Action" enum="ExternalDeviceAction">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS Photo Import flow: action chosen in the Action Choice dialog for
    the external device.
  </summary>
</histogram>

<histogram name="FileBrowser.PhotoImport.ImportCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS Photo Import flow: the number of photos imported. Measured on
    every successfull import operation.
  </summary>
</histogram>

<histogram name="FileBrowser.PhotoImport.ImportPercentage" units="%">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS Photo Import flow: the percent of photos imported among all the
    photos on the device. Measured on every successfull import operation.
  </summary>
</histogram>

<histogram name="FileBrowser.PhotoImport.Load" units="ms">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS Photo Import flow: time to load the action dialog. Measured
    between the moment window appears and the moment user see all available
    actions for the device.
  </summary>
</histogram>

<histogram name="FileBrowser.PhotoImport.Scan" units="ms">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS Photo Import flow: time to scan the external device.
  </summary>
</histogram>

<histogram name="FileBrowser.QuickView.DialogType" enum="FileDialogType">
  <owner>oka@google.com</owner>
  <summary>
    File dialog type (e.g. Full page, Save as file) when quick view is launched.
  </summary>
</histogram>

<histogram name="FileBrowser.QuickView.FileType" enum="ViewFileType">
  <owner>oka@google.com</owner>
  <summary>File types that were tried to be opened with quick view.</summary>
</histogram>

<histogram name="FileBrowser.QuickView.FileTypeOnLaunch" enum="ViewFileType">
  <owner>oka@google.com</owner>
  <summary>File types that were selected when quick view is launched.</summary>
</histogram>

<histogram name="FileBrowser.QuickView.VolumeType" enum="FileManagerVolumeType">
  <owner>oka@google.com</owner>
  <summary>The volume type where quick view is opened.</summary>
</histogram>

<histogram name="FileBrowser.QuickView.WayToOpen"
    enum="FileManagerQuickViewWayToOpen">
  <owner>oka@google.com</owner>
  <summary>How quick view was opened.</summary>
</histogram>

<histogram name="FileBrowser.SuggestApps.Close"
    enum="SuggestAppsDialogCloseReason">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS File Browser: the reason why the suggest apps dialog was closed.
  </summary>
</histogram>

<histogram name="FileBrowser.SuggestApps.Install"
    enum="SuggestAppsDialogInstall">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS File Browser: whether the Webstore item user selected was
    successfully installed or not.
  </summary>
</histogram>

<histogram name="FileBrowser.SuggestApps.Load" enum="SuggestAppsDialogLoad">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS File Browser: whether the initialization of the dialog succeeded
    or not.
  </summary>
</histogram>

<histogram name="FileBrowser.SuggestApps.LoadTime" units="ms">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Chrome OS File Browser: time to load the suggest apps dialog. Measured
    between the moment window appears and the moment all the contents in the
    dialog including the Chrome Webstore widget are ready.
  </summary>
</histogram>

<histogram name="FileBrowser.ViewingFileType" enum="ViewFileType">
  <owner>joshwoodward@google.com</owner>
  <summary>
    File types that were tried to be viewed through browser. This is recorded
    when the user tries to view a file from the Files app.
  </summary>
</histogram>

<histogram name="FileBrowser.VolumeType" enum="FileManagerVolumeType">
  <owner>kinaba@chromium.org</owner>
  <summary>
    Chrome OS File Browser: counts the number of times volumes are mounted for
    each volume type.
  </summary>
</histogram>

<histogram name="FileReaderSync.WorkerType" enum="FileReaderSyncWorkerType">
  <owner>mek@chromium.org</owner>
  <summary>
    For each FileReaderSync instance records the type of the web worker that
    created the instance.
  </summary>
</histogram>

<histogram name="FileSystem.DirectoryDatabaseInit"
    enum="FileSystemDatabaseInitResult">
  <owner>tzik@chromium.org</owner>
  <summary>The result of FileSystemDirectoryDatabase initialization.</summary>
</histogram>

<histogram name="FileSystem.DirectoryDatabaseRepair"
    enum="DirectoryDatabaseRepairResult">
  <owner>tzik@chromium.org</owner>
  <summary>The result of FileSystemDirectoryDatabase repair.</summary>
</histogram>

<histogram name="FileSystem.OpenFileSystem" enum="OpenFileSystemResult">
  <owner>tzik@chromium.org</owner>
  <summary>
    The success or the cause of failure for each call to OpenFileSystem().
  </summary>
</histogram>

<histogram name="FileSystem.OpenFileSystemDetail" enum="FileSystemErrors">
  <owner>tzik@chromium.org</owner>
  <summary>The result of opening a filesystem.</summary>
</histogram>

<histogram name="FileSystem.OpenFileSystemDetailNonthrottled"
    enum="FileSystemErrors">
  <owner>tzik@chromium.org</owner>
  <summary>The result of opening a non-throttled filesystem.</summary>
</histogram>

<histogram name="FileSystem.OriginDatabaseInit"
    enum="FileSystemDatabaseInitResult">
  <owner>tzik@chromium.org</owner>
  <summary>The result of FileSystemOriginDatabase initialization.</summary>
</histogram>

<histogram name="FileSystem.OriginFailedCanCommitURL" enum="BooleanHit">
  <owner>nick@chromium.org</owner>
  <summary>
    Logged when we fail the permission validation of the filesystem URL origin,
    from ChildProcessSecurityPolicy::HasPermissionsForFileSystemFile. This is
    not expected to happen in normal operation.
  </summary>
</histogram>

<histogram name="FileSystem.PersistentOriginsCount">
  <owner>tzik@chromium.org</owner>
  <summary>
    Number of origins that have persistent filesystem. Measured when the Quota
    system queries the filesystem subsystem about its entire usage, which
    usually happens when one of the storage subsystem methods is called for the
    first time.
  </summary>
</histogram>

<histogram name="FileSystem.TemporaryOriginsCount">
  <owner>tzik@chromium.org</owner>
  <summary>
    Number of origins that have temporary filesystem. Measured when the Quota
    system queries the filesystem subsystem about its entire usage, which
    usually happens when one of the storage subsystem methods is called for the
    first time.
  </summary>
</histogram>

<histogram base="true" name="FirstUserAction.BackgroundTime.MainIntent"
    units="minutes">
  <owner>tedchoc@chromium.org</owner>
  <summary>
    The amount of time (in minutes) that the app was in the background before
    the user started it (via an ACTION_MAIN intent) and performed a user action
    that describes the intent of resuming the app.  Only recorded if the action
    took place within the first 10 seconds of starting Chrome.  The actions are
    further described in the FirstUserActionTypes suffix.
  </summary>
</histogram>

<histogram name="GCM.AndroidGcmReceiverError" enum="GcmReceiverStatus">
  <obsolete>
    Deprecated as of 01/2016. The error has been fixed by GCM. (crbug/580367)
  </obsolete>
  <owner>khushalsagar@chromium.org</owner>
  <summary>Result of a message received by the GcmReceiver on Android.</summary>
</histogram>

<histogram name="GCM.APICallUnregister">
  <owner>jianli@chromium.org</owner>
  <summary>Number of times when gcm.unregister API is called.</summary>
</histogram>

<histogram name="GCM.CheckinCompleteTime" units="ms">
  <owner>jianli@chromium.org</owner>
  <summary>
    Length of time taken to complete a GCM checkin request successfully. If the
    checkin is retried multiple times, the length of time is counted for the
    last successful retry.
  </summary>
</histogram>

<histogram name="GCM.CheckinRequestStatus" enum="GCMCheckinRequestStatus">
  <owner>juyik@chromium.org</owner>
  <summary>Status code of the outcome of a GCM checkin request.</summary>
</histogram>

<histogram name="GCM.CheckinRetryCount">
  <owner>jianli@chromium.org</owner>
  <summary>Number of retries before a GCM checkin succeeds.</summary>
</histogram>

<histogram name="GCM.ConnectedViaProxy" enum="Boolean">
  <owner>zea@chromium.org</owner>
  <summary>Whether the GCM connection was made via a proxy or not.</summary>
</histogram>

<histogram name="GCM.ConnectionDisconnectErrorCode"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>zea@chromium.org</owner>
  <summary>URL response and error codes from GCM disconnect events.</summary>
</histogram>

<histogram name="GCM.ConnectionEndpoint" enum="GCMEndpoints">
  <owner>zea@chromium.org</owner>
  <summary>Number of connections made to each specific MCS endpoint.</summary>
</histogram>

<histogram name="GCM.ConnectionFailureErrorCode"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>zea@chromium.org</owner>
  <summary>URL response and error codes from GCM connection attempts.</summary>
</histogram>

<histogram name="GCM.ConnectionLatency" units="ms">
  <owner>juyik@chromium.org</owner>
  <summary>
    The time between the initiation of a connection and the successful
    completion of it.
  </summary>
</histogram>

<histogram name="GCM.ConnectionResetReason" enum="GCMConnectionResetReason">
  <owner>zea@chromium.org</owner>
  <summary>Reasons for GCM connection resets.</summary>
</histogram>

<histogram name="GCM.ConnectionSuccessRate" enum="BooleanSuccess">
  <owner>zea@chromium.org</owner>
  <summary>
    GCM connection success rate. Does not take into account login success. See
    GCM.ConnectionFailureErrorCode for a breakdown of connection failure
    reasons.
  </summary>
</histogram>

<histogram name="GCM.ConnectionUpTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time (from login until reset) that a GCM connection was active.
  </summary>
</histogram>

<histogram name="GCM.Crypto.CreateKeySuccessRate" enum="BooleanSuccess">
  <owner>peter@chromium.org</owner>
  <summary>
    Success rate of writing new keying material to the GCM key store.
  </summary>
</histogram>

<histogram name="GCM.Crypto.DecryptMessageResult" enum="GCMDecryptionResult">
  <owner>peter@chromium.org</owner>
  <summary>
    Result of decryption on a received GCM message, which includes unencrypted
    messages, successfully decrypted messages and decryption failures.
  </summary>
</histogram>

<histogram name="GCM.Crypto.GetKeySuccessRate" enum="BooleanSuccess">
  <owner>peter@chromium.org</owner>
  <summary>
    Success rate of reading keying material from the GCM key store.
  </summary>
</histogram>

<histogram name="GCM.Crypto.InitKeyStoreSuccessRate" enum="BooleanSuccess">
  <owner>peter@chromium.org</owner>
  <summary>
    Success rate of initializing the LevelDB back-end of the GCM key store.
  </summary>
</histogram>

<histogram name="GCM.Crypto.LoadKeyStoreSuccessRate" enum="BooleanSuccess">
  <owner>peter@chromium.org</owner>
  <summary>
    Success rate of loading existing keying material in the GCM key store.
  </summary>
</histogram>

<histogram name="GCM.Crypto.RemoveKeySuccessRate" enum="BooleanSuccess">
  <owner>peter@chromium.org</owner>
  <summary>
    Success rate of removing keying material from the GCM key store.
  </summary>
</histogram>

<histogram name="GCM.Database.Open" enum="LevelDBStatus">
  <owner>cmumford@chromium.org</owner>
  <summary>The result of a database open attempt by the GCM store.</summary>
</histogram>

<histogram name="GCM.DataMessageBurstReceivedInterval" units="ms">
  <owner>juyik@chromium.org</owner>
  <summary>
    Interval between two successive received data message bursts.
  </summary>
</histogram>

<histogram name="GCM.DataMessageReceived" enum="BooleanReceived">
  <owner>peter@chromium.org</owner>
  <summary>
    Number of DATA_MESSAGE messages received from Google Cloud Messaging for
    which a matching registration exists. Recorded when processing the received
    message. Prior to M56 this also counted received DELETED_MESSAGES messages
    (whether or not a registration existed).
  </summary>
</histogram>

<histogram name="GCM.DataMessageReceivedHasCollapseKey"
    enum="BooleanHasCollapseKey">
  <owner>peter@chromium.org</owner>
  <summary>
    Records whether a non-empty collapse_key token is set for each received
    DATA_MESSAGE message from Google Cloud Messaging for which a matching
    registration exists. Recorded while processing the received message.
  </summary>
</histogram>

<histogram name="GCM.DataMessageReceivedHasRegisteredApp"
    enum="BooleanRegistered">
  <owner>peter@chromium.org</owner>
  <summary>
    Records whether a matching registration was found for each received
    DATA_MESSAGE message from Google Cloud Messaging. Recorded while processing
    the received message. Prior to M56 this also counted received
    DELETED_MESSAGES messages.
  </summary>
</histogram>

<histogram name="GCM.DeletedMessagesReceived" units="messages">
  <owner>peter@chromium.org</owner>
  <summary>
    For every DELETED_MESSAGES message received from Google Cloud Messaging
    (whether or not a matching registration exists), this records the provided
    count of how many messages were simultaneously deleted, or zero if the count
    is unknown.
  </summary>
</histogram>

<histogram name="GCM.FirstReceivedDataMessageLatencyAfterConnection" units="ms">
  <owner>juyik@chromium.org</owner>
  <summary>
    The time between the successful completion of the connection and the arrival
    of the first data message.
  </summary>
</histogram>

<histogram name="GCM.HeartbeatMissedDelta" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    If a heartbeat was missed, the time delta by which it was missed (in system
    time, not ticks).
  </summary>
</histogram>

<histogram name="GCM.IncomingSendErrors" units="messages">
  <owner>peter@chromium.org</owner>
  <summary>
    Number of SEND_ERROR messages received from Google Cloud Messaging. Recorded
    when processing the received message.
  </summary>
</histogram>

<histogram name="GCM.LoadStatus" enum="GCMLoadStatus">
  <owner>jianli@chromium.org</owner>
  <summary>Status code of loading from the persistent GCM store.</summary>
</histogram>

<histogram name="GCM.LoadSucceeded" enum="BooleanSuccess">
  <obsolete>
    Deprecated as of 2/2015.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Success indicates successfully loading an initialized persistent GCM store
    at startup time. Failure indicates a failure loading the store.
  </summary>
</histogram>

<histogram name="GCM.NumThrottledApps">
  <owner>zea@chromium.org</owner>
  <summary>
    Number of applications hitting GCM per-app outstanding message limits at
    startup time.
  </summary>
</histogram>

<histogram name="GCM.NumUsers">
  <obsolete>
    Deprecated as of 3/2014.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Number of GCM users associated with this client at startup time.
  </summary>
</histogram>

<histogram name="GCM.OutgoingMessageTTL" enum="GCMOutgoingMessageTTLCategory">
  <owner>jianli@chromium.org</owner>
  <summary>
    Category of TTL specified in the outgoing message: 0, less than or equal to
    1 minute, less than or equal to 1 hour and etc.
  </summary>
</histogram>

<histogram name="GCM.PendingConnectionEventsAtShutdown" units="events">
  <owner>harkness@chromium.org</owner>
  <summary>
    Number of connection events which have not been sent to GCM. This is
    recorded only at the time of shutdown to capture the events which are being
    lost due to shutdown. Because this is recorded at shutdown, this is not
    guaranteed to be complete and should be treated as a best effort record.
  </summary>
</histogram>

<histogram name="GCM.ReceivedDataMessageBurstSize" units="messages">
  <owner>juyik@chromium.org</owner>
  <summary>Number of messages in a received GCM data message burst.</summary>
</histogram>

<histogram name="GCM.ReceivedDataMessageIntervalWithinBurst" units="ms">
  <owner>juyik@chromium.org</owner>
  <summary>
    Interval between messages within a received GCM data message burst.
  </summary>
</histogram>

<histogram name="GCM.RegistrationCompleteTime" units="ms">
  <owner>jianli@chromium.org</owner>
  <summary>
    Length of time taken to complete a GCM registration request successfully. If
    the registration is retried multiple times, the length of time is counted
    for the last successful retry.
  </summary>
</histogram>

<histogram name="GCM.RegistrationRequest" units="requests">
  <owner>peter@chromium.org</owner>
  <summary>
    Number of registration requests sent to Google Cloud Messaging. Recorded
    immediately after the request has started.
  </summary>
</histogram>

<histogram name="GCM.RegistrationRequestStatus"
    enum="GCMRegistrationRequestStatus">
  <owner>juyik@chromium.org</owner>
  <summary>
    Status code of the outcome of a GCM registration request. The Unknown error
    case was split up in M56 (merged mid-beta to M55) to separate out the
    Response parsing failed, Internal server error, Quota exceeded, and Device
    has too many registrations cases.
  </summary>
</histogram>

<histogram name="GCM.RegistrationRetryCount">
  <owner>jianli@chromium.org</owner>
  <summary>Number of retries before a GCM registration succeeds.</summary>
</histogram>

<histogram name="GCM.RegistrationSenderIdCount">
  <owner>jianli@chromium.org</owner>
  <summary>Number of sender IDs specified in a registration request.</summary>
</histogram>

<histogram name="GCM.ResetStore" enum="GCMResetStoreError">
  <obsolete>
    Deprecated in M56 in favor of GCM.ResetStoreError
  </obsolete>
  <owner>jianli@chromium.org</owner>
  <summary>
    Reports the problem encountered when resetting the GCM store.
  </summary>
</histogram>

<histogram name="GCM.ResetStoreError" enum="GCMResetStoreError">
  <owner>zea@chromium.org</owner>
  <summary>
    Reports the problem encountered when resetting the GCM store.
  </summary>
</histogram>

<histogram name="GCM.RestoredIncomingMessages">
  <owner>zea@chromium.org</owner>
  <summary>
    Number of unacknowledged incoming messages restored from the persistent
    store at startup.
  </summary>
</histogram>

<histogram name="GCM.RestoredOutgoingMessages">
  <owner>zea@chromium.org</owner>
  <summary>
    Number of pending outgoing messages restored from the persistent store at
    startup.
  </summary>
</histogram>

<histogram name="GCM.RestoredRegistrations">
  <owner>jianli@chromium.org</owner>
  <summary>
    Number of registrations restored from the persistent store at startup.
  </summary>
</histogram>

<histogram name="GCM.SendMessageStatus" enum="GCMSendMessageStatus">
  <owner>peter@chromium.org</owner>
  <summary>
    Result of sending an upstream message through Google Cloud Messaging.
    Recorded when the message has either been queued, sent, or has been dropped
    because it expired or an error happened.
  </summary>
</histogram>

<histogram name="GCM.StoreDestroySucceeded" enum="BooleanSuccess">
  <owner>zea@chromium.org</owner>
  <summary>
    Success indicates successfully destroying the GCM persistent store. Failure
    indicates a failure destroying the persistence store. GCM store will be
    destroyed when the profile has been signed out.
  </summary>
</histogram>

<histogram name="GCM.StoreSizeKB" units="KB">
  <owner>zea@chromium.org</owner>
  <summary>Size of the GCM persistent store in kilobytes at startup.</summary>
</histogram>

<histogram name="GCM.StoreUpdateSucceeded" enum="BooleanSuccess">
  <owner>zea@chromium.org</owner>
  <summary>
    Success indicates successfully updating the GCM persistent store on message
    update. Failure indicates a failure updating the persistence store.
  </summary>
</histogram>

<histogram name="GCM.SuspendTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time elapsed from machine suspend until resume.</summary>
</histogram>

<histogram name="GCM.UnregistrationCompleteTime" units="ms">
  <owner>jianli@chromium.org</owner>
  <summary>
    Length of time taken to complete a GCM unregistration request successfully.
    If the unregistration is retried multiple times, the length of time is
    counted for the last successful retry.
  </summary>
</histogram>

<histogram name="GCM.UnregistrationRequest" units="requests">
  <owner>peter@chromium.org</owner>
  <summary>
    Number of unregistration requests sent to Google Cloud Messaging. Recorded
    immediately after the request has started.
  </summary>
</histogram>

<histogram name="GCM.UnregistrationRequestStatus"
    enum="GCMUnregistrationRequestStatus">
  <owner>juyik@chromium.org</owner>
  <summary>Status code of the outcome of a GCM unregistration request.</summary>
</histogram>

<histogram name="GCM.UnregistrationRetryCount">
  <owner>jianli@chromium.org</owner>
  <summary>Number of retries before a GCM unregistration succeeds.</summary>
</histogram>

<histogram name="GCM.UserSignedIn" enum="Boolean">
  <owner>jianli@chromium.org</owner>
  <summary>
    Indicates whether the user was signed in when GCM started up.
  </summary>
</histogram>

<histogram name="GCMInvalidations.IncomingMessageStatus"
    enum="GCMInvalidationsIncomingMessageStatus">
  <owner>pavely@chromium.org</owner>
  <summary>
    Status of parsing incoming invalidations message from GCM channel.
  </summary>
</histogram>

<histogram name="GCMInvalidations.OutgoingMessageStatus"
    enum="GCMInvalidationsOutgoingMessageStatus">
  <owner>pavely@chromium.org</owner>
  <summary>
    Status of sending outgoing invalidations message through GCM.
  </summary>
</histogram>

<histogram name="GData.AuthSuccess" enum="GDataAuthResult">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Result of the authentication for Drive.</summary>
</histogram>

<histogram name="GData.EntireFeedLoadTime" units="microseconds">
  <obsolete>
    Deprecated 9/2012, and replaced by Drive.EntireFeedLoadTime
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time spent to load the entire file system information from the server
  </summary>
</histogram>

<histogram name="GData.EntryKind" enum="GDataEntryKind">
  <obsolete>
    Deprecated 9/2012, and replaced by Drive.EntryKind
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Provides breakdown of specific formats for hosted documents. Recorded when
    feed is loaded from the server.
  </summary>
</histogram>

<histogram name="GData.InitialFeedLoadTime" units="microseconds">
  <obsolete>
    Deprecated 9/2012, and replaced by Drive.InitialFeedLoadTime
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time spent to load the initial part of the file system information from the
    server
  </summary>
</histogram>

<histogram name="GData.NumberOfHostedDocuments">
  <obsolete>
    Deprecated 9/2012, and replaced by Drive.NumberOfHostedDocuments
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of hosted documents (spreadsheets etc.) on Drive. Logged when Drive
    is first accessed.
  </summary>
</histogram>

<histogram name="GData.NumberOfRegularFiles">
  <obsolete>
    Deprecated 9/2012, and replaced by Drive.NumberOfRegularFiles
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of regualr files on Drive.  Logged when Drive is first accessed.
  </summary>
</histogram>

<histogram name="GData.NumberOfTotalFiles">
  <obsolete>
    Deprecated 9/2012, and replaced by Drive.NumberOfTotalFiles
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of total files (regualr files + hosted documents) on Drive.  Logged
    when Drive is first accessed.
  </summary>
</histogram>

<histogram name="Geolocation.GeolocationDispatcherHostImpl.EnableHighAccuracy"
    enum="BooleanEnabled">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>
    Whether high accuracy geolocation information was requested.
  </summary>
</histogram>

<histogram base="true" name="Geolocation.Header.LocationAge" units="seconds">
  <owner>kcarattini@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    For Geolocation requests from the omnibox on Android, the time since the
    location was most recently acquired. If no location has been acquired, the
    maximum bucket is incremented.
  </summary>
</histogram>

<histogram name="Geolocation.Header.PermissionState"
    enum="GeolocationHeaderPermissionState">
  <owner>kcarattini@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    Counts Geolocation requests for omnibox searches sliced by various
    permission combinations. The location mode abbreviations indicate one of:
    High Accuracy, Battery Saving, GPS On or Location Mode Off.
  </summary>
</histogram>

<histogram base="true" name="Geolocation.Header.TimeListening" units="ms">
  <owner>kcarattini@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    For Geolocation requests from the omnibox on Android, the time since the
    location was first acquired. If no location has been acquired, the minimum
    bucket is incremented.
  </summary>
</histogram>

<histogram name="Geolocation.InfoBarDelegate.Event"
    enum="GeolocationInfoBarDelegateEvent">
  <obsolete>
    Deprecated 9/2014, and replaced by
    ContentSettings.PermissionActions_Geolocation.
  </obsolete>
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>Events in GeolocationInfoBarDelegate.</summary>
</histogram>

<histogram name="Geolocation.InfoBarDelegateAndroid.Event"
    enum="GeolocationInfoBarDelegateAndroidEvent">
  <obsolete>
    Deprecated 9/2014, and replaced by
    ContentSettings.PermissionActions_Geolocation.
  </obsolete>
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>Events in GeolocationInfoBarDelegateAndroid.</summary>
</histogram>

<histogram name="Geolocation.LocationUpdate.ErrorCode"
    enum="GeopositionErrorCode">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>Error code for the geoposition sent to the renderers.</summary>
</histogram>

<histogram name="Geolocation.NetworkLocationRequest.AccessPoints">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>
    The number of WiFi access points used to determine geolocation.
  </summary>
</histogram>

<histogram name="Geolocation.NetworkLocationRequest.Event"
    enum="NetworkLocationRequestEvent">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>Events in NetworkLocationRequest.</summary>
</histogram>

<histogram name="Geolocation.NetworkLocationRequest.ResponseCode"
    units="HTTP response code">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>Http response codes in NetworkLocationRequest.</summary>
</histogram>

<histogram base="true" name="Geolocation.SettingsDialog.AcceptEvent"
    enum="GeolocationSettingsDialogBackOff">
  <owner>benwells@chromium.org</owner>
  <summary>
    Records the backoff level when the Location Settings Dialog is accepted by
    the user.
  </summary>
</histogram>

<histogram base="true" name="Geolocation.SettingsDialog.DenyEvent"
    enum="GeolocationSettingsDialogBackOff">
  <owner>benwells@chromium.org</owner>
  <summary>
    Records the backoff level when the Location Settings Dialog is rejected by
    the user.
  </summary>
</histogram>

<histogram base="true" name="Geolocation.SettingsDialog.ShowEvent"
    enum="GeolocationSettingsDialogBackOff">
  <owner>benwells@chromium.org</owner>
  <summary>
    Records the backoff level when the Location Settings Dialog is shown to the
    user.
  </summary>
</histogram>

<histogram base="true" name="Geolocation.SettingsDialog.SuppressEvent"
    enum="GeolocationSettingsDialogBackOff">
  <owner>benwells@chromium.org</owner>
  <summary>
    Records the backoff level when the Location Settings Dialog is suppressed
    due to backoff.
  </summary>
</histogram>

<histogram name="Geolocation.Timeout">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>
    Counts Geolocation request timeout values, bucketing by timeout duration.
    This is recorded for all requests upon creation, see
    Geolocation.TimeoutExpired for timeouts that actually expired.
  </summary>
</histogram>

<histogram name="Geolocation.TimeoutExpired">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>
    Counts Geolocation request timeout expirations, bucketing by timeout
    duration. This means no position was received within the allowed time from
    the browser process due to e.g. a slow network or an unresponsive system
    location provider.
  </summary>
</histogram>

<histogram name="GeolocationDisclosure.DisclosureResult"
    enum="GeolocationDisclosureResult">
  <owner>benwells@chromium.org</owner>
  <summary>
    Records the action the user took after the geolocation disclosure has been
    displayed.
  </summary>
</histogram>

<histogram name="GeolocationDisclosure.InfoBarVisibleTime" units="ms">
  <owner>benwells@chromium.org</owner>
  <summary>
    Records how long the search geolocation disclosure infobar was visible for.
  </summary>
</histogram>

<histogram name="GeolocationDisclosure.PostDisclosureContentSetting"
    enum="ContentSetting">
  <owner>benwells@chromium.org</owner>
  <summary>
    Records the geolocation content setting for the default search engine's
    origin after the search geolocation disclosure has been shown and won't be
    shown again. This metric is only recorded once per client.
  </summary>
</histogram>

<histogram name="GeolocationDisclosure.PostDisclosureDSESetting"
    enum="BooleanAllowed">
  <owner>benwells@chromium.org</owner>
  <summary>
    Records the geolocation default search engine setting after the search
    geolocation disclosure has been shown and won't be shown again. This metric
    is only recorded once per client.
  </summary>
</histogram>

<histogram name="GeolocationDisclosure.PostDisclosurePermission"
    enum="PermissionStatus">
  <obsolete>
    Deprecated 2017/01. Replaced by PostDisclosureContentSetting.
  </obsolete>
  <owner>benwells@chromium.org</owner>
  <summary>
    Records the geolocation permission for the default search engine's origin
    after the search geolocation disclosure has been shown and won't be shown
    again. This metric is only recorded once per client.
  </summary>
</histogram>

<histogram name="GeolocationDisclosure.PreDisclosureContentSetting"
    enum="ContentSetting">
  <owner>benwells@chromium.org</owner>
  <summary>
    Records the geolocation content setting for the default search engine's
    origin immediately before the search geolocation disclosure has been shown.
    This metric is only recorded once per client.
  </summary>
</histogram>

<histogram name="GeolocationDisclosure.PreDisclosureDSESetting"
    enum="BooleanAllowed">
  <owner>benwells@chromium.org</owner>
  <summary>
    Records the geolocation default search engine setting immediately before the
    search geolocation disclosure has been shown. This metric is only recorded
    once per client.
  </summary>
</histogram>

<histogram name="GeolocationDisclosure.PreDisclosurePermission"
    enum="PermissionStatus">
  <obsolete>
    Deprecated 2017/01. Replaced by PreDisclosureContentSetting.
  </obsolete>
  <owner>benwells@chromium.org</owner>
  <summary>
    Records the geolocation permission for the default search engine's origin
    immediately before the search geolocation disclosure has been shown. This
    metric is only recorded once per client.
  </summary>
</histogram>

<histogram name="GoogleNow.Card.Button.Clicked0" enum="GoogleNowCardTypeId">
  <owner>robliao@chromium.org</owner>
  <owner>skare@chromium.org</owner>
  <summary>Types of cards which received an index 0 button click.</summary>
</histogram>

<histogram name="GoogleNow.Card.Button.Clicked1" enum="GoogleNowCardTypeId">
  <owner>robliao@chromium.org</owner>
  <owner>skare@chromium.org</owner>
  <summary>Types of cards which received an index 1 button click.</summary>
</histogram>

<histogram name="GoogleNow.Card.Clicked" enum="GoogleNowCardTypeId">
  <owner>robliao@chromium.org</owner>
  <owner>skare@chromium.org</owner>
  <summary>Types of cards which received a notification click.</summary>
</histogram>

<histogram name="GoogleNow.Event" enum="GoogleNowEvent">
  <owner>robliao@chromium.org</owner>
  <owner>skare@chromium.org</owner>
  <summary>Events in Google Now component extension.</summary>
</histogram>

<histogram name="GoogleNow.MessageCenter.Displayed.NotificationsVisible"
    units="count">
  <owner>robliao@chromium.org</owner>
  <owner>skare@chromium.org</owner>
  <summary>
    Count of the number of Google Now notifications visible when the message
    center/notification center is shown.
  </summary>
</histogram>

<histogram name="GooglePlayServices.ConnectionResult"
    enum="GooglePlayServicesConnectionResult">
  <owner>andrewhayden@chromium.org</owner>
  <owner>dgn@chromium.org</owner>
  <summary>
    ConnectionResult error codes resulting from attempts to check whether or not
    Google Play Services is available. Most of these checks are done lazily,
    when a user accesses a feature that uses Google Play Services. Added for
    http://crbug.com/490710.
  </summary>
</histogram>

<histogram name="GooglePlayServices.ErrorHandlerAction"
    enum="GooglePlayServicesErrorHandlerAction">
  <owner>andrewhayden@chromium.org</owner>
  <summary>
    Types of action taken in response to Google Play Services user-recoverable
    errors. Added for http://crbug.com/490710.
  </summary>
</histogram>

<histogram name="GoogleSearch.AccessPoint" enum="SearchAccessPoint">
  <obsolete>
    Deprecated 2015/08.
  </obsolete>
  <owner>kmadhusu@chromium.org</owner>
  <summary>
    Counts number of Google searches from various access points in the browser.
    WARNING: Do not use this histogram as it currently fails to classify a large
    percentage of Omnibox searches correctly - http://crbug.com/421631.
  </summary>
</histogram>

<histogram name="GoogleUpdate.EffectivePolicy" enum="UpdatePolicy">
  <owner>gab@chromium.org</owner>
  <summary>
    The effective update policy for Chrome on Windows. Recorded once per startup
    (following a 45 seconds delay).
  </summary>
</histogram>

<histogram name="GoogleUpdate.ErrorHresult" enum="Hresult">
  <owner>grt@chromium.org</owner>
  <summary>The HRESULT for a failed on-demand update check.</summary>
</histogram>

<histogram name="GoogleUpdate.InfoBar.ActionTaken"
    enum="GoogleUpdateInfoBarActions">
  <obsolete>
    Deprecated 12/2015 in Issue 566085.
  </obsolete>
  <owner>yfriedman@chromium.org</owner>
  <owner>dfalcantara@chromium.org</owner>
  <summary>
    (Android-only) Records what action the user took (if any) on the InfoBar
    indicating that a new version of Chrome is available.
  </summary>
</histogram>

<histogram name="GoogleUpdate.InfoBar.InternalStorageSizeAvailable" units="MB">
  <owner>yfriedman@chromium.org</owner>
  <owner>dfalcantara@chromium.org</owner>
  <owner>khushalsagar@chromium.org</owner>
  <summary>
    (Android-only) The amount of internal memory storage available on the user's
    device when the InfoBar or update menu item is shown.
  </summary>
</histogram>

<histogram name="GoogleUpdate.InfoBar.TimeShown" units="ms">
  <obsolete>
    Deprecated 12/2015 in Issue 566085.
  </obsolete>
  <owner>yfriedman@chromium.org</owner>
  <owner>dfalcantara@chromium.org</owner>
  <summary>
    (Android-only) The amount of time which the InfoBar indicating a new version
    is available is visible.
  </summary>
</histogram>

<histogram name="GoogleUpdate.InstallerExitCode" enum="InstallStatus">
  <owner>grt@chromium.org</owner>
  <summary>
    The exit code from Chrome's installer following a failed on-demand update
    check. All values reported for this histogram fall in the
    GOOGLE_UPDATE_ERROR_UPDATING bucket of the GoogleUpdate.UpdateErrorCode
    histogram and the GOOPDATEINSTALL_E_INSTALLER_FAILED bucket of the
    GoogleUpdate.ErrorHresult histogram.
  </summary>
</histogram>

<histogram name="GoogleUpdate.MenuItem.ActionTakenAfterItemClicked"
    enum="GoogleUpdateAfterItemClickedActions">
  <owner>twellington@chromium.org</owner>
  <summary>
    (Android-only) Records whether Chrome was updated after the update menu item
    was clicked.
  </summary>
</histogram>

<histogram name="GoogleUpdate.MenuItem.ActionTakenOnMenuOpen"
    enum="GoogleUpdateMenuItemActions">
  <owner>twellington@chromium.org</owner>
  <summary>
    (Android-only) Records whether the update menu item was clicked when the app
    menu was opened.
  </summary>
</histogram>

<histogram name="GoogleUpdate.UnexpectedState">
  <owner>grt@chromium.org</owner>
  <summary>
    An unrecognized CurrentState value received from Google Update while polling
    for the status of an on-demand update check.
  </summary>
</histogram>

<histogram name="GoogleUpdate.UpdateErrorCode" enum="GoogleUpdateErrorCode">
  <owner>grt@chromium.org</owner>
  <summary>The error code for a failed on-demand update check.</summary>
</histogram>

<histogram name="GoogleUpdate.UpdatePolicyIsOverridden" enum="Boolean">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    True if the effective update policy for Chrome on Windows is the result of
    an app-specific override; false if it is the default for all apps. Recorded
    once per startup (following a 45 seconds delay).
  </summary>
</histogram>

<histogram name="GoogleUpdate.UpgradeResult" enum="GoogleUpdateUpgradeStatus">
  <owner>grt@chromium.org</owner>
  <summary>The result of an on-demand update check.</summary>
</histogram>

<histogram name="GPU.AcceleratedSurfaceRefreshRate" units="hz">
  <owner>vmiura@chromium.org</owner>
  <summary>
    Refresh rate of the display in Hz.  This is recorded every time we present a
    frame.
  </summary>
</histogram>

<histogram name="GPU.ANGLE.Buffer11CPUMemoryMB" units="MB">
  <owner>cwallez@chromium.org</owner>
  <summary>
     The sum of the size of the CPU-side memory allocations of Buffer11's copies
    (vs. GPU memory allocations). These allocations are used when modifying the
    buffer data on the CPU or when transfering to GPU memory via DMA.
  </summary>
</histogram>

<histogram name="GPU.ANGLE.D3D11CreateDeviceError" enum="Hresult">
  <owner>jmadill@chromium.org</owner>
  <summary>
    An extended Windows error code returned from D3D11CreateDevice on error. Can
    be almost any valid HRESULT or DXGI error code, which are listed at
    https://msdn.microsoft.com/en-us/library/windows/desktop/bb509553.aspx.
  </summary>
</histogram>

<histogram name="GPU.ANGLE.D3D11CreateDeviceMS" units="ms">
  <owner>jmadill@chromium.org</owner>
  <summary>
    The time that elapses for the initial call to D3D11CreateDevice on D3D11
    ANGLE. A pure system call, with no ANGLE or Chromium code, called once every
    GPU process startup.
  </summary>
</histogram>

<histogram name="GPU.ANGLE.D3D11FeatureLevel" enum="D3DFeatureLevel">
  <owner>jmadill@chromium.org</owner>
  <summary>
    The maxmium supported (or currently requested) Direct3D feature level in
    D3D11 ANGLE. We support as low as 9.3, and as high as 11.1, though Chrome
    should only use 10.0+ for D3D11. Gives an indication of how new a user's
    video card is, what features it supports, and it's general speed tier.
  </summary>
</histogram>

<histogram name="GPU.ANGLE.D3D11InitializeResult" enum="D3D11InitializeResult">
  <owner>jmadill@chromium.org</owner>
  <summary>
    The result from initializing a D3D11 device in ANGLE. Can be success, or one
    of several error codes which indicate different reasons for failing.
  </summary>
</histogram>

<histogram name="GPU.ANGLE.D3D9InitializeResult" enum="D3D9InitializeResult">
  <owner>jmadill@chromium.org</owner>
  <summary>
    The result from initializing a D3D9 device in ANGLE. Can be success, or one
    of several error codes which indicate different reasons for failing.
  </summary>
</histogram>

<histogram name="GPU.ANGLE.D3DCompileMS" units="ms">
  <owner>jmadill@chromium.org</owner>
  <summary>
    The time ANGLE spends calling the D3D shader compiler. Tracks total time we
    spend compiling shaders on startup and during Chrome's lifetime.
  </summary>
</histogram>

<histogram name="GPU.ANGLE.DisplayInitializeMS" units="ms">
  <owner>jmadill@chromium.org</owner>
  <summary>
    Time ANGLE spends in eglInitialize, where it spins up a Renderer. This can
    gives us insight into how much time we're spending initializing the GPU.
  </summary>
</histogram>

<histogram name="GPU.ANGLE.Renderer11InitializeDeviceMS" units="ms">
  <owner>jmadill@chromium.org</owner>
  <summary>
    Time ANGLE spends initializing various shaders and internal classes. This is
    time that isn't purely loading system DLLs and calling OS methods. It might
    be work we can optimize or defer until later.
  </summary>
</histogram>

<histogram name="GPU.ANGLE.Renderer11InitializeDLLsMS" units="ms">
  <owner>jmadill@chromium.org</owner>
  <summary>
    Time ANGLE spends loading system DLLs, such as the D3D compiler DLL, and the
    D3D11 and DXGI DLLs. Probably unavoidable startup costs, though very useful
    to keep track of.
  </summary>
</histogram>

<histogram name="GPU.ANGLE.SupportsDXGI1_2" enum="BooleanSupported">
  <owner>jmadill@chromium.org</owner>
  <summary>
    Windows computers running Windows 8+, or running Windows 7 with a platform
    update, support the newer version of DXGI. This update also indicates the
    computer is capable of running Direct3D 11.1 if the hardware supports it.
  </summary>
</histogram>

<histogram name="GPU.CheckFramebufferValidDuration" units="ms">
  <obsolete>
    Deprecated 01/2017.
  </obsolete>
  <owner>ericrk@chromium.org</owner>
  <summary>
    The amount of time spent in GLES2DecoderImpl::CheckFramebufferValid.
  </summary>
</histogram>

<histogram name="GPU.CollectContextGraphicsInfo" units="microseconds">
  <owner>vmiura@chromium.org</owner>
  <summary>
    The time that the GPU process spends collecting driver information during
    startup.
  </summary>
</histogram>

<histogram name="GPU.ContextLost" enum="ContextLostReason">
  <owner>sievers@chromium.org</owner>
  <summary>
    The reason a GPU command buffer context of a given type was lost.
  </summary>
</histogram>

<histogram name="GPU.ContextMemory" units="MB">
  <owner>ericrk@chromium.org</owner>
  <summary>The amount of memory used by a GL Context.</summary>
</histogram>

<histogram name="GPU.CreateBrowserCompositor" units="microseconds">
  <owner>vmiura@chromium.org</owner>
  <summary>
    The time that the browser process takes to create the compositor from its
    point of view. One of these is created for each top-level window (browser
    frame, menus, etc.).
  </summary>
</histogram>

<histogram name="GPU.D3DShaderModel" enum="ShaderModel">
  <owner>jmadill@chromium.org</owner>
  <summary>
    ANGLE's currently active D3D shader model version. Logged once every startup
    of the GPU process, on Windows only. Note that Shader Models 2 and 3 map to
    D3D9 with ANGLE, and 4+ map to D3D11 ANGLE.
  </summary>
</histogram>

<histogram name="GPU.DestroyProgramManagerPrograms.Elapsed" units="ms">
  <obsolete>
    Deprecated 11/2016.
  </obsolete>
  <owner>ericrk@chromium.org</owner>
  <summary>
    The amount of time spent destroying programs during ProgramManager::Destroy.
  </summary>
</histogram>

<histogram name="GPU.DestroyProgramManagerPrograms.Programs" units="programs">
  <obsolete>
    Deprecated 11/2016.
  </obsolete>
  <owner>ericrk@chromium.org</owner>
  <summary>
    The number of progams destroyed during ProgramManager::Destroy.
  </summary>
</histogram>

<histogram name="GPU.DestroyProgramManagerPrograms.ProgramsPerMs"
    units="programs per ms">
  <obsolete>
    Deprecated 11/2016.
  </obsolete>
  <owner>ericrk@chromium.org</owner>
  <summary>
    The number of programs destroyed per millisecond during
    ProgramManager::Destroy. Only logged if both the number of programs and the
    elapsed time are greater than zero.
  </summary>
</histogram>

<histogram name="GPU.DirectComposition.CompositionMode"
    enum="DxgiFramePresentationMode">
  <owner>jbauman@chromium.org</owner>
  <summary>
    How the Desktop Window Manager presented Chrome's DirectComposition layers
    to the screen.
  </summary>
</histogram>

<histogram name="GPU.DirectComposition.FramesSinceColorSpaceChange"
    units="frames">
  <owner>jbauman@chromium.org</owner>
  <summary>
    How many frames since the last time the layer color format was changed.
  </summary>
</histogram>

<histogram name="GPU.DirectComposition.OverlaysSupported"
    enum="BooleanOverlaySupported">
  <owner>jbauman@chromium.org</owner>
  <summary>True if Chrome will try to use DirectComposition overlays.</summary>
</histogram>

<histogram name="GPU.DirectComposition.OverlaysUsed" enum="BooleanOverlayUsage">
  <owner>jbauman@chromium.org</owner>
  <summary>Whether or not a frame displays an overlay.</summary>
</histogram>

<histogram name="GPU.DirectComposition.SwapchainFormat" enum="SwapchainFormat">
  <owner>jbauman@chromium.org</owner>
  <summary>What type of swapchain was actually created for an overlay.</summary>
</histogram>

<histogram name="GPU.DoLinkProgramTime" units="ms">
  <owner>jmadill@chromium.org</owner>
  <summary>
    The time we spend in GLES2DecoderImpl::DoLinkProgram. Related to how much
    time we spend compiling shaders during startup.
  </summary>
</histogram>

<histogram name="GPU.EGLDisplayType" enum="EGLDisplayType">
  <owner>jbauman@chromium.org</owner>
  <summary>The display type used to ask for an EGLDisplay.</summary>
</histogram>

<histogram name="GPU.Error" enum="GLError">
  <owner>junov@chromium.org</owner>
  <owner>piman@chromium.org</owner>
  <summary>The error states generated by OpenGL calls.</summary>
</histogram>

<histogram name="GPU.FenceSupport" enum="BooleanAvailable">
  <owner>reveman@chromium.org</owner>
  <summary>
    Whether GLFence support is available. Recorded each time a new context group
    is initialized and extensions are detected.
  </summary>
</histogram>

<histogram name="GPU.GPUProcessDetailedExitStatus"
    enum="ProcessDetailedExitStatus">
  <owner>wnwen@chromium.org</owner>
  <summary>
    Breakdown of exit status for gpu processes. Only recorded on Android.
  </summary>
</histogram>

<histogram name="GPU.GPUProcessExitCode" enum="GPUProcessExitCode">
  <owner>jbauman@chromium.org</owner>
  <summary>
    Counts for the exit codes returned by the GPU process when it terminated.
  </summary>
</histogram>

<histogram name="GPU.GPUProcessLaunchCause" enum="GPUProcessLaunchCauses">
  <obsolete>
    Deprecated 08/2016.
  </obsolete>
  <owner>piman@chromium.org</owner>
  <summary>
    Counts enumerating the initial cause for the GPU Process to be launched.
  </summary>
</histogram>

<histogram name="GPU.GPUProcessLaunchTime" units="ms">
  <owner>piman@chromium.org</owner>
  <summary>
    Startup time of the GPU process as measured by the GPU process host.
  </summary>
</histogram>

<histogram name="GPU.InitializeOneOffMediumTime" units="ms">
  <owner>jmadill@chromium.org</owner>
  <summary>
    The time that the GPU process spends in initializing the GL surface, and
    collecting graphics information. Records times up to three minutes.
  </summary>
</histogram>

<histogram name="GPU.InitializeOneOffTime" units="microseconds">
  <obsolete>
    Deprecated 4/2015.
  </obsolete>
  <owner>vmiura@chromium.org</owner>
  <summary>
    The time that the GPU process spends in initializing the GL surface, and
    collecting graphics information.
  </summary>
</histogram>

<histogram name="GPU.IOSurface.CATransactionTime" units="ms">
  <owner>ccameron@chromium.org</owner>
  <summary>
    The time that it took to update the CALayer tree and commit the transaction.
    This is often affected by IOSurface paging.
  </summary>
</histogram>

<histogram name="GPU.IOSurface.CreateTime" units="ms">
  <owner>ccameron@chromium.org</owner>
  <summary>
    The time that it took for a call to IOSurfaceCreate to complete.
  </summary>
</histogram>

<histogram name="GPU.IOSurface.GLFlushTime" units="ms">
  <owner>ccameron@chromium.org</owner>
  <summary>
    The time that it took for a call to glFlush to complete. This is often
    affected by IOSurface paging.
  </summary>
</histogram>

<histogram name="GPU.IOSurface.TexImageTime" units="ms">
  <owner>ccameron@chromium.org</owner>
  <summary>
    The time that it took for a call to CGLTexImageIOSurface2D to complete.
  </summary>
</histogram>

<histogram name="GPU.MaxMSAASampleCount" units="samples">
  <owner>senorblanco@chromium.org</owner>
  <summary>
    The maximum number of multisampled anti-aliasing (MSAA) samples per pixel
    that the user's GPU can render.
  </summary>
</histogram>

<histogram name="GPU.ProgramCache.CacheHit" enum="BooleanSuccess">
  <owner>jmadill@chromium.org</owner>
  <summary>
    If a successfully linked program was found in the GPU program cache during a
    program link call.
  </summary>
</histogram>

<histogram name="GPU.ShaderLoadPrefixOK" enum="BooleanMatched">
  <owner>ericrk@chromium.org</owner>
  <summary>
    Whether or not the shader prefix loaded from disk matched the expected
    prefix for the data and system configuration. False indicates either disk
    corruption or a system configuration change, and should be rare.
  </summary>
</histogram>

<histogram name="GPU.TextureRG" enum="BooleanAvailable">
  <owner>reveman@chromium.org</owner>
  <summary>
    Whether RG texture support is available. Recorded each time a new context
    group is initialized and extensions are detected.
  </summary>
</histogram>

<histogram name="Hardware.Display.Count.OnChange">
  <owner>erikchen@chromium.org</owner>
  <summary>
    The number of displays present right after the user has attached or detached
    a new display. Excludes mirrored displays, but includes sleeping displays.
  </summary>
</histogram>

<histogram name="Hardware.Display.Count.OnStartup">
  <owner>erikchen@chromium.org</owner>
  <summary>
    The number of displays present at start up. Excludes mirrored displays, but
    includes sleeping displays.
  </summary>
</histogram>

<histogram name="Hardware.Drive.HasSeekPenalty" enum="BooleanHasSeekPenalty">
  <owner>dbeam@chromium.org</owner>
  <summary>
    Whether a drive has a seek penalty (i.e. is a spinning disk). Emitted 0-2
    times shortly after startup when constructing the initial UMA log.
  </summary>
</histogram>

<histogram name="Hardware.Drive.HasSeekPenalty_Success" enum="BooleanSuccess">
  <owner>dbeam@chromium.org</owner>
  <summary>
    Whether it was possible to determine if a drive has a seek penalty. This can
    fail for various reasons (device drivers don't offer this information, the
    drive is still mounting, lack of access, etc.). Emitted twice shortly after
    startup when constructing the initial UMA log.

    Seek penalty detection is disabled on XP/Vista as of 9/24/2015 because it
    crashes too much. http://crbug.com/514822
  </summary>
</histogram>

<histogram name="Hardware.Drive.HasSeekPenalty_Time" units="ms">
  <owner>dbeam@chromium.org</owner>
  <summary>
    The amount of time it takes to determine whether a drive has a seek penalty.
    Emitted twice shortly after startup when constructing the initial UMA log.
  </summary>
</histogram>

<histogram name="Hardware.Serial.NewMinusOldDeviceListSize">
  <owner>charliea@chromium.org</owner>
  <summary>
    On Windows and Mac, we're implementing new methods to enumerate serial
    devices that provide us more information about the actual devices. This
    metric measures the difference between the number of devices that the new
    and old enumeration methods find. Once this metric gives us confidence that
    the new and old methods are at parity, we can cut out the old method
    altogether.
  </summary>
</histogram>

<histogram name="HIDDetection.OOBEDevicesDetectedOnContinuePressed"
    enum="HIDContinueScenarioType">
  <owner>merkulova@chromium.org</owner>
  <summary>
    Which HID were detected when user pressed Continue on OOBE dialog. This
    metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="HIDDetection.OOBEDialogShown">
  <owner>merkulova@chromium.org</owner>
  <summary>
    Whether HID detection dialog was shown on OOBE. Logged on screen show or on
    screen skip respectively. This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="HIDDetection.TimesDialogShownPerOOBECompleted">
  <owner>merkulova@chromium.org</owner>
  <summary>
    Records number of times the dialog was shown by the time OOBE is completed.
    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="Histogram.InconsistenciesBrowser" enum="Inconsistencies">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The number of inconsistency events found when examining a single histogram's
    data in a browser for transmission via UMA.  Inconsistent data is NOT
    transmitted via UMA.  Each type of inconsistency is a bit, and all bits
    found in one histogram examination are added together to summarize the
    inconsistent event.  Note that the same inconsistency MAY appear time and
    again as the same corrupt histogram is examined for each potenital UMA
    upload.
  </summary>
</histogram>

<histogram name="Histogram.InconsistenciesBrowserUnique" enum="Inconsistencies">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The number of inconsistency events found when examining a single histogram's
    data in a browser for transmission via UMA.  Inconsistent data is NOT
    transmitted via UMA.  Each type of inconsistency is a bit, and all bits
    found in one histogram examination are added together to summarize the
    inconsistent event.  Note that the same inconsistency will only appear at
    most one time for each histogram in a single process (i.e., duplicate
    corruption in a single histogram is not noted in this chart.)
  </summary>
</histogram>

<histogram name="Histogram.InconsistenciesChildProcess" enum="Inconsistencies">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The number of inconsistency events found when examining a single histogram's
    data in a child process for transmission via UMA.  Inconsistent data is NOT
    transmitted via UMA.  Each type of inconsistency is a bit, and all bits
    found in one histogram examination are added together to summarize the
    inconsistent event.  Note that the same inconsistency MAY appear time and
    again as the same corrupt histogram is examined for each potenital UMA
    upload.
  </summary>
</histogram>

<histogram name="Histogram.InconsistenciesChildProcessUnique"
    enum="Inconsistencies">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The number of inconsistency events found when examining a single histogram's
    data in a child process for transmission via UMA.  Inconsistent data is NOT
    transmitted via UMA.  Each type of inconsistency is a bit, and all bits
    found in one histogram examination are added together to summarize the
    inconsistent event.  Note that the same inconsistency will only appear at
    most one time for each histogram in a single process (i.e., duplicate
    corruption in a single histogram is not noted in this chart.)
  </summary>
</histogram>

<histogram name="Histogram.InconsistenciesRenderer" enum="Inconsistencies">
  <obsolete>
    Deprecated 7/2012.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The number of inconsistency events found when examining a single histogram's
    data in a renderer for transmission to the browser.  Inconsistent data is
    NOT transmitted to the browser.  Each type of inconsistency is a bit, and
    all bits found in one histogram examination are added together to summarize
    the inconsistent event.  Note that the same inconsistency MAY appear time
    and again as the same corrupt histogram is examined for each potenital UMA
    upload.
  </summary>
</histogram>

<histogram name="Histogram.InconsistenciesRendererUnique"
    enum="Inconsistencies">
  <obsolete>
    Deprecated 7/2012.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The number of inconsistency events found when examining a single histogram's
    data in a renderer for transmission to the browser.  Inconsistent data is
    NOT transmitted to the browser.  Each type of inconsistency is a bit, and
    all bits found in one histogram examination are added together to summarize
    the inconsistent event.  Note that the same inconsistency will only appear
    at most one time for each histogram in a single renderer process (i.e.,
    duplicate corruption in a single histogram is not noted in this chart.)
  </summary>
</histogram>

<histogram name="Histogram.InconsistentCountHigh">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The number of extra samples counted in the redundant_count in a histogram
    that were not found by summing the samples in the buckets.
  </summary>
</histogram>

<histogram name="Histogram.InconsistentCountLow">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The number of missing samples in the redundant_count in a histogram that
    were found by summing the samples in the buckets.
  </summary>
</histogram>

<histogram name="Histogram.InconsistentSnapshotBrowser">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The amount of discrepancy found when examining a single histogram's data in
    the browser process for transmission via UMA.  Inconsistent data is NOT
    transmitted via UMA.
  </summary>
</histogram>

<histogram name="Histogram.InconsistentSnapshotChildProcess">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The amount of discrepancy found when examining a single histogram's data in
    a child process for transmission via UMA.  Inconsistent data is NOT
    transmitted via UMA.
  </summary>
</histogram>

<histogram name="Histogram.InconsistentSnapshotRenderer">
  <obsolete>
    Deprecated 7/2012.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The amount of discrepancy found when examining a single histogram's data in
    a renderer process for transmission via UMA. Inconsistent data is NOT
    transmitted via UMA.
  </summary>
</histogram>

<histogram
    name="History.ClearBrowsingData.HistoryNoticeShownInFooterWhenUpdated"
    enum="BooleanShown">
  <owner>msramek@chromium.org</owner>
  <summary>
    Whether a notice about other forms of browsing history was shown in the
    footer of the Clear Browsing Data dialog. This is recorded every time the
    dialog is opened.
  </summary>
</histogram>

<histogram name="History.ClearBrowsingData.ImportantDeselectedNum">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Recorded when the user presses the 'clear' button when presented with the
    list of important sites they might want to exclude from clearing browsing
    data. We record the number of sites the user deselected, or protected, from
    clearing. The default has all sites selected.
  </summary>
</histogram>

<histogram name="History.ClearBrowsingData.ImportantDeselectedPercent"
    units="%/5">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Recorded when the user presses the 'clear' button when presented with the
    list of important sites they might want to exclude from clearing browsing
    data. We record the percent of sites the user deselected, or protected, from
    clearing. The default has all sites selected, which is 0%. Note: To reduce
    the number of empty buckets, the percent is divided by 5.
  </summary>
</histogram>

<histogram name="History.ClearBrowsingData.ImportantDialogShown"
    enum="BooleanShown">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Recorded when the user presses the 'clear' button in the clear browsing
    dialog. We record 'true' if the important sites dialog is shown.
  </summary>
</histogram>

<histogram name="History.ClearBrowsingData.NumImportant">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Recorded when we successfuly fetched important sites in the clear browsing
    data screen. This is the number of sites that we think are important to the
    user.
  </summary>
</histogram>

<histogram
    name="History.ClearBrowsingData.PasswordsDeletion.AdditionalDatatypesCount">
  <owner>msramek@chromium.org</owner>
  <summary>
    Recorded when the user deletes their passwords in the ClearBrowsingData
    dialog. Counts how many other data types were selected for deletion.
  </summary>
</histogram>

<histogram name="History.ClearBrowsingData.ShownHistoryNoticeAfterClearing"
    enum="BooleanShown">
  <owner>msramek@chromium.org</owner>
  <summary>
    Whether a dialog with a notice about other forms of browsing history was
    shown after the user deleted data from the Clear Browsing Data dialog.
  </summary>
</histogram>

<histogram name="History.ClearBrowsingData.UserDeletedCookieOrCache"
    enum="CookieOrCacheDeletion">
  <owner>msramek@chromium.org</owner>
  <summary>
    Recorded when the user deletes their browsing data. Shows whether cookies
    and/or cache were among the selected data types.
  </summary>
</histogram>

<histogram name="History.ClearBrowsingData.UserDeletedCookieOrCacheFromDialog"
    enum="CookieOrCacheDeletion">
  <owner>msramek@chromium.org</owner>
  <summary>
    Recorded when the user deletes their browsing data manually from the
    ClearBrowsingData dialog. Shows whether cookies and/or cache were among the
    selected data types.
  </summary>
</histogram>

<histogram name="History.DatabaseAdvancedMetricsTime" units="ms">
  <owner>shess@chromium.org</owner>
  <summary>
    Time spent on advanced History DB metrics calculation (weekly and monthly
    URL, host, and category counts). Advanced metrics are logged on
    initialization of the History DB on 0.3% of starts.
  </summary>
</histogram>

<histogram name="History.DatabaseBasicMetricsTime" units="ms">
  <owner>shess@chromium.org</owner>
  <summary>
    Time spent on basic History DB metrics calculation (file size and table
    counts). Basic metrics are logged on initialization of the History DB on 1%
    of starts.
  </summary>
</histogram>

<histogram name="History.DatabaseFileMB" units="MB">
  <owner>shess@chromium.org</owner>
  <summary>
    Size of History DB file. Duplicate of Profile.HistorySize and
    Sqlite.SizeKB.History. Logged on initialization of the History DB on 1% of
    starts.
  </summary>
</histogram>

<histogram name="History.DeleteFTSIndexDatabases">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Count of &quot;History Index *&quot; databases deleted.  These databases
    stored the full-text-search data for history, which was removed at r213442,
    this histogram tracks cleanup.
  </summary>
</histogram>

<histogram name="History.FaviconDatabaseAdvancedMetricsTime" units="ticks">
  <owner>rogerm@chromium.org</owner>
  <summary>
    The wall-clock time taken to gather favicon database metrics. Metrics are
    logged on initialization of the Favicon DB on 1% of starts.
  </summary>
</histogram>

<histogram name="History.FaviconDatabaseSizeMB" units="MB">
  <owner>rogerm@chromium.org</owner>
  <summary>
    Size of the Favicons database in MB. This is calculated as the number of
    pages consumed by the database multiplied by the page size. Logged on
    initialization of the Favicon DB on 1% of starts.
  </summary>
</histogram>

<histogram name="History.FaviconsRecoveredPercentage" units="%">
  <obsolete>
    No longer tracked as of March 2017.
  </obsolete>
  <owner>rpop@google.com</owner>
  <summary>
    Size of the recovered Favicons database relative to the original corrupt
    database.  Recovery is VACUUM-like, so the resulting database should always
    be smaller.  Substantial 100% results would indicate empty databases being
    recovered, substantial low% results would indicate very little data being
    recovered.
  </summary>
</histogram>

<histogram name="History.FaviconsRecoveredRowsFaviconBitmaps">
  <obsolete>
    No longer tracked as of March 2017.
  </obsolete>
  <owner>rpop@google.com</owner>
  <summary>
    Rows recovered from [favicon_bitmaps] table in Favicons recovery.
  </summary>
</histogram>

<histogram name="History.FaviconsRecoveredRowsFavicons">
  <obsolete>
    No longer tracked as of March 2017.
  </obsolete>
  <owner>rpop@google.com</owner>
  <summary>Rows recovered from [favicons] table in Favicons recovery.</summary>
</histogram>

<histogram name="History.FaviconsRecoveredRowsIconMapping">
  <obsolete>
    No longer tracked as of March 2017.
  </obsolete>
  <owner>rpop@google.com</owner>
  <summary>
    Rows recovered from [icon_mapping] table in Favicons recovery.
  </summary>
</histogram>

<histogram name="History.FaviconsRecovery" enum="HistoryFaviconsRecoveryEnum">
  <obsolete>
    No longer tracked as of March 2017.
  </obsolete>
  <owner>rpop@google.com</owner>
  <summary>
    Track results of SQLite database recovery code in thumbnail_database.cc.
  </summary>
</histogram>

<histogram name="History.FirstSetTopSitesDeltaSize">
  <owner>yiyaoliu@chromium.org</owner>
  <summary>
    The count of differences between cached top sites and up-to-date top sites
    when function TopSitesImpl::SetTopSites is firstly called at startup.
  </summary>
</histogram>

<histogram name="History.FirstUpdateTime" units="ms">
  <owner>yiyaoliu@chromium.org</owner>
  <summary>
    The amount of time for function
    history::TopSitesBackend::UpdateTopSitesOnDBThread to execute when this
    function is called during startup. Excludes the case where local
    TopSitesDatabase db_ is unavailable, i.e. where the update doesn't really
    happen.
  </summary>
</histogram>

<histogram name="History.HistoryPageView" enum="HistoryPageView">
  <owner>calamity@chromium.org</owner>
  <summary>
    The page of the MD History page shown to the user. Logged each time the user
    loads the MD History page or switches pages.
  </summary>
</histogram>

<histogram name="History.HistoryServiceInitTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during HistoryService::Init.
  </summary>
</histogram>

<histogram name="History.InMemoryDBItemCount">
  <owner>gab@chromium.org</owner>
  <summary>
    The number of typed URLs in the history database that are read into the
    &quot;in memory&quot; history database. This in memory copy of the typed
    URLs is used for synchronous inline autocomplete on the UI thread, while the
    larger slower service is run off of disk on a background thread. Recorded on
    profile open.
  </summary>
</histogram>

<histogram name="History.InMemoryDBKeywordTermsCount">
  <owner>gab@chromium.org</owner>
  <summary>
    Number of items in in-memory keyword_search_terms table. Recorded on profile
    open.
  </summary>
</histogram>

<histogram name="History.InMemoryDBKeywordTermsPopulate" units="ms">
  <owner>gab@chromium.org</owner>
  <summary>
    Time to load in-memory keyword_search_terms table from disk. Recorded on
    profile open.
  </summary>
</histogram>

<histogram name="History.InMemoryDBKeywordURLItemCount">
  <owner>gab@chromium.org</owner>
  <summary>
    Number of items in in-memory urls table. Recorded on profile open.
  </summary>
</histogram>

<histogram name="History.InMemoryDBKeywordURLPopulate" units="ms">
  <owner>gab@chromium.org</owner>
  <summary>
    Time to load in-memory urls table from disk urls table. Recorded on profile
    open.
  </summary>
</histogram>

<histogram name="History.InMemoryDBPopulate">
  <owner>gab@chromium.org</owner>
  <summary>
    The time it takes to read the typed URLs from the main history database into
    the &quot;in memory&quot; history database. This in memory copy of the typed
    URLs is used for synchronous inline autocomplete on the UI thread, while the
    larger slower service is run off of disk on a background thread. Recorded on
    profile open.
  </summary>
</histogram>

<histogram name="History.InMemoryTypedUrlVisitCount">
  <owner>gab@chromium.org</owner>
  <summary>
    The sum of the visit_count fields for all URLs in the &quot;in memory&quot;
    history database. This corresponds to the number of times the user has
    visited the typed URLs in the last 30 days (excluding page reloads, since
    the history database does not increment the visit_count in that case).
    Recorded on profile open.
  </summary>
</histogram>

<histogram name="History.InMemoryURLCacheSize" units="bytes">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Size of on-disk cache for in-memory url index. Recorded on profile open when
    restoring from a cache file.
  </summary>
</histogram>

<histogram name="History.InMemoryURLChars">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Number of items in the in-memory url index char_word_map_. Recorded on
    profile open when restoring from a cache file and again shortly after
    profile open when rebuilding the in-memory url index from history.
  </summary>
</histogram>

<histogram name="History.InMemoryURLHistoryItems">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Number of history items in the in-memory url index. Recorded on profile open
    when restoring from a cache file and again shortly after profile open when
    rebuilding the in-memory url index from history.
  </summary>
</histogram>

<histogram name="History.InMemoryURLIndexingTime" units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Time to rebuild in-memory url index from main history database. Recorded
    once shortly after profile open.
  </summary>
</histogram>

<histogram name="History.InMemoryURLIndexRestoreCacheTime" units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Time to restore the in-memory url index from disk cache. Recorded on profile
    open.
  </summary>
</histogram>

<histogram name="History.InMemoryURLIndexSaveCacheTime" units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Time to write in-memory url index to disk cache. Recorded once shortly after
    profile open (after rebuilding the in-memory url index from history) and
    again upon (clean) shutdown.
  </summary>
</histogram>

<histogram name="History.InMemoryURLWords">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Number of items in in-memory url index word_map_. Recorded on profile open
    when restoring from a cache file and again shortly after profile open when
    rebuilding the in-memory url index from history.
  </summary>
</histogram>

<histogram name="History.MonthlyHostCount">
  <owner>shess@chromium.org</owner>
  <summary>
    Unique hostnames in History database urls table with last-visit times in the
    last 30 days. Metrics are logged on initialization of the History DB on 0.3%
    of starts.
  </summary>
</histogram>

<histogram name="History.MonthlyURLCount">
  <owner>shess@chromium.org</owner>
  <summary>
    Unique URLs in History database urls table with last-visit times in the last
    30 days. Metrics are logged on initialization of the History DB on 0.3% of
    starts.
  </summary>
</histogram>

<histogram name="History.MonthlyVisitCount">
  <owner>shess@chromium.org</owner>
  <summary>
    Number of rows in History visits table with visit times in the last 30 days.
    Metrics are logged on initialization of the History DB on 1% of starts.
  </summary>
</histogram>

<histogram name="History.NumFaviconBitmapsInDB">
  <owner>rogerm@chromium.org</owner>
  <summary>
    The total number of favicon bitmaps (of all sizes) cached in a user's
    Favicon database. A given favicon URL may be associated with multiple
    bitmaps (of different sizes). Logged on initialization of the Favicon DB on
    1% of starts.
  </summary>
</histogram>

<histogram name="History.NumFaviconMappingsInDB">
  <owner>rogerm@chromium.org</owner>
  <summary>
    The number of page URL (e.g., http://www.google.com) to favicon URL (e.g.,
    http://www.google.com/favicon.ico) mappings stored in a user's Favicon
    database. Logged on initialization of the Favicon DB on 1% of starts.
  </summary>
</histogram>

<histogram name="History.NumFaviconsInDB">
  <owner>rogerm@chromium.org</owner>
  <summary>
    The total number of favicon URLs (e.g. http://www.google.com/favicon.ico)
    tracked in a user's Favicon database. This metric tracks knowledge of a
    favicon URL not whether there are cached bitmaps for that favicon URL. See
    History.NumFaviconBitmapsInDB for that. Logged on initialization of the
    Favicon DB on 1% of starts.
  </summary>
</histogram>

<histogram name="History.NumLargeFaviconBitmapsInDB">
  <owner>rogerm@chromium.org</owner>
  <summary>
    The total number of large (&gt;= 64 pixels wide) favicons being tracked in a
    user's Favicon database. This is a subset of History.NumFaviconBitmapsInDB,
    which includes all sizes in its count. Logged on initialization of the
    Favicon DB on 1% of starts.
  </summary>
</histogram>

<histogram name="History.NumTouchIconsInDB">
  <owner>rogerm@chromium.org</owner>
  <summary>
    The total number of touch icons being tracked in a user's Favicon database.
    This is a subset of History.NumFaviconsInDB, which includes all icon types
    in its count. Logged on initialization of the Favicon DB on 1% of starts.
  </summary>
</histogram>

<histogram name="History.ResultsRenderedTime" units="ms">
  <owner>tsergeant@chromium.org</owner>
  <summary>
    Records the time taken to load the history Web UI and render (at least) a
    screen full of items. This is roughly equivalent to 'time to first
    meaningful paint' for the history page.
  </summary>
</histogram>

<histogram name="History.ShownHeaderAboutOtherFormsOfBrowsingHistory"
    enum="BooleanShown">
  <owner>msramek@chromium.org</owner>
  <summary>
    Whether the notice about other forms of browsing history was shown in the
    header of the History page when the header was displayed. The header is
    refreshed with every history query.
  </summary>
</histogram>

<histogram name="History.TopHostsVisitsByRank" units="rank">
  <owner>twifkak@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Page visits to each of a user's top 50 hosts. The bucket is the 1-based rank
    of the host. Visits to all other hosts go into the 51st bucket.
    Android-only. Only counts the last URL in a redirect chain. The list of top
    hosts is computed approximately nightly. This means that a given day will
    likely include a recalculation of top hosts, and therefore a given bucket
    may represent two different hosts at different times of day.
  </summary>
</histogram>

<histogram name="History.TopSitesRecoveredPercentage" units="%">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Size of the recovered TopSites database relative to the original corrupt
    database.  Recovery is VACUUM-like, so the resulting database should always
    be smaller.  Substantial 100% results would indicate empty databases being
    recovered, substantial low% results would indicate very little data being
    recovered.
  </summary>
</histogram>

<histogram name="History.TopSitesRecoveredRowsThumbnails">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Rows recovered from [thumbnails] table in TopSites recovery.
  </summary>
</histogram>

<histogram name="History.TopSitesRecovery" enum="HistoryTopSitesRecoveryEnum">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The TopSites recovery code is written conservatively, with successful
    recovery committed and any failure leading to rollback. This tracks the
    outcomes to determine which cases are high-frequency enough to warrant
    adding additional code to handle them (versus simply deleting the data).
  </summary>
</histogram>

<histogram name="History.TopSitesVisitsByRank" units="rank">
  <obsolete>
    Deprecated as of 11/2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page visits to each of a user's top 50 sites. Visits to all other sites go
    into the 51st bucket. Only count the page visit if it came from user
    browsing and only count it once when cycling through a redirect chain.
  </summary>
</histogram>

<histogram name="History.UpdateTopSitesOnDBThreadTime" units="ms">
  <obsolete>
    Deprecated because only the execution time at startup is of interest. See
    histogram History.UpdateTopSitesOnDBThread_Startup_Time.
  </obsolete>
  <owner>yiyaoliu@chromium.org</owner>
  <summary>
    The amount of time for function
    history::TopSitesBackend::UpdateTopSitesOnDBThread to execute. Excludes the
    case where local TopSitesDatabase db_ is unavailable, i.e. where the update
    doesn't really happen.
  </summary>
</histogram>

<histogram name="History.URLTableCount">
  <owner>shess@chromium.org</owner>
  <summary>
    Number of rows in urls table in History DB. Metrics are logged on
    initialization of the History DB on 1% of starts.
  </summary>
</histogram>

<histogram name="History.VisitTableCount">
  <owner>shess@chromium.org</owner>
  <summary>
    Number of rows in visits table in History DB. Metrics are logged on
    initialization of the History DB on 1% of starts.
  </summary>
</histogram>

<histogram name="History.WeeklyHostCount">
  <owner>shess@chromium.org</owner>
  <summary>
    Unique hostnames in History database urls table with last-visit times in the
    last 7 days. Metrics are logged on initialization of the History DB on 0.3%
    of starts.
  </summary>
</histogram>

<histogram name="History.WeeklyURLCount">
  <owner>shess@chromium.org</owner>
  <summary>
    Unique URLs in History database urls table with last-visit times in the last
    7 days. Metrics are logged on initialization of the History DB on 0.3% of
    starts.
  </summary>
</histogram>

<histogram name="History.WeeklyVisitCount">
  <owner>shess@chromium.org</owner>
  <summary>
    Number of rows in History visits table with visit times in the last 7 days.
    Metrics are logged on initialization of the History DB on 1% of starts.
  </summary>
</histogram>

<histogram name="HistoryPage.ClickPosition">
  <owner>rpop@google.com</owner>
  <summary>
    Number of entries that the clicked entry is older than in History page. Last
    bucket is any entry of that value or higher.
  </summary>
</histogram>

<histogram name="HistoryPage.ClickPositionSubset">
  <owner>rpop@google.com</owner>
  <summary>
    Subset of the Click Position histogram. Contains only the first smaller
    subset of entries on the page. Number of entries that the clicked entry is
    older than in History page. Last bucket is entries of that value or higher.
  </summary>
</histogram>

<histogram name="HistoryPage.OtherDevicesMenu" enum="OtherSessionsActions">
  <owner>mad@chromium.org</owner>
  <owner>rpop@google.com</owner>
  <summary>
    Histogram for usage of the section in the history page that allows the user
    to access tabs from other devices.
  </summary>
</histogram>

<histogram name="HistoryPage.RemoveEntryPosition">
  <owner>rpop@google.com</owner>
  <summary>
    Number of entries that the deleted entry is older than in History page. Last
    bucket is any entry of that value or higher. Confirmed removal is not
    guaranteed, just an initiation of 'Remove selected items'.
  </summary>
</histogram>

<histogram name="HistoryPage.RemoveEntryPositionSubset">
  <owner>rpop@google.com</owner>
  <summary>
    Subset of Remove Entry Position histogram. Contains only the first smaller
    subset of entries on the page. Number of entries that the deleted entry is
    older than in History page. Last bucket is any entry of that value or
    higher. Confirmed removal is not guaranteed, just an initiation of 'Remove
    selected items'.
  </summary>
</histogram>

<histogram name="Hotword.AudioLoggingEnabled" enum="BooleanEnabled">
  <owner>rlp@chromium.org</owner>
  <summary>
    The state of the hotword audio logging preference. This value is emitted
    each time the hotword availability is requested by the extension if the user
    is also opted in to hotword voice search. This check typically happens each
    time a hotword search is initiated.
  </summary>
</histogram>

<histogram name="Hotword.Enabled" enum="HotwordPrefState">
  <owner>rlp@chromium.org</owner>
  <summary>
    The state of the hotword preference. This value is emitted during
    HotwordService initialization which happens during Profile initialization.
  </summary>
</histogram>

<histogram name="Hotword.ExtensionAvailability" enum="HotwordAvailability">
  <owner>rlp@chromium.org</owner>
  <summary>
    Whether the external component hotword extension exists (i.e., not pending
    download, disabled, etc.). This value is emitted each time the hotword
    availability is requested by the extension which typically happens each time
    a hotword search is initiated.
  </summary>
</histogram>

<histogram name="Hotword.HotwordError" enum="HotwordError">
  <owner>rlp@chromium.org</owner>
  <summary>
    Errors reported by the hotword service when determining if hotwording is
    available. Non-errors are also reported so that errors can be seen as a
    percentage of total requests.
  </summary>
</histogram>

<histogram name="Hotword.HotwordMediaStreamResult"
    enum="HotwordMediaStreamResult">
  <owner>amistry@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <owner>somast@chromium.org</owner>
  <summary>
    Success or error when attempting to open a MediaStream for the microphone.
    At most one success or error will be logged for an attempt to open a stream.
  </summary>
</histogram>

<histogram name="Hotword.HotwordNaClMessageTimeout"
    enum="HotwordNaClMessageTimeout">
  <owner>amistry@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <owner>somast@chromium.org</owner>
  <summary>
    Timeout occured while waiting for a message from the NaCl hotword detector
    plugin. This value is the message that was expected to be received from the
    plugin.
  </summary>
</histogram>

<histogram name="Hotword.HotwordNaClPluginLoadResult"
    enum="HotwordNaClPluginLoadResult">
  <owner>amistry@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <owner>somast@chromium.org</owner>
  <summary>
    Success or error when attempting to load the NaCl hotword detector plugin.
  </summary>
</histogram>

<histogram name="Hotword.HotwordTriggerSource" enum="HotwordTriggerSource">
  <owner>amistry@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <owner>somast@chromium.org</owner>
  <summary>
    Location of hotword trigger. Emitted every time the hotword is triggered by
    the user saying 'Ok Google'.
  </summary>
</histogram>

<histogram name="Hotword.SharedModuleReinstallLanguage" enum="LanguageCode">
  <owner>amistry@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <owner>somast@chromium.org</owner>
  <summary>
    Language, switched to by the user, that triggered a hotword shared module
    reinstall.
  </summary>
</histogram>

<histogram name="HttpCache.AccessToDone" units="ms">
  <owner>gavinp@chromium.org</owner>
  <summary>
    For every http cache transaction with a pattern (see HttpCache.Pattern), the
    time from the first access to the disk cache until the transaction was done.
  </summary>
</histogram>

<histogram name="HttpCache.AsyncValidationDuration" units="ms">
  <obsolete>
    Deprecated as of 3/2015.
  </obsolete>
  <owner>ricea@chromium.org</owner>
  <summary>
    The time spent performing an asynchronous revalidation that was triggered by
    a Cache-Control: stale-while-revalidate directive. This is recorded when the
    asynchronous revalidation completes, either after the response was
    completely read or an error occurred. One entry is recorded for each
    asynchronous revalidation that is performed.
  </summary>
</histogram>

<histogram name="HttpCache.BeforeSend" units="ms">
  <owner>gavinp@chromium.org</owner>
  <summary>
    For http cache transactions in which a network request was sent, the time
    elapsed between beginning the request and sending it over the network; this
    is the time spent accessing the disk cache.
  </summary>
</histogram>

<histogram name="HttpCache.CantConditionalizeCause"
    enum="HttpCacheValidationCause">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    For each request that results in an unconditionalizable network request, the
    cause for the request.
  </summary>
</histogram>

<histogram name="HttpCache.EntryLockWait" units="ms">
  <owner>jkarlin@chromium.org</owner>
  <owner>gavinp@chromium.org</owner>
  <summary>
    The time spent waiting for write lock on a disk cache entry.
  </summary>
</histogram>

<histogram name="HttpCache.ExternallyConditionalized"
    enum="ExternallyConditionalizedType">
  <obsolete>
    stale-while-revalidate implementation removed for now, see
    https://crbug.com/700568.
  </obsolete>
  <owner>ricea@chromium.org</owner>
  <summary>
    Count of the number of external (ie. from Blink) conditionalized requests,
    and whether or not those requests could have been served from the browser
    cache.
  </summary>
</histogram>

<histogram name="HttpCache.OfflineStatus" enum="OfflineStatus">
  <obsolete>
    Deprecated 4/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Result of a main page HttpCacheTransaction if offline mode had been enabled.
  </summary>
</histogram>

<histogram name="HttpCache.Pattern" enum="HttpCachePattern">
  <owner>gavinp@chromium.org</owner>
  <owner>jkarlin@chromium.org</owner>
  <summary>For each http cache transaction, the recorded pattern.</summary>
</histogram>

<histogram name="HttpCache.PercentBeforeSend" units="%">
  <owner>gavinp@chromium.org</owner>
  <summary>
    For http cache transactions in which a network request was sent, the
    percentage of total request time that elapsed before sending the request
    over the network; this is the time spent accessing the disk cache.
  </summary>
</histogram>

<histogram name="HttpCache.ReadErrorNonRestartable" enum="NetErrorCodes">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Net error results from non-restartable cache read errors.</summary>
</histogram>

<histogram name="HttpCache.ReadErrorRestartable" enum="NetErrorCodes">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Net error results from restartable cache read errors.</summary>
</histogram>

<histogram name="HttpCache.StaleEntry.FreshnessPeriodsSinceLastUsed">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    For each http cache transaction for which a cache entry exists but it cannot
    be used because the entry's age is beyond its freshness: counts how many
    freshness periods have elapsed since the entry was last used (x1000).
  </summary>
</histogram>

<histogram name="HttpCache.StaleEntry.Updated.Age" units="seconds">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    For each http cache transaction for which a validation attempt is made due
    to a stale entry and is updated (e.g., 200), records the age of the entry in
    seconds.
  </summary>
</histogram>

<histogram name="HttpCache.StaleEntry.Updated.AgeInFreshnessPeriods" units="%">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    For each http cache transaction for which a validation attempt is made due
    to a stale entry and is updated (e.g., 200), records the age of the entry as
    percentage of freshness period.
  </summary>
</histogram>

<histogram name="HttpCache.StaleEntry.Validated.Age" units="seconds">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    For each http cache transaction for which a validation attempt is made due
    to a stale entry and is validated (304), records the age of the entry in
    seconds.
  </summary>
</histogram>

<histogram name="HttpCache.StaleEntry.Validated.AgeInFreshnessPeriods"
    units="%">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    For each http cache transaction for which a validation attempt is made due
    to a stale entry and is validated (304), records the age of the entry as
    percentage of freshness period.
  </summary>
</histogram>

<histogram name="HttpCache.ValidationCause" enum="HttpCacheValidationCause">
  <owner>jkarlin@chromium.org</owner>
  <summary>For each validation attempt, the cause for the validation.</summary>
</histogram>

<histogram name="HttpCache.Vary" enum="VaryType">
  <obsolete>
    Deprecated as of 11/2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The type of Vary header for a given GET response.</summary>
</histogram>

<histogram name="Hyphenation.Open" units="ms">
  <owner>kojii@chromium.org</owner>
  <summary>The time it takes to open a hyphenation dictionary.</summary>
</histogram>

<histogram name="Hyphenation.Open.File" units="ms">
  <owner>kojii@chromium.org</owner>
  <summary>The time it takes to open a hyphenation dictionary file.</summary>
</histogram>

<histogram name="Import.ImportedHistorySize.AutoImportFromIE" units="urls">
  <owner>gcomanici@chromium.org</owner>
  <summary>
    The size of the history on Auto Import from IE. This measure is only logged
    on a succesfull Auto Import.
  </summary>
</histogram>

<histogram name="Import.ImporterType.AutoImport" enum="ImporterType">
  <owner>gab@chromium.org</owner>
  <summary>The importer used on first run Auto Import.</summary>
</histogram>

<histogram name="Import.ImporterType.BookmarksAPI" enum="ImporterType">
  <owner>gab@chromium.org</owner>
  <summary>The importer used on import from the bookmarks file API.</summary>
</histogram>

<histogram name="Import.ImporterType.ImportDataHandler" enum="ImporterType">
  <owner>gab@chromium.org</owner>
  <summary>
    The importer used on import from the chrome://settings/importData UI.
  </summary>
</histogram>

<histogram name="Import.ShowDialog.FromBookmarkBarView" units="seconds">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The amount of time from install time to time that user opens import dialog
    from BookmarkBarView.
  </summary>
</histogram>

<histogram name="Import.ShowDialog.FromFloatingBookmarkBarView" units="seconds">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The amount of time from install time to time that user opens import dialog
    from NTP floating BookmarkBarView.
  </summary>
</histogram>

<histogram name="Import_ShowDlg.FromBookmarkBarView" units="seconds">
  <obsolete>
    Deprecated and replaced by Import.ShowDialog.FromBookmarkBarView
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The amount of time from install time to time that user opens import dialog
    from BookmarkBarView.
  </summary>
</histogram>

<histogram name="Import_ShowDlg.FromFloatingBookmarkBarView" units="seconds">
  <obsolete>
    Deprecated and replaced by Import.ShowDialog.FromFloatingBookmarkBarView
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The amount of time from install time to time that user opens import dialog
    from NTP floating BookmarkBarView.
  </summary>
</histogram>

<histogram name="ImportantFile.TempFileFailures" enum="TempFileFailure">
  <owner>rvargas@chromium.org</owner>
  <summary>
    Count of various failures in ImportantFileWrite when manipulating a temp
    file to write to before moving it into place (replacing another file).
  </summary>
</histogram>

<histogram name="IncognitoModePrefs.WindowsParentalControlsInitThread"
    enum="ThreadType">
  <owner>robliao@chromium.org</owner>
  <summary>
    The thread used to initialize the Windows parental controls.
  </summary>
</histogram>

<histogram name="IncognitoModePrefs.WindowsParentalControlsInitTime" units="ms">
  <owner>robliao@chromium.org</owner>
  <summary>
    The amount of time that elapsed during a run of
    PlatformParentalControlsValue::IsParentalControlActivityLoggingOnImpl on
    Windows 7 and above.
  </summary>
</histogram>

<histogram name="InertialSensor.AccelerometerAndroidAvailable"
    enum="BooleanAvailable">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Whether the Sensor.TYPE_LINEAR_ACCELERATION was available at the start of
    Device Motion.
  </summary>
</histogram>

<histogram name="InertialSensor.AccelerometerIncGravityAndroidAvailable"
    enum="BooleanAvailable">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Whether the Sensor.TYPE_ACCELEROMETER was available at the start of Device
    Motion.
  </summary>
</histogram>

<histogram name="InertialSensor.AccelerometerWindowsAvailable"
    enum="BooleanAvailable">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Whether the SENSOR_TYPE_ACCELEROMETER_3D was available at the start of
    Device Motion on the Windows platform.
  </summary>
</histogram>

<histogram name="InertialSensor.DeviceOrientationSensorAndroid"
    enum="DeviceOrientationSensorTypeAndroid">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Provides a histogram of the base sensors (if any) that are used at the start
    of the Device Orientation API. Currently Sensor.TYPE_GAME_ROTATION_VECTOR is
    the default sensor for orientation, if it's not available fall-back options
    are provided by using either Sensor.TYPE_ROTATION_VECTOR or a combination of
    Sensor.TYPE_ACCELEROMETER and Sensor.TYPE_MAGNETIC_FIELD.
  </summary>
</histogram>

<histogram name="InertialSensor.GyrometerWindowsAvailable"
    enum="BooleanAvailable">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Whether the SENSOR_TYPE_GYROMETER_3D was available at the start of Device
    Motion on the Windows platform.
  </summary>
</histogram>

<histogram name="InertialSensor.GyroscopeAndroidAvailable"
    enum="BooleanAvailable">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Whether the Sensor.TYPE_GYROSCOPE was available at the start of Device
    Motion.
  </summary>
</histogram>

<histogram name="InertialSensor.InclinometerWindowsAvailable"
    enum="BooleanAvailable">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Whether the SENSOR_TYPE_INCLINOMETER_3D was available at the start of Device
    Orientation on the Windows platform.
  </summary>
</histogram>

<histogram name="InertialSensor.MotionDefaultAvailable" enum="BooleanAvailable">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    This histogram counts the number of Device Motion API invocations in the
    default implementation (Linux and CrOS). The default implementation does not
    provide any sensors so the result is always false.
  </summary>
</histogram>

<histogram name="InertialSensor.MotionMacAvailable" enum="BooleanAvailable">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Whether the sudden motion sensor was available at the start of Device Motion
    on the MacOS platform.
  </summary>
</histogram>

<histogram name="InertialSensor.OrientationDefaultAvailable"
    enum="BooleanAvailable">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    This histogram counts the number of Device Orientation API invocations in
    the default implementation (Linux and CrOS). The default implementation does
    not provide any sensors so the result is always false.
  </summary>
</histogram>

<histogram name="InertialSensor.OrientationMacAvailable"
    enum="BooleanAvailable">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Whether the sudden motion sensor was available at the start of Device
    Orientation on the MacOS platform.
  </summary>
</histogram>

<histogram name="InertialSensor.RotationVectorAndroidAvailable"
    enum="BooleanAvailable">
  <obsolete>
    Deprecated 11/2014 (crbug.com/347507). Replaced by
    InertialSensor.DeviceOrientationSensorAndroid.
  </obsolete>
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Whether the Sensor.TYPE_ROTATION_VECTOR was available at the start of Device
    Orientation.
  </summary>
</histogram>

<histogram name="InfoBar.Shown" enum="InfoBarIdentifier">
  <owner>dfalcantara@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    Records how many times a particular infobar was shown to the user. On
    Android, the infobar may be partially hidden due to stacking. On desktop, a
    tab with a visible infobar will increment this histogram every time the user
    switches away from the tab and back to it with the infobar still visible.
  </summary>
</histogram>

<histogram name="InfoBar.Shown.Hidden" enum="InfoBarIdentifier">
  <owner>dfalcantara@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    Records how many times a particular infobar was displayed in a hidden state
    due to at least one other infobar existing. If there are no existing
    infobars, but the user scrolls at the exact moment a new infobar is added,
    the infobar may be hidden, but not recorded in this metric. Reliably
    triggering and detecting this combination is tricky so it isn't done. Only
    recorded on Android.
  </summary>
</histogram>

<histogram name="InfoBar.Shown.Hiding" enum="InfoBarIdentifier">
  <owner>dfalcantara@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    Records how many times a particular infobar was visible and hiding a new
    infobar behind it. Only recorded on Android.
  </summary>
</histogram>

<histogram name="InfoBar.Shown.Visible" enum="InfoBarIdentifier">
  <owner>dfalcantara@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    Records how many times a particular infobar was displayed in a visible state
    due to no other infobars existing. If there are no existing infobars, but
    the user scrolls at the exact moment a new infobar is added, the infobar may
    be hidden, but recorded here as visible. Reliably triggering and detecting
    this combination is tricky so it isn't done. Only recorded on Android.
  </summary>
</histogram>

<histogram name="InputMethod.ActiveCount">
  <owner>shuchen@chromium.org</owner>
  <summary>
    The number of active input methods. Recorded when the user logs in to Chrome
    OS or each cold start of Chrome on Android. The active input methods are
    selected by user in the language settings page on Chrome OS and in system
    language settings on Android.
  </summary>
</histogram>

<histogram name="InputMethod.AutoCorrectLevel" enum="IMECorrectionLevel">
  <owner>shuchen@chromium.org</owner>
  <summary>The auto-correction level for suggestion engine.</summary>
</histogram>

<histogram name="InputMethod.Category" enum="InputMethodCategory">
  <owner>shuchen@chromium.org</owner>
  <summary>
    The breakdown of input method usage by input method category. Recorded when
    the system changes the current input method.
  </summary>
</histogram>

<histogram name="InputMethod.Commit.Index">
  <owner>shuchen@chromium.org</owner>
  <summary>
    The suggestion index (1-based) of the suggestion list item which user
    chooses to commit.
  </summary>
</histogram>

<histogram name="InputMethod.Commit.Type" enum="IMECommitType">
  <obsolete>
    Deprecated 03/2015, and replaced by InputMethod.Commit.Type2.
  </obsolete>
  <owner>shuchen@chromium.org</owner>
  <summary>
    The suggestion accuracy type which the user chooses to commit.
  </summary>
</histogram>

<histogram name="InputMethod.Commit.Type2" enum="IMECommitType2">
  <owner>shuchen@chromium.org</owner>
  <summary>
    The suggestion accuracy type which the user chooses to commit.
  </summary>
</histogram>

<histogram name="InputMethod.CommitLength">
  <owner>shuchen@chromium.org</owner>
  <summary>The number of characters committed with composition text.</summary>
</histogram>

<histogram name="InputMethod.ID" enum="InputMethodID">
  <obsolete>
    This is deprecated since M46, InputMethod.ID2 is used since then.
  </obsolete>
  <owner>shuchen@chromium.org</owner>
  <summary>
    The breakdown of input method usage by input method IDs. Recorded when the
    user presses keys on physical or on-screen keyboard.
  </summary>
</histogram>

<histogram name="InputMethod.ID2" enum="InputMethodID2">
  <owner>shuchen@chromium.org</owner>
  <summary>
    The breakdown of input method usage by input method IDs. Recorded when the
    user presses keys on physical or on-screen keyboard.
  </summary>
</histogram>

<histogram name="InputMethod.ImeMenu.ActivationChanged"
    enum="BooleanActivation">
  <owner>azurewei@chromium.org</owner>
  <owner>shuchen@chromium.org</owner>
  <summary>
    Whether the opt-in IME menu in the shelf has been activated.
  </summary>
</histogram>

<histogram name="InputMethod.ImeMenu.EmojiHandwritingVoiceButton"
    enum="ImeMenuButtonType">
  <owner>azurewei@chromium.org</owner>
  <owner>shuchen@chromium.org</owner>
  <summary>
    The number of times users click emoji, handwriting or voice button in opt-in
    IME menu.
  </summary>
</histogram>

<histogram name="InputMethod.ImeSwitch" enum="IMESwitchType">
  <owner>shuchen@chromium.org</owner>
  <summary>The trigger type of input method switches by user.</summary>
</histogram>

<histogram name="InputMethod.MatchesSystemLanguage" enum="BooleanMatched">
  <owner>aurimas@chromium.org</owner>
  <summary>
    Whether the currently selected keyboard language matches the system
    language. Recorded once with every cold start of Chrome for Android.
  </summary>
</histogram>

<histogram name="InputMethod.PkCommit.Index">
  <owner>shuchen@chromium.org</owner>
  <summary>
    The suggestion index (1-based) of the suggestion list item which user
    chooses to commit for physical keyboard autocorrect.
  </summary>
</histogram>

<histogram name="InputMethod.PkCommit.Type" enum="IMECommitType2">
  <owner>shuchen@chromium.org</owner>
  <summary>
    The suggestion accuracy type which the user chooses to commit for physical
    keyboard autocorrect.
  </summary>
</histogram>

<histogram name="InputMethod.RegisterProxyView" enum="IMERegisterProxyView">
  <owner>changwan@chromium.org</owner>
  <summary>The result of registering proxy view to InputMethodManager.</summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.BackspaceCount">
  <owner>shuchen@chromium.org</owner>
  <summary>
    The number of times the backspace key was pressed on the virtual keyboard,
    while the virtual keyboard was alive. Recorded when the virtual keyboard is
    closed.
  </summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.BackspaceOnLayout"
    enum="IMEVKLayout">
  <owner>shuchen@chromium.org</owner>
  <summary>
    The layout type of the virtual keyboard, recorded when backspace is pressed.
  </summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.BackwardsMovesPerSwipe"
    units="moves">
  <owner>rsadam@chromium.org</owner>
  <summary>
    ChromeOS histogram that counts the number of times the cursor was moved to
    the previous word by swiping backwards on the selection track. The count is
    initialized when the user starts swiping from any side of the virtual
    keyboard, incremented based on how far they swipe backwards on the selection
    track, and recorded when they release their finger.
  </summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.CharactersBetweenBackspaces">
  <owner>rsadam@chromium.org</owner>
  <summary>
    Counts the length of text typed by the virtual keyboard between each
    backspace. This metric provides a rough approximation of an error rate for
    the virtual keyboard.
  </summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.CharactersCommitted">
  <owner>rsadam@chromium.org</owner>
  <summary>
    The total number of characters committed. Recorded when the virtual keyboard
    is closed.
  </summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.Duration" units="seconds">
  <owner>shuchen@chromium.org</owner>
  <summary>How long the virtual keyboard was visible.</summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.GestureTypingEvent"
    enum="IMEGestureTypingEvent">
  <owner>girard@chromium.org</owner>
  <summary>Text input events related to gesture typing.</summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.InitLatency" units="ms">
  <owner>shuchen@chromium.org</owner>
  <summary>
    The on-screen keyboard initialization latency in milliseconds.
  </summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.Layout" enum="IMEVKLayout">
  <owner>shuchen@chromium.org</owner>
  <summary>
    The layout of the on-screen keyboard. Logged when the specific layout is
    shown.
  </summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.LayoutSwitch">
  <owner>shuchen@chromium.org</owner>
  <summary>
    The count of layout switching actions while virtual keyboard is alive.
    Recorded when the virtual keyboard window is hidden or destroyed.
  </summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.MovesPerSwipe" units="moves">
  <owner>rsadam@chromium.org</owner>
  <summary>
    ChromeOS histogram that counts the number of times the cursor was moved to
    the next word by swiping forward on the selection track. The count is
    initialized when the user starts swiping from any side of the virtual
    keyboard, incremented based on how far they swipe forwards on the selection
    track, and recorded when they release their finger.
  </summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.TapCount">
  <owner>girard@chromium.org</owner>
  <summary>
    The number of times the virtual keyboard was tapped while the virtual
    keyboard was alive. Recorded when the virtual keyboard is closed.
  </summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.WordsDeletedPerSwipe"
    units="words">
  <owner>rsadam@chromium.org</owner>
  <summary>
    ChromeOS histogram that tracks the total number of words that were deleted
    by swiping forward on the deletion track. The count is initialized when the
    user starts swiping on the backspace key, incremented based on how far they
    swipe forwards on the deletion track, and recorded when they release their
    finger.
  </summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.WordsPerMinute">
  <owner>rsadam@chromium.org</owner>
  <summary>
    The number of words typed per minute. Recorded when the virtual keyboard is
    closed.
  </summary>
</histogram>

<histogram name="InputMethod.VirtualKeyboard.WordsRestoredPerSwipe"
    units="words">
  <owner>rsadam@chromium.org</owner>
  <summary>
    ChromeOS histogram that tracks the total number of words that were restored
    by swiping backwards on the deletion track. The count is initialized when
    the user starts swiping on the backspace key, incremented based on how far
    they swipe backwards on the deletion track, and recorded when they release
    their finger.
  </summary>
</histogram>

<histogram name="Installer.AttemptsCount.Total" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of update attempts until the update has been applied. This is
    reported every time the device has completed an update.
  </summary>
</histogram>

<histogram name="Installer.DevModeErrorCodes" enum="UpdateEngineErrorCode">
  <owner>zeuthen@chromium.org</owner>
  <summary>Errors from update_engine process when running in dev mode.</summary>
</histogram>

<histogram name="Installer.DownloadOverheadPercentage" units="%">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The overhead in downloading extra bytes due to errors/interruptions.
    Expressed as a percentage of the bytes that are actually needed to be
    downloaded for the update to be successful.
  </summary>
</histogram>

<histogram name="Installer.DownloadSourcesUsed"
    enum="UpdateEngineDownloadSources">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The combinations of protocol and source server that were used to complete a
    successful update.
  </summary>
</histogram>

<histogram name="Installer.FullPayloadAttemptNumber" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of update attempts with a full update payload until the update
    has been applied. This is reported on every update attempt.
  </summary>
</histogram>

<histogram name="Installer.InstallDateProvisioningSource"
    enum="UpdateEngineInstallDateProvisioningSource">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The source used to provision the install-date-days value sent to Omaha with
    every request. This is reported when OOBE completes (M34 or later) or when
    upgrading to a version with install-date-days support.
  </summary>
</histogram>

<histogram name="Installer.NormalErrorCodes" enum="UpdateEngineErrorCode">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    Errors from update_engine process when running in normal mode.
  </summary>
</histogram>

<histogram name="Installer.OSAgeDays" units="days">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The age of the OS, defined as the age of the /etc/lsb-release file. This is
    reported on every update check but at most once a day.
  </summary>
</histogram>

<histogram name="Installer.PayloadAttemptNumber" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of update attempts until the update has been applied. This is
    reported on every update attempt.
  </summary>
</histogram>

<histogram name="Installer.PayloadFormat" enum="UpdateEnginePayloadFormat">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The type of update payload used to update the device. The difference between
    &quot;Full&quot; and &quot;Forced Full&quot; is that in the latter, the
    request sent to Omaha included a directive saying that a delta payload
    wasn't accepted. A &quot;Full&quot; payload is one where a delta payload was
    accepted but Omaha provided a full payload. This is reported every time the
    device has completed an update.
  </summary>
</histogram>

<histogram name="Installer.RebootToNewPartitionAttempt" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of consecutive times a device has failed to boot an update that
    successfully applied. This metric is reported every time the firmware fails
    to boot the slot with the update and fell back to the slot it originally
    updated from.
  </summary>
</histogram>

<histogram name="Installer.SuccessfulMBsDownloadedFrom" units="MB">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    Number of MBs downloaded from during an update that completed successfully.
  </summary>
</histogram>

<histogram name="Installer.TimeToRebootMinutes" units="Minutes">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    Wall-clock duration between when an update has successfully completed (and
    the user is presented with the &quot;reboot arrow&quot;) and when the system
    has booted into the new update. This is reported every time the device is
    rebooted after an update has been applied.
  </summary>
</histogram>

<histogram name="Installer.TotalMBsDownloadedFrom" units="MB">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    Total number of MBs downloaded since the last successful update. This also
    includes all the bytes downloaded during any prior failed attempts.
  </summary>
</histogram>

<histogram name="Installer.UpdateDurationMinutes" units="Minutes">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    Absolute wall-clock time duration it took for the update to complete from
    the time an update first began.  It includes not just the time the device
    was up, but also includes the time the device spent sleeping.
  </summary>
</histogram>

<histogram name="Installer.UpdateDurationUptimeMinutes" units="Minutes">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    Uptime duration it took for the update to complete from the time an update
    first began.  It does not include the time the device spent sleeping, but it
    does include the uptime spent in waiting for the hourly update checks to
    happen.
  </summary>
</histogram>

<histogram name="Installer.UpdateNumReboots" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    Number of times the device was rebooted by the user since an update began
    and until it completed successfully.
  </summary>
</histogram>

<histogram name="Installer.UpdatesAbandonedCount" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of update attempts that didn't complete because a newer update
    was detected during the update operation. This is reported every time the
    device has completed an update.
  </summary>
</histogram>

<histogram name="Installer.UpdatesAbandonedEventCount" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of consecutive different abandoned update payloads since the last
    successful update. This is reported every time an update payload is
    abandoned because a newer update payload is available.
  </summary>
</histogram>

<histogram name="Installer.UpdateURLSwitches" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    Number of times the download URLs were switched due to failures.
  </summary>
</histogram>

<histogram name="InstallSigner.InvalidCount">
  <obsolete>
    Deprecated 4/2015. It appears the code at some point changed to use the
    histogram name 'ExtensionInstallSigner.InvalidCount' and we forgot to update
    this histogram name.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    This is a count of the number of ids that we asked to be signed which the
    server response indicated were not in the webstore.
  </summary>
</histogram>

<histogram name="InstallSigner.InvalidSignature">
  <obsolete>
    Deprecated 1/2014 (crbug.com/333934). Replaced by
    ExtensionInstallSigner.ResultWasValid.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The extensions install signer got a well-formed result from the server but
    the signature check on it failed.
  </summary>
</histogram>

<histogram name="InstallVerifier.CallbackInvalidSignature">
  <obsolete>
    Deprecated 1/2014 (crbug.com/333934). Replaced by
    ExtensionInstallVerifier.GetSignatureResult.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The extension install verifier tried to get a new signature and received a
    response but it wasn't properly signed.
  </summary>
</histogram>

<histogram name="InstallVerifier.CallbackNoSignature">
  <obsolete>
    Deprecated 1/2014 (crbug.com/333934). Replaced by
    ExtensionInstallVerifier.GetSignatureResult.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The extension install verifier tried to get a new signature but was unable
    to (network error contacting the server, response from server was malformed,
    etc.).
  </summary>
</histogram>

<histogram name="InstallVerifier.CallbackValidSignature">
  <obsolete>
    Deprecated 1/2014 (crbug.com/333934). Replaced by
    ExtensionInstallVerifier.GetSignatureResult.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The extension install verifier got a new signature from the server that was
    valid.
  </summary>
</histogram>

<histogram name="InstallVerifier.InitGoodSignature">
  <obsolete>
    Deprecated 1/2014 (crbug.com/333934). Replaced by
    ExtensionInstallVerifier.InitResult.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The extension install verifier found a valid signature at startup, and this
    is a count of the number of signed ids it contained.
  </summary>
</histogram>

<histogram name="InstallVerifier.InitInvalidSignature">
  <obsolete>
    Deprecated 1/2014 (crbug.com/333934). Replaced by
    ExtensionInstallVerifier.InitResult.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The extension install verifier found a signature in the prefs at startup,
    and it parsed properly, but it was invalid (some ids may have been
    added/removed, could not verify it was signed with the correct private key,
    etc.).
  </summary>
</histogram>

<histogram name="InstallVerifier.InitNoSignature">
  <obsolete>
    Deprecated 1/2014 (crbug.com/333934). Replaced by
    ExtensionInstallVerifier.InitResult.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The extension install verifier did not find any signature in the prefs at
    startup.
  </summary>
</histogram>

<histogram name="InstallVerifier.InitUnparseablePref">
  <obsolete>
    Deprecated 1/2014 (crbug.com/333934). Replaced by
    ExtensionInstallVerifier.InitResult.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The extension install verifier found a signature in the prefs at startup,
    but it wasn't parseable (missing/wrong format of required keys, etc.).
  </summary>
</histogram>

<histogram name="InstallVerifier.SignatureFailedButNotEnforcing">
  <obsolete>
    Deprecated 1/2014 (crbug.com/333934). Replaced by
    ExtensionInstallVerifier.MustRemainDisabled.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The extension install verifier would have disabled an extension but is not
    in enforcement mode.
  </summary>
</histogram>

<histogram name="InstanceID.DeleteToken.CompleteTime" units="ms">
  <owner>jianli@chromium.org</owner>
  <summary>
    Length of time taken to complete the DeleteToken request successfully. If
    the request is retried multiple times, the length of time is counted for the
    last successful retry.
  </summary>
</histogram>

<histogram name="InstanceID.DeleteToken.RequestStatus"
    enum="GCMUnregistrationRequestStatus">
  <owner>juyik@chromium.org</owner>
  <summary>Status code of the outcome of DeleteToken request.</summary>
</histogram>

<histogram name="InstanceID.DeleteToken.RetryCount">
  <owner>jianli@chromium.org</owner>
  <summary>Number of retries before DeleteToken succeeds.</summary>
</histogram>

<histogram name="InstanceID.Enabled" enum="BooleanEnabled">
  <owner>jianli@chromium.org</owner>
  <summary>
    Whether the Instance ID API is enabled. Checked when a chrome.instanceID
    function is called.
  </summary>
</histogram>

<histogram name="InstanceID.GetToken.CompleteTime" units="ms">
  <owner>jianli@chromium.org</owner>
  <summary>
    Length of time taken to complete the GetToken request successfully. If the
    request is retried multiple times, the length of time is counted for the
    last successful retry.
  </summary>
</histogram>

<histogram name="InstanceID.GetToken.RequestStatus"
    enum="GCMRegistrationRequestStatus">
  <owner>juyik@chromium.org</owner>
  <summary>Status code of the outcome of GetToken request.</summary>
</histogram>

<histogram name="InstanceID.GetToken.RetryCount">
  <owner>jianli@chromium.org</owner>
  <summary>Number of retries before GetToken succeeds.</summary>
</histogram>

<histogram name="InstanceID.RestoredIDCount">
  <owner>jianli@chromium.org</owner>
  <summary>
    Number of Instance IDs restored from the persistent store at startup.
  </summary>
</histogram>

<histogram name="InstanceID.RestoredTokenCount">
  <owner>jianli@chromium.org</owner>
  <summary>
    Number of InstanceID tokens restored from the persistent store at startup.
  </summary>
</histogram>

<histogram name="Instant.InstantControllerEvent" enum="InstantControllerEvent">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Records various events of interest in the InstantController. E.g. When URLs
    are blacklisted.
  </summary>
</histogram>

<histogram name="Instant.SessionsStorageNamespace"
    enum="InstantSessionStorageNamespace">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    How often an Instant preview is committed onto a different tab than it was
    created from.
  </summary>
</histogram>

<histogram name="Instant.TimeToFirstShow" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time between the first Omnibox interaction and when the Instant preview
    shows. If the instant preview was already showing when the user interacted
    with the omnibox, this histogram is not recorded.
  </summary>
</histogram>

<histogram name="InstantExtended.CacheableNTPLoad"
    enum="InstantExtended_CacheableNTPLoad">
  <owner>beaudoin@chromium.org</owner>
  <summary>
    Records a histogram for how often the Cacheable NTP fails to load.
  </summary>
</histogram>

<histogram name="InstantExtended.FallbackToLocalOverlay"
    enum="InstantExtended_FallbackCause">
  <obsolete>
    Depcreated as of 10/2013. No longer relevant since the HTML overlay was
    abandoned.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Records the cause for falling back to a local overlay at the time of
    fallback.
  </summary>
</histogram>

<histogram name="InstantExtended.InstantNavigation"
    enum="InstantExtended_InstantNavigation">
  <obsolete>
    Deprecated as of 10/2013. This histogram is no longer relevant since the
    HTML overlay went away.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Records a histogram for instant extended (Local NTP and Online NTP) and
    non-extended navigations.
  </summary>
</histogram>

<histogram name="InstantExtended.NewOptInState"
    enum="InstantExtended_NewOptInState">
  <obsolete>
    Deprecated as of 11/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Records, on startup, whether the user has chosen to opt-in to or opt-out of
    InstantExtended via chrome://flags.
  </summary>
</histogram>

<histogram name="InstantExtended.OptInState" enum="InstantExtended_OptInState">
  <obsolete>
    Deprecated 2013-06. As of m30 use InstantExtended.NewOptInState.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Records, on startup, whether the user has chosen to opt-in to or opt-out of
    InstantExtended via chrome://flags.
  </summary>
</histogram>

<histogram name="InstantExtended.PercentageMatchQuerytoQuery" units="%">
  <obsolete>
    Deprecated 2013-07. Please see
    InstantExtended.PercentageMatchV2_QuerytoQuery instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Records the number of matching characters at the start of the user's text as
    a percentage of average length between the old and new text when the user
    navigates from a search query to another search query.
  </summary>
</histogram>

<histogram name="InstantExtended.PercentageMatchQuerytoURL" units="%">
  <obsolete>
    Deprecated 2013-07. Please see InstantExtended.PercentageMatchV2_QuerytoURL
    instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Records the number of matching characters at the start of the user's text as
    a percentage of average length between the old and new text when the user
    navigates from a search query to a url. Example: Accidental search for
    google.con, then navigation to google.com.
  </summary>
</histogram>

<histogram name="InstantExtended.PercentageMatchURLtoQuery" units="%">
  <obsolete>
    Deprecated 2013-07. Please see InstantExtended.PercentageMatchV2_URLtoQuery
    instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Records the number of matching characters at the start of the user's text as
    a percentage of average length between the old and new text when the user
    navigates from a url to a search query.
  </summary>
</histogram>

<histogram name="InstantExtended.PercentageMatchURLtoURL" units="%">
  <obsolete>
    Deprecated 2013-07. Please see InstantExtended.PercentageMatchV2_URLtoURL
    instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Records the number of matching characters at the start of the user's text as
    a percentage of average length between the old and new text when the user
    navigates from a url to another url.
  </summary>
</histogram>

<histogram name="InstantExtended.PercentageMatchV2_QuerytoQuery" units="%">
  <obsolete>
    Removed in August 2016 with the removal of query in the omnibox code.
  </obsolete>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Records the number of matching characters at the start of the user's text as
    a percentage of average length between the old and new text when the user
    navigates from a search query to another search query.
  </summary>
</histogram>

<histogram name="InstantExtended.PercentageMatchV2_QuerytoURL" units="%">
  <obsolete>
    Removed in August 2016 with the removal of query in the omnibox code.
  </obsolete>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Records the number of matching characters at the start of the user's text as
    a percentage of average length between the old and new text when the user
    navigates from a search query to a url. Example: Accidental search for
    google.con, then navigation to google.com.
  </summary>
</histogram>

<histogram name="InstantExtended.PercentageMatchV2_URLtoQuery" units="%">
  <obsolete>
    Removed in September 2016 because (i) this measurement was somewhat wrong,
    (ii) it's difficult to understand the data, and (iii) there are better ways
    to answer the same question.  The measurement is somewhat wrong because
    reloads, link drops, and pasting URLs and pressing enter are all incorrectly
    logged to the URLtoQuery histogram, not the URLtoURL histogram.  Futhermore,
    this histogram is difficult to analyze because it's not broken up by input
    length.  Short URLs can by random chance have a sizable percentage match
    with a query.  Finally, there are better source for data like this; ask
    mpearson for details.
  </obsolete>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Records the number of matching characters at the start of the user's text as
    a percentage of average length between the old and new text when the user
    navigates from a url to a search query.
  </summary>
</histogram>

<histogram name="InstantExtended.PercentageMatchV2_URLtoURL" units="%">
  <obsolete>
    Removed in September 2016 because (i) this measurement was somewhat wrong,
    and (ii) there are better ways to answer the same question.  The measurement
    is somewhat wrong because reloads, link drops, and pasting URLs and pressing
    enter are all incorrectly logged to the URLtoQuery histogram, not the
    URLtoURL histogram.  Furthermore, there are better source for data like
    this; ask mpearson for details.
  </obsolete>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Records the number of matching characters at the start of the user's text as
    a percentage of average length between the old and new text when the user
    navigates from a url to another url.
  </summary>
</histogram>

<histogram name="InstantExtended.PrefValue" enum="BooleanEnabled">
  <obsolete>
    Deprecated 2013-06. This preference has not been exposed or used for months,
    and we do not plan to use it in the future.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Records, on startup, the value of the &quot;Allow your search engine to
    provide Instant result&quot; preference setting for the first profile
    loaded.
  </summary>
</histogram>

<histogram name="InstantSearchClicks.PreviewScrollState"
    enum="InstantSearchClicks_PreviewScrollState">
  <obsolete>
    Deprecated as of 7/2015.
  </obsolete>
  <owner>ksimbili@chromium.org</owner>
  <summary>
    Records the scroll state on the preview page when instant search clicks
    feature is triggered.
  </summary>
</histogram>

<histogram name="InstantSearchClicks.ReasonForSwap"
    enum="InstantSearchClicks_ReasonForSwap">
  <obsolete>
    Deprecated as of 7/2015.
  </obsolete>
  <owner>ksimbili@chromium.org</owner>
  <summary>
    Records the reason that triggered the page swap when instant search clicks
    feature is triggered.
  </summary>
</histogram>

<histogram name="InstantSearchClicks.TimeInPreview" units="ms">
  <obsolete>
    Deprecated as of 7/2015.
  </obsolete>
  <owner>ksimbili@chromium.org</owner>
  <summary>
    The time spent by the user in preview page before swapping to original or
    navigating out of preview page.
  </summary>
</histogram>

<histogram name="InstantSearchClicks.TimeToSwap" units="ms">
  <obsolete>
    Deprecated as of 7/2015.
  </obsolete>
  <owner>ksimbili@chromium.org</owner>
  <summary>
    The time it took for swap to trigger for all swaps. The is the time between
    preview page load start to preview page swap with the original page.
  </summary>
</histogram>

<histogram name="InterProcessTimeTicks.BrowserAhead" units="ms">
  <owner>ppi@chromium.org</owner>
  <summary>
    Estimated additive skew between processes, recorded if the browser process
    is ahead (higher TimeTicks value) than the renderer process.
  </summary>
</histogram>

<histogram name="InterProcessTimeTicks.BrowserBehind" units="ms">
  <owner>ppi@chromium.org</owner>
  <summary>
    Estimated additive skew between processes, recorded if the browser process
    is behind (lower TimeTicks value) than the renderer process.
  </summary>
</histogram>

<histogram name="InterProcessTimeTicks.IsSkewAdditive" enum="Boolean">
  <owner>ppi@chromium.org</owner>
  <summary>
    True iff the conversion from the browser process TimeTicks to renderer
    process TimeTicks is done by adding a constant, without scaling.
  </summary>
</histogram>

<histogram name="interstitial.authority_invalid_time" units="ms">
  <obsolete>
    Removed on 8/1/13.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The time between the SSL interstitial display and the user decision, which
    may be either accept or deny.  This is only recorded for overridable SSL
    warnings with a CERT_AUTHORITY_INVALID warning. Timing begins when user
    first focuses on the page.
  </summary>
</histogram>

<histogram name="interstitial.captive_portal"
    enum="CaptivePortalBlockingPageEvent">
  <owner>meacer@chromium.org</owner>
  <summary>
    User action when the user is shown a captive portal error page.
  </summary>
</histogram>

<histogram name="interstitial.common_name_invalid_time" units="ms">
  <obsolete>
    Removed on 8/1/13.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The time between the SSL interstitial display and the user decision, which
    may be either accept or deny.  This is only recorded for overridable SSL
    warnings with a CERT_COMMON_NAME_INVALID warning. Timing begins when user
    first focuses on the page.
  </summary>
</histogram>

<histogram name="interstitial.date_invalid_time" units="ms">
  <obsolete>
    Removed on 8/1/13.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The time between the SSL interstitial display and the user decision, which
    may be either accept or deny.  This is only recorded for overridable SSL
    warnings with a CERT_DATE_INVALID warning.  Timing begins when user first
    focuses on the page.
  </summary>
</histogram>

<histogram name="interstitial.decision" enum="SecurityInterstitialDecision">
  <owner>felt@chromium.org</owner>
  <summary>
    User decision when presented with a security interstitial. As of M44,
    subresource interstitials were split into their own entries. As of M52,
    social_engineering_ads* and social_engineering_landing* interstitial reasons
    are split into their own entries from phishing*.
  </summary>
</histogram>

<histogram name="interstitial.decision.repeat_visit"
    enum="SecurityInterstitialDecision">
  <owner>felt@chromium.org</owner>
  <summary>
    User decision when presented with a security interstitial, on a site that
    the user had previously visited.  As of M44, subresource interstitials were
    split into their own entries. As of M52, social_engineering_ads* and
    social_engineering_landing* interstitial reasons are split into their own
    entries from phishing*.
  </summary>
</histogram>

<histogram name="interstitial.interaction"
    enum="SecurityInterstitialInteraction">
  <owner>felt@chromium.org</owner>
  <summary>
    User interactions with a security interstitial.  As of M44, subresource
    interstitials were split into their own entries. As of M52,
    social_engineering_ads* and social_engineering_landing* interstitial reasons
    are split into their own entries from phishing*.
  </summary>
</histogram>

<histogram name="interstitial.ssl" enum="SSLResponseTypesV2">
  <obsolete>
    Replaced by interstitial.ssl_overridable.* and
    interstitial.ssl_nonoverridable.* in Jan 2015 (M42).
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    User action when the user is shown a SSL interstitial. SHOW_ALL and MORE
    refer to the total number of SSL errors; all of the other numbers pertain to
    the number of actions related to SSL errors that are overridable. The counts
    do not sum to 100%; SHOW_ALL is a superset of SHOW_OVERRIDABLE, which in
    turn will be a supserset of the PROCEED/DONT_PROCEED variables.
    SHOW_UNDERSTAND is only being used by an experimental field trial. The
    interstitials due to captive portals are now recorded in the
    &quot;SSLCaptivePortal&quot;.
  </summary>
</histogram>

<histogram name="interstitial.ssl.captive_portal" enum="SSLCaptivePortal">
  <owner>meacer@chromium.org</owner>
  <summary>
    Record possible states of captive portals. This histogram is emitted
    (possibly multiple times to different buckets) whenever a ssl interstitial
    page is displayed and captive portal detection is enabled. The captive
    portal technique forces a client on a network to see a special web page
    (usually for authentication purposes) before using the internet normally.
  </summary>
</histogram>

<histogram name="interstitial.ssl.cause.nonoverridable" enum="SSLErrorCauses">
  <owner>felt@chromium.org</owner>
  <summary>
    Possible non-attack causes of the non-overridable SSL interstitial. Many
    errors are not reported in this histogram and new errors may be added over
    time, therefore one should not look at the breakdown of this histogram (one
    bucket divided by the sum) because that will be inaccurate. Instead, one
    should look at each bucket count divided by the count of the ssl errors of
    that type. E.g. WWW mismatch is recorded only when the ssl error is
    CERT_COMMON_NAME_INVALID, so one should look at the bucket count of WWW
    mismatch divided by the bucket count of CERT_COMMON_NAME_INVALID in the
    histogram interstitial.ssl_error_type.
  </summary>
</histogram>

<histogram name="interstitial.ssl.cause.overridable" enum="SSLErrorCauses">
  <owner>felt@chromium.org</owner>
  <summary>
    Possible non-attack causes of the overridable SSL interstitial. Many errors
    are not reported in this histogram and new errors may be added over time,
    therefore one should not look at the breakdown of this histogram (one bucket
    divided by the sum) because that will be inaccurate. Instead, one should
    look at each bucket count divided by the count of the ssl errors of that
    type. E.g. WWW mismatch is recorded only when the ssl error is
    CERT_COMMON_NAME_INVALID, so one should look at the bucket count of WWW
    mismatch divided by the bucket count of CERT_COMMON_NAME_INVALID in the
    histogram interstitial.ssl_error_type.
  </summary>
</histogram>

<histogram name="interstitial.ssl.clockstate.build_time" enum="ClockStates">
  <owner>mab@chromium.org</owner>
  <summary>
    State of the system clock, as inferred from the build timestamp, when an SSL
    CERT_INVALID_DATE error is seen.
  </summary>
</histogram>

<histogram name="interstitial.ssl.clockstate.network" enum="ClockStates">
  <obsolete>
    Deprecated August 2016. Replaced with interstitial.ssl.clockstate.network2,
    which records reasons why network time might be unavailable.
  </obsolete>
  <owner>mab@chromium.org</owner>
  <summary>
    State of the system clock, relative to network time, when an SSL
    CERT_INVALID_DATE error is seen.
  </summary>
</histogram>

<histogram name="interstitial.ssl.clockstate.network2"
    enum="NetworkClockStates">
  <obsolete>
    Deprecated October 2016. Due to a bug, data in this histogram is mislabelled
    and should be disregarded. Replaced with
    interstitial.ssl.clockstate.network3.
  </obsolete>
  <owner>estark@chromium.org</owner>
  <owner>mab@chromium.org</owner>
  <summary>
    State of the system clock, relative to network time, when an SSL
    CERT_INVALID_DATE error is seen.
  </summary>
</histogram>

<histogram name="interstitial.ssl.clockstate.network3"
    enum="NetworkClockStates">
  <owner>estark@chromium.org</owner>
  <owner>mab@chromium.org</owner>
  <summary>
    State of the system clock, relative to network time, when an SSL
    CERT_INVALID_DATE error is seen.
  </summary>
</histogram>

<histogram name="interstitial.ssl.connection_type"
    enum="ResourcePrefetchPredictorNetworkType">
  <owner>felt@chromium.org</owner>
  <summary>
    The histogram shows the connection types associated with SSL warnings. E.g.,
    do more warnings occur on WiFi?
  </summary>
</histogram>

<histogram name="interstitial.ssl.did_user_revoke_decisions"
    enum="BooleanRevoked">
  <owner>jww@chromium.org</owner>
  <summary>
    Specifies when a user enters the page info menu whether or not the user
    pressed the SSL decisions revoke button. This can only by done if the user
    is in the &quot;Remember Certificate Error Decisions&quot; experiment. This
    is logged when the page info UI is closed.
  </summary>
</histogram>

<histogram name="interstitial.ssl.expiration_and_decision.nonoverridable"
    enum="SSLIsExpiredAndDecision">
  <owner>jww@chromium.org</owner>
  <summary>
    Records when a user has made a decision to proceed on a nonoverridable SSL
    interstitial. Also records whether a prior decision had been made but the
    decision expired.
  </summary>
</histogram>

<histogram name="interstitial.ssl.expiration_and_decision.overridable"
    enum="SSLIsExpiredAndDecision">
  <owner>jww@chromium.org</owner>
  <summary>
    Records when a user has made a decision to proceed on an overridable SSL
    interstitial. Also records whether a prior decision had been made but the
    decision expired.
  </summary>
</histogram>

<histogram name="interstitial.ssl.good_cert_seen" enum="SSLGoodCertSeenEvent">
  <owner>jww@chromium.org</owner>
  <summary>
    Emitted when a good certificate is seen, specifying whether the user already
    gave an exception for a bad certificate for the same host.
  </summary>
</histogram>

<histogram name="interstitial.ssl.severity_score.authority_invalid" units="%">
  <obsolete>
    Deprecated Jan 2015 (M42).
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The likelihood of a |CERT_AUTHORITY_INVALID| error being an attack.
  </summary>
</histogram>

<histogram name="interstitial.ssl.severity_score.common_name_invalid" units="%">
  <obsolete>
    Deprecated Jan 2015 (M42).
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The likelihood of a |CERT_COMMON_NAME_INVALID| error being an attack.
  </summary>
</histogram>

<histogram name="interstitial.ssl.severity_score.date_invalid" units="%">
  <obsolete>
    Deprecated Jan 2015 (M42).
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The likelihood of a |CERT_DATE_INVALID| error being an attack.
  </summary>
</histogram>

<histogram name="interstitial.ssl_accept_time" units="ms">
  <obsolete>
    Removed on 8/1/13.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The time between the SSL interstitial display and the user decision, when
    the user accepts the SSL warning.  This is only recorded for overridable SSL
    warnings.  Timing begins when user first focuses on the page.
  </summary>
</histogram>

<histogram name="interstitial.ssl_error_handler" enum="SSLErrorHandlerEvent">
  <owner>meacer@chromium.org</owner>
  <summary>The type of action that the SSL error handler takes.</summary>
</histogram>

<histogram name="interstitial.ssl_error_handler.cert_date_error_delay"
    units="ms">
  <owner>estark@chromium.org</owner>
  <summary>
    When handling a certificate date error, Chrome (under certain Variations
    Service experiments) will delay displaying the warning interstitial for up
    to 3 seconds while querying a network time service. This histogram records
    the amount of time for which the interstitial was delayed on this check. The
    histogram is recorded even when a time query is not sent (for example,
    because Chrome already had an up-to-date network timestamp that it could
    use, or because the client is not in the experimental group that enables
    network time queries).
  </summary>
</histogram>

<histogram name="interstitial.ssl_error_type" enum="SSLErrorTypes">
  <owner>felt@chromium.org</owner>
  <summary>
    The type of SSL error that the user encounters.  This is recorded for all
    SSL warnings, regardless of whether they are overridable.
  </summary>
</histogram>

<histogram name="interstitial.ssl_reject_time" units="ms">
  <obsolete>
    Removed on 8/1/13.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The time between the SSL interstitial display and the user decision, when
    the user rejects the SSL warning.  This is only recorded for overridable SSL
    warnings.  Timing begins when user first focuses on the page.
  </summary>
</histogram>

<histogram name="Invalidations.GCMUpstreamRequest"
    enum="GCMUpstreamMessageStatus">
  <owner>nyquist@chromium.org</owner>
  <owner>khushalsagar@chromium.org</owner>
  <summary>
    Status of sending outgoing invalidation message through GCM upsteam.
  </summary>
</histogram>

<histogram name="Invalidations.NetworkChannel"
    enum="InvalidationNetworkChannel">
  <owner>pavely@chromium.org</owner>
  <summary>Network channel used for invalidations.</summary>
</histogram>

<histogram name="IOS.ShareExtension.ReceivedEntriesCount" units="files">
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    The number of items received simultaneously in Chrome from the IOS share
    extension.
  </summary>
</histogram>

<histogram name="IOS.ShareExtension.ReceivedEntry"
    enum="IOSShareExtensionReceivedEntryType">
  <owner>olivierrobin@chromium.org</owner>
  <summary>Type of the item received from the iOS share extension.</summary>
</histogram>

<histogram name="IOS.ShareExtension.ReceivedEntryDelay" units="ms">
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    The delay in milliseconds between the item creation in the extension and its
    processing in Chrome.
  </summary>
</histogram>

<histogram name="IOS.ShareExtension.Source"
    enum="IOSShareExtensionReceivedEntrySource">
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    The source application that sent the external command to Chrome.
  </summary>
</histogram>

<histogram name="IOS.Spotlight.Action" enum="IOSSpotlightAction">
  <owner>olivierrobin@chromium.org</owner>
  <summary>The Spotlight Action pressed by the user.</summary>
</histogram>

<histogram name="IPC.AttachmentBrokerPrivileged.BrokerAttachmentError"
    enum="IPCAttachmentBrokerPrivilegedBrokerAttachmentError">
  <owner>erikchen@chromium.org</owner>
  <summary>
    Errors that the privileged attachment broker encounters while trying to
    broker attachments.
  </summary>
</histogram>

<histogram name="IPC.AttachmentBrokerUnprivileged.BrokerAttachmentError"
    enum="IPCAttachmentBrokerUnprivilegedBrokerAttachmentError">
  <owner>erikchen@chromium.org</owner>
  <summary>
    Errors that an unprivileged attachment broker encounters while trying to
    broker attachments.
  </summary>
</histogram>

<histogram name="JSDialogs.CharacterCount" units="characters">
  <owner>avi@chromium.org</owner>
  <summary>
    The count of the number of characters in JavaScript dialog messages grouped
    by site engagement score.
  </summary>
</histogram>

<histogram name="JSDialogs.CharacterCountUserSuppressed" units="characters">
  <owner>avi@chromium.org</owner>
  <summary>
    The count of the number of characters in JavaScript dialog messages that
    were suppressed by the user. Compare with
    JSDialogs.CountOfJSDialogMessageCharacters.
  </summary>
</histogram>

<histogram name="JSDialogs.CountOfJSDialogMessageCharacters" units="characters">
  <owner>avi@chromium.org</owner>
  <summary>
    The count of the number of characters in JavaScript dialog messages.
  </summary>
</histogram>

<histogram name="JSDialogs.CountOfJSDialogMessageNewlines">
  <owner>avi@chromium.org</owner>
  <summary>
    The count of the number of newlines in JavaScript dialog messages. (This
    does not count breaks inserted by the UI toolkit in wrapping the messages.)
  </summary>
</histogram>

<histogram name="JSDialogs.CountOfOnBeforeUnloadMessageCharacters"
    units="characters">
  <obsolete>
    Deprecated 2016-02.
  </obsolete>
  <owner>avi@chromium.org</owner>
  <summary>
    The count of the number of characters in onbeforeunload messages.
  </summary>
</histogram>

<histogram name="JSDialogs.CountOfOnBeforeUnloadMessageNewlines">
  <obsolete>
    Deprecated 2016-02.
  </obsolete>
  <owner>avi@chromium.org</owner>
  <summary>
    The count of the number of newlines in onbeforeunload messages. (This does
    not count breaks inserted by the UI toolkit in wrapping the messages.)
  </summary>
</histogram>

<histogram name="JSDialogs.DismissalCause"
    enum="JavaScriptDialogDismissalCause">
  <owner>avi@chromium.org</owner>
  <summary>The cause of dismissal of JavaScript dialogs.</summary>
</histogram>

<histogram
    name="JSDialogs.FineTiming.TimeBetweenDialogClosedAndNextDialogCreated"
    units="ms">
  <owner>joenotcharles@chromium.org</owner>
  <summary>
    Fine-grained (in msec) time between closing a Javascript dialog and opening
    another, to track very frequent dialogs.
  </summary>
</histogram>

<histogram
    name="JSDialogs.FineTiming.TimeBetweenDialogCreatedAndNextDialogCreated"
    units="ms">
  <owner>joenotcharles@chromium.org</owner>
  <summary>
    Fine-grained (in msec) time between opening a Javascript dialog and opening
    another, to track very frequent dialogs.
  </summary>
</histogram>

<histogram
    name="JSDialogs.FineTiming.TimeBetweenDialogCreatedAndSameDialogClosed"
    units="ms">
  <owner>joenotcharles@chromium.org</owner>
  <summary>
    Fine-grained (in msec) time between opening a Javascript dialog and closing
    it, to track very short-lived dialogs.
  </summary>
</histogram>

<histogram name="JSDialogs.IsForemost" enum="BooleanForemost">
  <owner>avi@chromium.org</owner>
  <summary>
    For dialogs, whether or not they were spawned by a tab that was foremost.
  </summary>
</histogram>

<histogram name="JSDialogs.OnBeforeUnloadStayVsLeave" enum="StayVsLeave">
  <owner>avi@chromium.org</owner>
  <summary>
    For onbeforeunload dialogs, the user's choice between staying on the page
    and leaving it.
  </summary>
</histogram>

<histogram name="JSDialogs.SiteEngagementOfBeforeUnload" units="%">
  <owner>avi@chromium.org</owner>
  <summary>
    The site engagement values of sites showing onbeforeunload dialogs. Logged
    once per dialog, whether shown or suppressed.
  </summary>
</histogram>

<histogram name="JSDialogs.SiteEngagementOfDialogs" units="%">
  <obsolete>
    Deprecated 2016-10. Site engagement needed to be measured in small buckets
    anyway so it was never high-resolution enough for use.
  </obsolete>
  <owner>avi@chromium.org</owner>
  <summary>
    The site engagement values of sites showing dialogs. Logged once per dialog,
    whether shown or suppressed.
  </summary>
</histogram>

<histogram name="Keyboard.KeystrokeDeltas" units="ms">
  <obsolete>
    Deprecated 07/2016 in crbug.com/631204 with KeyboardUmaEventFilter removal.
  </obsolete>
  <owner>girard@chromium.org</owner>
  <summary>
    The time between keystrokes in Aura text fields. The only keystrokes that
    are measured are ones that produce a printable character and are not over 5
    seconds apart.
  </summary>
</histogram>

<histogram name="Keyboard.Shortcuts.CrosSearchKeyDelay" units="ms">
  <owner>xiaohuic@chromium.org</owner>
  <owner>zalcorn@chromium.org</owner>
  <summary>
    The time between a user pressing the ChromeOS &quot;Search&quot; key and the
    second key being pressed down to active a shortcut. e.g. Search + L would
    record the time between Search key down and L key down. If the user pressed
    multiple keys after Search, we only record the first key down.
  </summary>
</histogram>

<histogram name="Kiosk.Launch.CryptohomeFailure" enum="LoginFailureReason">
  <owner>xiyuan@chromium.org</owner>
  <summary>Tracks cryptohome failure during kiosk launch.</summary>
</histogram>

<histogram name="Kiosk.Launch.Error" enum="KioskLaunchError">
  <owner>xiyuan@chromium.org</owner>
  <summary>Tracks kiosk launch errors.</summary>
</histogram>

<histogram name="Kiosk.LaunchType" enum="KioskLaunchType">
  <owner>xiyuan@chromium.org</owner>
  <owner>blumberg@chromium.org</owner>
  <summary>
    Records kiosk launches, whether it is an enterprise or consumer kiosk and
    whether it is an auto launch or manual launch.
  </summary>
</histogram>

<histogram name="LanguageUsage.AcceptLanguage" enum="LanguageCode">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Accept languages.</summary>
</histogram>

<histogram name="LanguageUsage.ApplicationLanguage" enum="LanguageCode">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Application languages used for UI.</summary>
</histogram>

<histogram name="Launch.FlagsAtStartup" enum="LoginCustomFlags">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Logs which Chrome flags from about:flags were active on start up.
  </summary>
</histogram>

<histogram name="Launch.HomeScreen" enum="LaunchFromHomeScreen">
  <owner>dfalcantara@chromium.org</owner>
  <summary>
    Records how Chrome handled a launch from an Android Home screen shortcut.
  </summary>
</histogram>

<histogram name="Launch.HomeScreenSource" enum="LaunchFromHomeScreenSource">
  <owner>dominickn@chromium.org</owner>
  <summary>
    Records the source of an Android homescreen launch intent used to launch
    Chrome.

    The Menu item bucket is deprecated as of M57, and will only contain records
    up until M56.

    For M57+, the Menu item (standalone) bucket contains all launch intents
    originating from the add to homescreen menu item that launch to standalone
    mode and *are not* PWAs. These are sites which do not meet the PWA
    eligibility criteria, but have an app manifest that specifies either
    standalone or fullscreen display. This bucket also contains PWA *and*
    non-PWA intents that were added to the homescreen *prior* to M57, as we
    cannot distinguish between them after they are added.

    For M57+, the Menu item (shortcut) bucket contains all launch intents
    originating from the add to homescreen menu item that launch to a browser
    tab, regardless of when the intent was added.
  </summary>
</histogram>

<histogram name="Launch.IntentFlags" enum="LaunchIntentFlags">
  <owner>dfalcantara@chromium.org</owner>
  <summary>
    Records flags (and combinations of flags) that were attached to the Intent
    that started ChromeLauncherActivity.
  </summary>
</histogram>

<histogram name="Launch.InvalidIntent" enum="BooleanHit">
  <obsolete>
    Deprecated 2016-06 -- hit rate is neglible.
  </obsolete>
  <owner>dfalcantara@chromium.org</owner>
  <summary>
    Records whether or not an invalid Android Intent was fired to launch Chrome.
    (http://crbug.com/445136)
  </summary>
</histogram>

<histogram name="Layout.MicroSecondsPerComplexText" units="microseconds">
  <owner>benjhayden@chromium.org</owner>
  <summary>
    For layouts that considered at least 100 nodes, at least half of which were
    complex text fragments, the average number of microseconds spent laying out
    each node.
  </summary>
</histogram>

<histogram name="Layout.MicroSecondsPerFloat" units="microseconds">
  <owner>benjhayden@chromium.org</owner>
  <summary>
    For layouts that considered at least 100 nodes, at least half of which were
    floats, the average number of microseconds spent laying out each node.
  </summary>
</histogram>

<histogram name="Layout.MicroSecondsPerNode" units="microseconds">
  <owner>benjhayden@chromium.org</owner>
  <summary>
    For layouts that considered at least 100 nodes, the average number of
    microseconds spent laying out each node.
  </summary>
</histogram>

<histogram name="Layout.MicroSecondsPerPositioned" units="microseconds">
  <owner>benjhayden@chromium.org</owner>
  <summary>
    For layouts that considered at least 100 nodes, at least half of which were
    fixed or absolute positioned, the average number of microseconds spent
    laying out each node.
  </summary>
</histogram>

<histogram name="Layout.MicroSecondsPerSimpleText" units="microseconds">
  <owner>benjhayden@chromium.org</owner>
  <summary>
    For layouts that considered at least 100 nodes, at least half of which were
    simple text fragments, the average number of microseconds spent laying out
    each node.
  </summary>
</histogram>

<histogram name="Layout.MicroSecondsPerTD" units="microseconds">
  <owner>benjhayden@chromium.org</owner>
  <summary>
    For layouts that considered at least 100 nodes, at least half of which were
    table cells, the average number of microseconds spent laying out each node.
  </summary>
</histogram>

<histogram name="Layout.ScrollAnchor.AdjustedScrollOffset" enum="BooleanHit">
  <owner>skobes@chromium.org</owner>
  <summary>
    Records the number of times ScrollAnchor adjusts the scroll offset.
  </summary>
</histogram>

<histogram name="Layout.ScrollAnchor.SuppressedBySanaclap" enum="BooleanHit">
  <owner>ymalik@chromium.org</owner>
  <summary>
    Records the number of times scroll anchoring is suppressed because of the
    SANACLAP bit being set on an ancestor (see bit.ly/sanaclap).
  </summary>
</histogram>

<histogram name="Layout.ScrollAnchor.TimeToFindAnchor" units="microseconds">
  <owner>ymalik@chromium.org</owner>
  <summary>The time it took to find a suitable anchor element.</summary>
</histogram>

<histogram name="LevelDB.Open" enum="LevelDBStatus">
  <owner>cmumford@chromium.org</owner>
  <summary>The result of an open attempt of a leveldb.</summary>
</histogram>

<histogram name="LevelDBEnv.All.SafeThreadAccess" units="accesses">
  <obsolete>
    Deprecated 2013-10. No thread-unsafety was found.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Linux and CrOS use unlocked_stdio(3). If it is used unsafely, record it
    here. If there is no record of unsafety after chrome 29 has been in the
    stable channel for a few weeks then revert this change.
  </summary>
</histogram>

<histogram name="LevelDBEnv.DeleteTableBackupFile" enum="BooleanSuccess">
  <owner>cmumford@chromium.org</owner>
  <summary>
    Tracks the success rate of deleting an unused leveldb table backup file.
  </summary>
</histogram>

<histogram name="LevelDBEnv.IOError" enum="LevelDBIOErrorMethods">
  <owner>dgrogan@chromium.org</owner>
  <summary>Methods where leveldb's Chromium environment has IO errors.</summary>
</histogram>

<histogram name="LevelDBEnv.IOError." enum="PlatformFileError">
  <obsolete>
    Deprecated 2015-05. As of M43 use LevelDBEnv.IOError.BFE.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>PlatformFileErrors encountered by a single leveldb method.</summary>
</histogram>

<histogram name="LevelDBEnv.IOError.BFE" enum="PlatformFileError">
  <owner>cmumford@chromium.org</owner>
  <summary>
    Errors (base::File::Error) encountered by a single leveldb method.
  </summary>
</histogram>

<histogram name="LevelDBEnv.IOError.NewLogger" enum="OSAgnosticErrno">
  <obsolete>
    Deprecated 2015-05. As of M43 use LevelDBEnv.IOError.BFE.NewLogger.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>Errno of errors encountered in NewLogger.</summary>
</histogram>

<histogram name="LevelDBEnv.IOError.NewSequentialFile" enum="OSAgnosticErrno">
  <obsolete>
    Deprecated 2015-05. As of M43 use LevelDBEnv.IOError.BFE.NewSequentialFile.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>Errno of errors encountered in NewSequentialFile.</summary>
</histogram>

<histogram name="LevelDBEnv.IOError.RandomAccessFile" enum="PlatformFileError">
  <obsolete>
    Deprecated 2013-04. As of m28 use LevelDBEnv.IOError.NewRandomAccessFile.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    File errors in leveldb ChromiumEnv's NewRandomAccessFile method.
  </summary>
</histogram>

<histogram name="LevelDBEnv.IOError.WritableFileAppend" enum="OSAgnosticErrno">
  <obsolete>
    Deprecated 2015-05. As of M43 use LevelDBEnv.IOError.BFE.WritableFileAppend.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>Errno of errors encountered in WritableFileAppend.</summary>
</histogram>

<histogram name="LevelDBEnv.IOError.WritableFileFlush" enum="OSAgnosticErrno">
  <obsolete>
    Deprecated 2015-05. As of M43 use LevelDBEnv.IOError.BFE.WritableFileFlush.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>Errno of errors encountered in WritableFileFlush.</summary>
</histogram>

<histogram name="LevelDBEnv.LockFileAncestorsNotFound" units="directories">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Number of directories missing when Non-IDB LevelDBEnv tries to create a Lock
    file.
  </summary>
</histogram>

<histogram name="LevelDBEnv.MaxFDs" units="files">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    File descriptor limit recorded every time LevelDB calls NewRandomAccessFile
    for clients other than IndexedDB.
  </summary>
</histogram>

<histogram name="LevelDBEnv.MissingFiles" units="files">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Number of backup files found without corresponding ldb files. As measured by
    GetChildren when used in LevelDB clients other than IndexedDB.
  </summary>
</histogram>

<histogram name="LevelDBEnv.RetryRecoveredFromErrorIn" enum="PlatformFileError">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    When Non-IDB LevelDBEnv successfully retries an operation that had failed,
    record the error from the most recent failed attempt.
  </summary>
</histogram>

<histogram name="LevelDBEnv.Table" enum="BooleanSuccess">
  <obsolete>
    As of M54 no longer creating or using table backup files.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Success indicates a successful backup or restore operation for .ldb table
    files when used by LevelDB clients other than IndexedDB.
  </summary>
</histogram>

<histogram name="LevelDBEnv.TimeTo" units="ms">
  <obsolete>
    Deprecated 2013-04. As of m28 use LevelDBEnv.TimeUntilSuccessFor.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Time Non-IDB LevelDBEnv slept before successfully completing this operation.
    0 means success on the first try.
  </summary>
</histogram>

<histogram name="LevelDBEnv.TimeUntilSuccessFor" units="ms">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Time Non-IDB LevelDBEnv slept before successfully completing this operation.
    0 means success on the first try.
  </summary>
</histogram>

<histogram name="LevelDBWrapper.CommitDelay" units="ms">
  <owner>mek@chromium.org</owner>
  <summary>
    Delay between the browser process receiving changes and those changes being
    written to the DB.
  </summary>
</histogram>

<histogram name="LibraryLoader.LoadNativeLibraryWindows"
    enum="LoadLibraryResultCategory">
  <owner>chengx@chromium.org</owner>
  <summary>
    This metric records the LoadLibraryExW and LoadLibraryW Windows API call
    results, which are used in native_library_win.cc.
  </summary>
</histogram>

<histogram name="LibraryLoader.NativeLibraryHack" enum="BooleanUsage">
  <obsolete>
    Deprecated as of 11/2014, removed from code.
  </obsolete>
  <owner>feng@chromium.org</owner>
  <summary>
    A boolean that indicates whether the workaround of a Sony framework bug was
    used. The metric is Android-specific, and is logged when the browser starts.
    See more details at http://crbug.com/311644.
  </summary>
</histogram>

<histogram name="LibraryLoader.PercentageOfResidentCodeBeforePrefetch"
    units="%">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Percentage of the native library code pages resident in memory. Recorded
    immediately before the library prefetching kicks in, only on Android.
  </summary>
</histogram>

<histogram name="LibraryLoader.PrefetchStatus" enum="BooleanSuccess">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Indicates whether the forking of a child process to prefetch the native
    library succeeded. This metric is Android-specific, and is logged when the
    browser starts.
  </summary>
</histogram>

<histogram name="Linux.GlibcVersion" enum="LinuxGlibcVersion">
  <owner>thestig@chromium.org</owner>
  <summary>
    The version of glibc used. (Linux only) Logged on each start up.
  </summary>
</histogram>

<histogram name="Linux.SandboxStatus" enum="LinuxSandboxStatus">
  <owner>rickyz@chromium.org</owner>
  <summary>
    The Linux sandbox status. This describes what sandboxing features are
    enabled (such as the suid/namespace sandboxes, various namespaces, seccomp
    bpf, ...). Emitted once at startup.
  </summary>
</histogram>

<histogram name="Linux.WindowManager" enum="LinuxWindowManagerName">
  <owner>pkotwicz@chromium.org</owner>
  <summary>
    The window manager used. (Linux only) Logged on each start up.
  </summary>
</histogram>

<histogram name="Linux.X11.ServerRTT" units="microseconds">
  <owner>thomasanderson@chromium.org</owner>
  <summary>
    RTT between Chrome and the X11 server.  Tracked in X11EventSource by
    measuring the latency to receive a property event after changing a property.
  </summary>
</histogram>

<histogram name="LocalDiscovery.ClientRestartAttempts">
  <owner>noamsml@chromium.org</owner>
  <owner>vitalybuka@chromium.org</owner>
  <summary>Records number of attempts to start local discovery.</summary>
</histogram>

<histogram name="LocalDiscovery.DetectorRestartTime" units="ms">
  <owner>noamsml@chromium.org</owner>
  <owner>vitalybuka@chromium.org</owner>
  <summary>Time between detector restarts.</summary>
</histogram>

<histogram name="LocalDiscovery.DetectorTriggerTime" units="ms">
  <owner>noamsml@chromium.org</owner>
  <owner>vitalybuka@chromium.org</owner>
  <summary>Time before detector trigger notifications.</summary>
</histogram>

<histogram name="LocalDiscovery.DevicesPage" enum="DevicesPageEvents">
  <owner>noamsml@chromium.org</owner>
  <owner>vitalybuka@chromium.org</owner>
  <summary>Records events related to devices page.</summary>
</histogram>

<histogram name="LocalDiscovery.FirewallAccessTime" units="ms">
  <owner>noamsml@chromium.org</owner>
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Windows only histogram that reports request time spend accessing firewall
    rules. It's logged once per browser process lifetime, when local discovery
    is used first time.
  </summary>
</histogram>

<histogram name="LocalDiscovery.IsFirewallReady" enum="BooleanEnabled">
  <owner>noamsml@chromium.org</owner>
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Windows only histogram that reports, whether a firewall is set, so we can
    bind inbound sockets. It's logged once per browser process lifetime, when
    local discovery is used first time.
  </summary>
</histogram>

<histogram name="LocalDiscovery.PrivetNotificationsEvent"
    enum="PrivetNotificationsEvent">
  <owner>noamsml@chromium.org</owner>
  <owner>vitalybuka@chromium.org</owner>
  <summary>Records events related to local discovery notifications.</summary>
</histogram>

<histogram name="LocalStorage.BrowserLocalStorageCachePurgedInKB" units="KB">
  <owner>ssid@chromium.org</owner>
  <summary>
    Total size of the HTML5 LocalStorage browser-side cache purged in KB when
    memory pressure signal was triggered or cache size hit the limits.
  </summary>
</histogram>

<histogram name="LocalStorage.BrowserLocalStorageCacheSizeInKB" units="KB">
  <owner>ssid@chromium.org</owner>
  <summary>
    Total size of the HTML5 LocalStorage databases in KB in the browser-side
    cache recorded each time a new database is opened in memory.
  </summary>
</histogram>

<histogram name="LocalStorage.BrowserLocalStorageSizeInKB" units="KB">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Size of the HTML5 LocalStorage DB in KB in the browser-side cache.
  </summary>
</histogram>

<histogram name="LocalStorage.BrowserTimeToPrimeLocalStorage">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Time to load HTML5 LocalStorage into the browser-side cache.
  </summary>
</histogram>

<histogram name="LocalStorage.CommitDelay" units="ms">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Delay between a page making changes and those changes being written to the
    DB.
  </summary>
</histogram>

<histogram name="LocalStorage.MojoSizeInKB" units="KB">
  <owner>jam@chromium.org</owner>
  <summary>
    Size of the HTML5 LocalStorage DB in KB in the renderer-side cache using
    Mojo implementation.
  </summary>
</histogram>

<histogram name="LocalStorage.MojoTimeToPrime" units="ms">
  <owner>jam@chromium.org</owner>
  <summary>
    Time (in ms) to load HTML5 LocalStorage into the renderer-side cache using
    Mojo implementation.
  </summary>
</histogram>

<histogram name="LocalStorage.MojoTimeToPrimeFor" units="ms">
  <owner>jam@chromium.org</owner>
  <summary>
    Time (in ms) to load HTML5 LocalStorage into the renderer-side cache using
    Mojo implementation, split by size.
  </summary>
</histogram>

<histogram name="LocalStorage.RendererLocalStorageSizeInKB" units="KB">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Size of the HTML5 LocalStorage DB in KB in the renderer-side cache.
  </summary>
</histogram>

<histogram name="LocalStorage.RendererTimeToPrimeLocalStorage">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Time to load HTML5 LocalStorage into the renderer-side cache.
  </summary>
</histogram>

<histogram name="LocalStorage.TimeToPrimeLocalStorage">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Time to load HTML5 LocalStorage into the renderer-side cache. Note that the
    name is not 'Renderer' prefixed for continuity with the old naming.
  </summary>
</histogram>

<histogram name="LocalStorageContext.CommitResult" enum="LevelDBStatus">
  <owner>mek@chromium.org</owner>
  <summary>
    The result of an attempt to commit localstorage data to the database.
  </summary>
</histogram>

<histogram name="LocalStorageContext.DatabaseOpenError" enum="LevelDBStatus">
  <owner>mek@chromium.org</owner>
  <summary>
    The result of a failed attempt to open a LevelDB database for LocalStorage.
  </summary>
</histogram>

<histogram name="LocalStorageContext.DatabaseOpenError.Disk"
    enum="LevelDBStatus">
  <owner>mek@chromium.org</owner>
  <summary>
    The result of a failed attempt to open a LevelDB database for LocalStorage
    on disk.
  </summary>
</histogram>

<histogram name="LocalStorageContext.DatabaseOpenError.Memory"
    enum="LevelDBStatus">
  <owner>mek@chromium.org</owner>
  <summary>
    The result of a failed attempt to open a LevelDB database for LocalStorage
    in memory.
  </summary>
</histogram>

<histogram name="LocalStorageContext.DestroyDBResult" enum="LevelDBStatus">
  <owner>mek@chromium.org</owner>
  <summary>
    The result of attempting to delete the LocalStorage database.
  </summary>
</histogram>

<histogram name="LocalStorageContext.DirectoryOpenError"
    enum="PlatformFileError">
  <owner>mek@chromium.org</owner>
  <summary>
    The reason opening a directory for the LevelDB database that backs
    LocalStorage failed.
  </summary>
</histogram>

<histogram name="LocalStorageContext.MapLoadError" enum="LevelDBStatus">
  <owner>mek@chromium.org</owner>
  <summary>
    The reason loading an initial snapshot of the localstorage data for an
    origin failed.
  </summary>
</histogram>

<histogram name="LocalStorageContext.OpenError" enum="LocalStorageOpenError">
  <owner>mek@chromium.org</owner>
  <summary>
    The reason opening the LevelDB database that backs LocalStorage failed.
  </summary>
</histogram>

<histogram name="LocalStorageContext.ReadVersionError" enum="LevelDBStatus">
  <owner>mek@chromium.org</owner>
  <summary>
    The reason reading the schema version of the LocalStorage database failed.
  </summary>
</histogram>

<histogram name="Login.ConsumerNewUsersAllowed" enum="LoginConsumerWhitelist">
  <owner>cmasone@chromium.org</owner>
  <owner>sumit@chromium.org</owner>
  <summary>
    Chrome OS histogram tracking, per consumer sign-in, whether the device owner
    is allowing arbitrary accounts to be used on the device, or only those on a
    specific whitelist.
  </summary>
</histogram>

<histogram name="Login.CustomFlags" enum="LoginCustomFlags">
  <owner>alemate@chromium.org</owner>
  <summary>
    A set of chrome flags that required browser restart on Chrome OS user sign
    in.
  </summary>
</histogram>

<histogram name="Login.FailureReason" enum="LoginFailureReason">
  <owner>achuith@chromium.org</owner>
  <summary>Chrome OS login failure reason.</summary>
</histogram>

<histogram name="Login.LeastUsedAccountDays" units="days">
  <owner>achuith@chromium.org</owner>
  <owner>omrilio@chromium.org</owner>
  <summary>
    Chrome OS histogram that keeps track of the days since the least frequently
    used account signed in. Reported on every boot and once a day after that.
  </summary>
</histogram>

<histogram name="Login.NewUserPriorityPrefsSyncResult"
    enum="NewUserPriorityPrefsSyncResult">
  <owner>alemate@chromeos.org</owner>
  <summary>Records whether a new user's priority prefs sync timed out.</summary>
</histogram>

<histogram name="Login.NewUserPriorityPrefsSyncTime" units="ms">
  <owner>alemate@chromeos.org</owner>
  <summary>
    Time spent waiting for priority preferences to sync after new user sign in.
    The operation will time out after 10s.
  </summary>
</histogram>

<histogram name="Login.OfflineFailure.IsKnownUser" enum="LoginIsKnownUser">
  <owner>glevin@chromium.org</owner>
  <summary>
    On offline login failure, records whether it is for an existing user.
  </summary>
</histogram>

<histogram name="Login.OfflineSuccess.Attempts">
  <owner>glevin@chromium.org</owner>
  <summary>
    On offline login success, records number of attempts, including success.
  </summary>
</histogram>

<histogram name="Login.PasswordChangeFlow" enum="LoginPasswordChangeFlow">
  <owner>xiyuan@chromium.org</owner>
  <owner>omrilio@chromium.org</owner>
  <summary>
    Records the UI flow after a possible password change is detected.
  </summary>
</histogram>

<histogram name="Login.PolicyFilesStatePerBoot" enum="LoginPolicyFilesState">
  <owner>cmasone@chromium.org</owner>
  <summary>The state of Chrome OS owner key and device policy files.</summary>
</histogram>

<histogram name="Login.PromptToCompleteLoginTime" units="ms">
  <owner>achuith@chromium.org</owner>
  <summary>
    Time from first display of the login prompt until the user completes signing
    in.
  </summary>
</histogram>

<histogram name="Login.ReauthReason" enum="LoginReauthReasons">
  <owner>achuith@chromium.org</owner>
  <summary>
    Tracks the reason why a user was sent through the GAIA re-auth flow.
  </summary>
</histogram>

<histogram name="Login.StateKeyGenerationStatus"
    enum="LoginStateKeyGenerationStatus">
  <owner>mnissler@chromium.org</owner>
  <summary>Result of a state key generation operation.</summary>
</histogram>

<histogram name="Login.SuccessReason" enum="LoginSuccessReason">
  <owner>achuith@chromium.org</owner>
  <summary>Chrome OS login success reason.</summary>
</histogram>

<histogram name="Login.TokenCheckResponseTime" units="ms">
  <owner>glevin@chromium.org</owner>
  <summary>
    Time between sending a request to, and receiving a reply from, GAIA token
    endpoint to validate TokenInfo.
  </summary>
</histogram>

<histogram name="Login.TokenObtainResponseTime" units="ms">
  <owner>glevin@chromium.org</owner>
  <summary>
    Time between sending a request to, and receiving a reply from, GAIA token
    endpoint to obtain TokenInfo.
  </summary>
</histogram>

<histogram name="Login.UsersActiveWeekly" units="users">
  <owner>alemate@chromium.org</owner>
  <owner>achuith@chromium.org</owner>
  <summary>
    Chrome OS histogram that keeps track of number of users who have logged in
    in the last 7 days. Reported on every boot and once a day after that.
  </summary>
</histogram>

<histogram name="Login.UsersActiveWeekly.Percent" units="%">
  <owner>alemate@chromium.org</owner>
  <owner>achuith@chromium.org</owner>
  <summary>
    Chrome OS histogram that keeps track of percentage of local users who have
    logged in in the last 7 days. Reported on every boot and once a day after
    that.
  </summary>
</histogram>

<histogram name="Login.UserType" enum="LoginUserType">
  <owner>cmasone@chromium.org</owner>
  <summary>
    Chrome OS histogram that keeps track of the way a user logs in and whether
    Chrome OS is running normal or developer mode.
  </summary>
</histogram>

<histogram name="ManagedUsers.ChromeOS.PasswordChange"
    enum="ManagedUserPasswordChange">
  <owner>achuith@chromium.org</owner>
  <summary>
    Chrome OS histogram that keeps track of supervised user password change
    result.
  </summary>
</histogram>

<histogram name="ManagedUsers.FilteringResult"
    enum="SupervisedUserSafetyFilterResult">
  <owner>treib@chromium.org</owner>
  <owner>pam@chromium.org</owner>
  <summary>
    The counts of results from supervised user URL filtering. Each entry
    includes the outcome of the filter (i.e. allowed, blocked, or unknown) and
    the page transition type (how the user got there, e.g. typed URL, clicked
    link).
  </summary>
</histogram>

<histogram name="ManagedUsers.SafeSitesDelay" units="ms">
  <owner>treib@chromium.org</owner>
  <owner>pam@chromium.org</owner>
  <summary>
    The extra page load delays introduced by network requests due to the
    supervised user SafeSites feature, measured once per page load.
  </summary>
</histogram>

<histogram name="ManagedUsers.SafetyFilter"
    enum="SupervisedUserSafetyFilterResult">
  <owner>treib@chromium.org</owner>
  <owner>pam@chromium.org</owner>
  <summary>
    The counts of results from the supervised user safety filter. Each entry
    includes the outcome of the filter (i.e. allowed, blocked, or unknown) and
    the page transition type (how the user got there, e.g. typed URL, clicked
    link). This only includes URL requests that were handled by the SafeSites
    filter (both online and the static blacklist).
  </summary>
</histogram>

<histogram name="ManagedUsers.Whitelist.Count" units="whitelists">
  <owner>bauerb@chromium.org</owner>
  <owner>treib@chromium.org</owner>
  <owner>pam@chromium.org</owner>
  <summary>
    The number of whitelists installed for a supervised user. Recorded at every
    profile startup.
  </summary>
</histogram>

<histogram name="ManagedUsers.Whitelist.JsonParseDuration" units="ms">
  <owner>bauerb@chromium.org</owner>
  <owner>treib@chromium.org</owner>
  <owner>pam@chromium.org</owner>
  <summary>
    The total amount of time taken to parse the JSON contents of a whitelist out
    of process.
  </summary>
</histogram>

<histogram name="ManagedUsers.Whitelist.ReadDuration" units="ms">
  <owner>bauerb@chromium.org</owner>
  <owner>treib@chromium.org</owner>
  <owner>pam@chromium.org</owner>
  <summary>
    The amount of time taken to read a whitelist file from disk.
  </summary>
</histogram>

<histogram name="ManagedUsers.Whitelist.TotalLoadDuration" units="ms">
  <owner>bauerb@chromium.org</owner>
  <owner>treib@chromium.org</owner>
  <owner>pam@chromium.org</owner>
  <summary>
    The total amount of time taken to load a whitelist from disk and parse it,
    including jumps to the blocking thread.
  </summary>
</histogram>

<histogram name="Manifest.FetchResult" enum="ManifestFetchResultType">
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Tracks whether the Manifest fetch succeed and why it failed if it failed.
  </summary>
</histogram>

<histogram name="Manifest.HasProperty" enum="Boolean">
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Tracks which properties of a Manifest were present when it was parsed. If a
    property can't be parsed, it will be recorded as not present. These
    histograms will only be used if the Manifest was correctly fetched and
    parsed and the parsed manifest is not empty.
  </summary>
</histogram>

<histogram name="Manifest.IsEmpty" enum="Boolean">
  <owner>mlamouri@chromium.org</owner>
  <summary>Tracks whether the parsed Manifest is the empty Manifest.</summary>
</histogram>

<histogram name="Manifest.ParseSuccess" enum="Boolean">
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Tracks the Manifest parsing result. A failure will be recorded if the
    Manifest was incorrectly structured. This doesn't take into account parse
    failures for each individual properties.
  </summary>
</histogram>

<histogram name="Media.AcceleratedCompositingActive" enum="BooleanSuccess">
  <obsolete>
    Deprecated as of July 21, 2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Whether accelerated compositing was used for HTML5 media rendering.
  </summary>
</histogram>

<histogram name="Media.Android.BackgroundVideoTime" units="ms">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <owner>zhiqiang@chromium.org</owner>
  <summary>
    Android-specific metric. The time between the moment the backgrounded video
    playback is started (meaning the user just resumed the backgrounded video
    allowing playback) and the moment it stops being background playback by the
    current playing video either going foreground or being paused by the user.
    Note: on Android, videos are suspended when backgrounded.
  </summary>
</histogram>

<histogram name="Media.Android.IsHttpLiveStreamingMedia" enum="MediaUrlType">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records whether a regular media URL is HLS (HTTP Live Streaming)
    media or not.
  </summary>
</histogram>

<histogram name="Media.Android.IsHttpLiveStreamingMediaPredictionResult"
    enum="MediaTypePredictionResult">
  <owner>sandersd@chromium.org</owner>
  <summary>
    Android: Records which HLS prediction based on the original URL was best.
  </summary>
</histogram>

<histogram name="Media.Android.MediaPlayerSuccess" enum="MediaPlayerExitStatus">
  <owner>timav@chromium.org</owner>
  <summary>Android: Whether MediaPlayer exited without errors.</summary>
</histogram>

<histogram name="Media.Android.NumMediaServerCrashes">
  <obsolete>
    Deprecated as of 04/2017
  </obsolete>
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Number of consecutive media server crashes monitored before it is
    reset to 0. Reset happens if there are no crashes in a minute, or if user
    hits the &quot;try again&quot; button on the media throttle info bar.
  </summary>
</histogram>

<histogram name="Media.Android.ThrottleInfobarResponse"
    enum="ThrottleInfobarResponse">
  <obsolete>
    Deprecated as of 04/2017
  </obsolete>
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: The distribution of responses to the media throttle infobar prompt.
  </summary>
</histogram>

<histogram name="Media.ArcGpuVideoDecodeAccelerator.InitializeResult"
    enum="ArcVideoAcceleratorResult">
  <owner>johnylin@chromium.org</owner>
  <summary>
    Counts of status values returned from calls to
    ArcGpuVideoDecodeAccelerator::Initialize().
  </summary>
</histogram>

<histogram name="Media.Audible.ConcurrentTabsTime" units="ms">
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Records how long more than one tab is audible at the same time. The
    concurrent tabs might change during this period. The time recorded starts
    when the browser goes from one to two audbile tabs and stops when it is back
    below two.
  </summary>
</histogram>

<histogram name="Media.Audible.ConcurrentTabsWhenStarting">
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Records how many tabs were audible when a new tab started to be audible.
  </summary>
</histogram>

<histogram name="Media.Audible.MaxConcurrentTabsInSession">
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Records how many tabs are audible at the same time during the session. It is
    recording the maximum audible tab count everytime it increases. In other
    words, a session with N concurrent audible tabs will record entries from 1
    through N exactly once.
  </summary>
</histogram>

<histogram name="Media.Audio.ActualInputBufferFrameSizeMac">
  <owner>henrika@chromium.org</owner>
  <summary>
    Size (in audio frames) of native I/O buffers that is set by the audio
    manager when calling AUAudioInputStream::Open(). I.e., it is the actual
    buffer size and it can differ from the one that the client requested. Only
    sampled when Media.Audio.InputStartupSuccessMac reports 'Failure'.
  </summary>
</histogram>

<histogram name="Media.Audio.AudioUnitRenderHasWorkedMac"
    enum="BooleanEverWorked">
  <owner>henrika@chromium.org</owner>
  <summary>
    Stored in combination with Media.Audio.RenderFailsWhenBufferSizeChangesMac.
    It is set to true if calls to AudioUnitRender has ever worked, i.e., we did
    not start to see kAudioUnitErr_CannotDoInCurrentContext error messages
    directly from start but there has been at least on successful call to
    AudioUnitRender.
  </summary>
</histogram>

<histogram name="Media.Audio.AutomaticGainControlMac" enum="BooleanEnabled">
  <owner>henrika@chromium.org</owner>
  <summary>
    Indicates if the Automatic Gain Control (AGC) is enabled or not. Only
    sampled when Media.Audio.InputStartupSuccessMac reports 'Failure'.
  </summary>
</histogram>

<histogram name="Media.Audio.Autoplay" enum="AutoplaySource">
  <owner>mlamouri@chromium.org</owner>
  <owner>avayvod@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>Records the autoplay source of audios.</summary>
</histogram>

<histogram name="Media.Audio.Capture.CallbackError" enum="BooleanError">
  <obsolete>
    Deprecated as of 02/2017.
  </obsolete>
  <owner>tommi@chromium.org</owner>
  <summary>
    A boolean that reflects whether or not an error was reported during audio
    capture.
  </summary>
</histogram>

<histogram name="Media.Audio.Capture.FramesProvided" units="frames">
  <owner>grunell@chromium.org</owner>
  <summary>
    The number of captured audio frames that is provided by the operating system
    in each callback. Typically, Chrome will want to use a 10 ms buffer (e.g.
    480 frames for a sample rate of 48 kHz), but the OS may decide to capture
    e.g. 256 frames of audio at a time. If the desired frame size is used, the
    emitted value is special-cased to be 0. This histogram then shows how
    frequent it is that the desired number of frames is used and if not, the
    number of frames used in practice. The number of frames per callback is
    normally constant or very rarely changed throughout the lifetime of the
    audio stream. The first value that differs from the desired value is stored
    and logged when an audio input stream is closed. Any further differences
    during the lifetime will be ignored.
  </summary>
</histogram>

<histogram name="Media.Audio.Capture.Glitches" units="glitches">
  <owner>grunell@chromium.org</owner>
  <summary>
    The number of glitches that were detected at the OS level while an audio
    stream was active. A glitch is detected if the OS has to skip providing a
    set of frames. This value is logged when an audio input stream is closed.
  </summary>
</histogram>

<histogram name="Media.Audio.Capture.HighLatencyCallbackError"
    enum="BooleanError">
  <owner>maxmorin@chromium.org</owner>
  <summary>
    A boolean that reflects whether or not an error was reported during audio
    capture for a high latency stream.
  </summary>
</histogram>

<histogram name="Media.Audio.Capture.LargestGlitchMs" units="ms">
  <owner>grunell@chromium.org</owner>
  <summary>
    The length in milliseconds of the largest audio glitch that was detected at
    the OS level. This value is logged when an audio input stream that has
    suffered glitches is closed.
  </summary>
</histogram>

<histogram name="Media.Audio.Capture.LostFramesInMs" units="ms">
  <owner>grunell@chromium.org</owner>
  <summary>
    The combined length in milliseconds of audio glitches that was detected at
    the OS level. This is useful to know in particular for audio processing such
    as echo cancellation. This value is logged when an audio input stream that
    has suffered glitches is closed.
  </summary>
</histogram>

<histogram name="Media.Audio.Capture.LowLatencyCallbackError"
    enum="BooleanError">
  <owner>maxmorin@chromium.org</owner>
  <summary>
    A boolean that reflects whether or not an error was reported during audio
    capture for a low latency stream.
  </summary>
</histogram>

<histogram name="Media.Audio.Capture.VirtualCallbackError" enum="BooleanError">
  <owner>maxmorin@chromium.org</owner>
  <summary>
    A boolean that reflects whether or not an error was reported during audio
    capture for a virtual stream.
  </summary>
</histogram>

<histogram name="Media.Audio.Capture.Win.InitError" enum="Hresult">
  <owner>tommi@chromium.org</owner>
  <summary>
    Error codes from IAudioClient::Initialize() in
    WASAPIAudioInputStream::InitializeAudioEngine on Windows.
  </summary>
</histogram>

<histogram name="Media.Audio.Capture.Win.Open" enum="AudioStreamOpenResult">
  <owner>tommi@chromium.org</owner>
  <summary>
    Success/error cases for opening an audio input stream on Windows.
  </summary>
</histogram>

<histogram name="Media.Audio.InputBufferSizeWasChangedAudioWorkedMac"
    enum="BooleanChanged">
  <owner>henrika@chromium.org</owner>
  <summary>
    Indicates if the size of the audio unit's IO buffer was changed when
    starting an input audio stream. Sampled each time an AUAudioInputStream
    instance is closed, i.e., we know that input audio has started as it should
    when this value is stored. Can be compared with
    Media.Audio.InputBufferSizeWasChangedMac which is only added when input
    audio fails to start.
  </summary>
</histogram>

<histogram name="Media.Audio.InputBufferSizeWasChangedMac"
    enum="BooleanSuccess">
  <owner>henrika@chromium.org</owner>
  <summary>
    Indicates if the size of the audio unit's IO buffer was changed when
    starting an input audio stream. Only sampled when
    Media.Audio.InputStartupSuccessMac reports 'Failure'.
  </summary>
</histogram>

<histogram name="Media.Audio.InputDevicePropertyChangedMac"
    enum="AudioDevicePropertyResult">
  <owner>henrika@chromium.org</owner>
  <summary>
    Lists device properties that have been changed during an audio input stream
    session. We update a map of different property changes during a session and
    all these values are recorded when an AUAudioInputStream object is closed,
    hence multiple enum values can be emitted when the histogram is stored.
  </summary>
</histogram>

<histogram name="Media.Audio.InputDevicePropertyChangedStartupFailedMac"
    enum="AudioDevicePropertyResult">
  <owner>henrika@chromium.org</owner>
  <summary>
    Lists device properties that have been changed during an audio input stream
    session. Only sampled when Media.Audio.InputStartupSuccessMac reports
    'Failure' and multiple enum values can be emitted each time that happens.
  </summary>
</histogram>

<histogram name="Media.Audio.InputRestartAttemptsMac">
  <owner>henrika@chromium.org</owner>
  <summary>
    Counts the total number of times an attempt to restart input audio has been
    done. The value is stored once when a stream is closed and updated when it
    has been detected that input audio callbacks are not generated as expected.
  </summary>
</histogram>

<histogram name="Media.Audio.InputStartupSuccessMac" enum="BooleanSuccess">
  <owner>henrika@chromium.org</owner>
  <summary>
    Indicates if audio capturing did start after stream startup was requested.
    Sampled once 5 seconds after a stream has been asked to start.
  </summary>
</histogram>

<histogram name="Media.Audio.InputStartWasDeferredAudioWorkedMac"
    enum="BooleanDeferred">
  <owner>henrika@chromium.org</owner>
  <summary>
    Indicates if audio capturing started with a small delay or not. Sampled each
    time an AUAudioInputStream instance is closed, i.e., we know that input
    audio has started as it should when this value is stored. Can be compared
    with Media.Audio.InputStartWasDeferredMac which is only added when input
    audio fails to start.
  </summary>
</histogram>

<histogram name="Media.Audio.InputStartWasDeferredMac" enum="BooleanDeferred">
  <owner>henrika@chromium.org</owner>
  <summary>
    Indicates if audio capturing started with a small delay or not. Only sampled
    when Media.Audio.InputStartupSuccessMac reports 'Failure'.
  </summary>
</histogram>

<histogram name="Media.Audio.IsOnBatteryPowerMac" enum="BooleanOnBattery">
  <owner>henrika@chromium.org</owner>
  <summary>
    Indicates if the Mac OSX device is on battery power or not. Only sampled
    when Media.Audio.InputStartupSuccessMac reports 'Failure'.
  </summary>
</histogram>

<histogram name="Media.Audio.LogicalProcessorsMac">
  <owner>henrika@chromium.org</owner>
  <summary>
    The number of logical processors/cores available on the Mac OSX device. Only
    sampled when Media.Audio.InputStartupSuccessMac reports 'Failure'.
  </summary>
</histogram>

<histogram name="Media.Audio.NumberOfBasicInputStreamsMac">
  <owner>henrika@chromium.org</owner>
  <summary>
    Number of created default input audio streams. Only sampled when
    Media.Audio.InputStartupSuccessMac reports 'Failure'.
  </summary>
</histogram>

<histogram name="Media.Audio.NumberOfLowLatencyInputStreamsMac">
  <owner>henrika@chromium.org</owner>
  <summary>
    Number of created low-latency input audio streams. Only sampled when
    Media.Audio.InputStartupSuccessMac reports 'Failure'.
  </summary>
</histogram>

<histogram name="Media.Audio.NumberOfOutputStreamsMac">
  <owner>henrika@chromium.org</owner>
  <summary>
    Number of created output audio streams. Only sampled when
    Media.Audio.InputStartupSuccessMac reports 'Failure'.
  </summary>
</histogram>

<histogram name="Media.Audio.OutputDeviceAuthorizationTime" units="ms">
  <owner>olka@chromium.org</owner>
  <summary>
    Time delta between the moment output device authorization request is
    received by the browser and the moment its processessing is finished (and
    reply is to be sent back to the renderer if IPC is not closed yet).
  </summary>
</histogram>

<histogram name="Media.Audio.PhysicalProcessorsMac">
  <owner>henrika@chromium.org</owner>
  <summary>
    The number of physical processors/cores available on the Mac OSX device.
    Only sampled when Media.Audio.InputStartupSuccessMac reports 'Failure'.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.AudioInputsPerMixer.LatencyExact"
    units="inputs">
  <owner>olka@chromium.org</owner>
  <summary>
    Number of simultaneous inputs coming to the AudioRendererMixer which renders
    audio with user specified latency. The value is logged each time it reaches
    a new maximum for the mixer. It is useful for evaluating how mixing audio in
    renderer reduces the number of output audio streams going from the renderer
    to the browser.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.AudioInputsPerMixer.LatencyInteractive"
    units="inputs">
  <owner>olka@chromium.org</owner>
  <summary>
    Number of simultaneous inputs coming to the AudioRendererMixer which renders
    audio with interactive latency. The value is logged each time it reaches a
    new maximum for the mixer. It is useful for evaluating how mixing audio in
    renderer reduces the number of output audio streams going from the renderer
    to the browser.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.AudioInputsPerMixer.LatencyPlayback"
    units="inputs">
  <owner>olka@chromium.org</owner>
  <summary>
    Number of simultaneous inputs coming to the AudioRendererMixer which renders
    audio with playback latency. The value is logged each time it reaches a new
    maximum for the mixer. It is useful for evaluating how mixing audio in
    renderer reduces the number of output audio streams going from the renderer
    to the browser.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.AudioInputsPerMixer.LatencyRtc"
    units="inputs">
  <owner>olka@chromium.org</owner>
  <summary>
    Number of simultaneous inputs coming to the AudioRendererMixer which renders
    audio with real time latency. The value is logged each time it reaches a new
    maximum for the mixer. It is useful for evaluating how mixing audio in
    renderer reduces the number of output audio streams going from the renderer
    to the browser.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.AudioMixing.LatencyMap" units="subsets">
  <owner>olka@chromium.org</owner>
  <summary>
    Subset of audio output latencies encountered by the renderer so far. Logged
    each time an audio output with a new latency starts playing. The values are
    bitsets where each bit represents corresponding latency according to
    AudioLatency::LatencyType. Useful for understanding usecases for audio
    output mixing in renderer.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.BrowserCallbackRegularity">
  <owner>olka@chromium.org</owner>
  <summary>
    Reflects how regularly browser issues audio requests to renderer. Depends on
    how well the system buffer size the browser side renders audio at and the
    buffer size it requests from renderer are aligned.  When zero, it means
    renderer buffer size is a multiple of system buffer size, and render calls
    from browser to renderer are issued evenly. When -1, it means the renderer
    buffer size is larger than system buffer size, but is not an exact multiple
    of it; in this case browser periodically skips a call to renderer. When
    positive, floor(value/2) reflects the number of extra consecutive render
    requests issued by browser to renderer each time to fulfill the system audio
    render request; if (value/2) is not integer, then plus one more extra call
    is issued periodically.   The metric is recorded on the edge between browser
    and renderer. On Mac the system buffer size may vary dynamically, the metric
    does not capture that: only the buffer size mismatch introduced by audio
    output device configuration is captured.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.FramesRequested" units="frames">
  <owner>tommi@chromium.org</owner>
  <summary>
    The number of frames audio is actually rendered at if the number is
    different from the desired number of frames.  If the desired frame size is
    used, this value will be 0. Typically, Chrome will want to use a 10ms buffer
    (e.g. 480 frames for a sample rate of 48kHz), but we might have to render
    audio 256 frames at a time. This histogram gives us an indication as to how
    frequent that is and what buffer sizes are used in practice. This value is
    logged when an audio output stream is stopped.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.GetSourceDataTime.WebRTC"
    units="microseconds">
  <owner>grunell@chromium.org</owner>
  <summary>
    The time spent to get audio data from the source. For WebRTC, it's the time
    spent in WebRtcAudioRenderer::SourceCallback. Logged every function call,
    which is every 10 ms.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.GetSourceDataTimeMax.WebRTC"
    units="microseconds">
  <owner>grunell@chromium.org</owner>
  <summary>
    The maximum time spent to get audio data from the source during a session.
    For WebRTC, it's the time spent in WebRtcAudioRenderer::SourceCallback. A
    session is between Start() and Stop() of WebRtcAudioRenderer.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.Glitches" units="glitches">
  <owner>tommi@chromium.org</owner>
  <summary>
    The number of glitches that were detected at the OS level while an audio
    stream was active. A glitch is detected if the OS has to skip rendering a
    set of frames. This value is logged when an audio output stream is stopped.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.LargestGlitchMs" units="ms">
  <owner>tommi@chromium.org</owner>
  <summary>
    The length in milliseconds of the largest glitch that was detected at the OS
    level. This value is logged when an audio output stream that has suffered
    glitches is stopped.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.LostFramesInMs" units="ms">
  <owner>tommi@chromium.org</owner>
  <summary>
    The combined length in milliseconds of audio glitches. This is useful to
    know in particular for audio processing such as echo cancellation. This
    value is logged when an audio output stream that has suffered glitches is
    stopped.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.OutputDeviceAuthorizationTimedOut"
    enum="BooleanTimedOut">
  <owner>olka@chromium.org</owner>
  <summary>
    Whether audio output device timed out waiting for authorization reply from
    the browser side.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.OutputDeviceStatus"
    enum="OutputDeviceStatus">
  <owner>olka@chromium.org</owner>
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Device status received in response to device authorization request.
  </summary>
</histogram>

<histogram
    name="Media.Audio.Render.SinkCache.GetOutputDeviceInfoCacheUtilization"
    enum="GetOutputDeviceInfoCacheHit">
  <owner>olka@chromium.org</owner>
  <summary>
    Whether a cached sink was used to get audio output device information, or a
    new sink was created for that.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.SinkCache.InfoSinkReusedForOutput"
    enum="BooleanReused">
  <owner>olka@chromium.org</owner>
  <summary>
    When a new sink is created to get output device information, it is cached.
    This metric shows if such a sink is later reused for audio output (can
    happen no more than once) or deleted unused after timeout expires. Logged
    when one of the abovementioned events takes place.
  </summary>
</histogram>

<histogram name="Media.Audio.Render.SinkCache.UsedForSinkCreation"
    enum="BooleanUsage">
  <owner>olka@chromium.org</owner>
  <summary>
    Whether a sink was created through the sink cache or directly.
  </summary>
</histogram>

<histogram name="Media.Audio.RenderFailsWhenBufferSizeChangesMac"
    enum="BooleanChanged">
  <owner>henrika@chromium.org</owner>
  <summary>
    True if a call to AudioUnitRender failed with an error code of
    kAudioUnitErr_CannotDoInCurrentContext (-10863) and the call was preceded
    with a change in the native I/O buffer size. This value is logged while
    input audio is active but it should be a very rare event.
  </summary>
</histogram>

<histogram name="Media.Audio.RequestedInputBufferFrameSizeMac">
  <owner>henrika@chromium.org</owner>
  <summary>
    Size (in audio frames) the client has asked for when creating an
    AUAudioInputStream object. It might not be able to fulfill this request. The
    actual size is given by Media.Audio.ActualInputBufferFrameSizeMac. Only
    sampled when Media.Audio.InputStartupSuccessMac reports 'Failure'.
  </summary>
</histogram>

<histogram name="Media.Audio.ResumeEventsMac">
  <owner>henrika@chromium.org</owner>
  <summary>
    Counts the number of times the system has resumed from power suspension.
    Counting is reset each time Chrome restarts. Only sampled when
    Media.Audio.InputStartupSuccessMac reports 'Failure'.
  </summary>
</histogram>

<histogram name="Media.Audio.UptimeMac" units="hours">
  <owner>henrika@chromium.org</owner>
  <summary>
    Reports the system uptime in hours for Mac OS X devices. Only sampled when
    Media.Audio.InputStartupSuccessMac reports 'Failure'.
  </summary>
</histogram>

<histogram name="Media.AudioBitsPerChannel">
  <owner>dalecurtis@chromium.org</owner>
  <summary>Bits per channel of HTML5 audio sample data.</summary>
</histogram>

<histogram name="Media.AudioCapturerAudioGlitches" enum="AudioGlitchResult">
  <owner>grunell@chromium.org</owner>
  <summary>
    Whether there is input audio glitches due to dropped input audio data or
    not. Sampled when a low-latency input audio stream is destructed.
  </summary>
</histogram>

<histogram name="Media.AudioCapturerDroppedData" units="%">
  <owner>grunell@chromium.org</owner>
  <summary>
    The percentage of input audio data that was dropped at the browser/renderer
    boundary due to for example buffer overflow in the writer side buffer or in
    the socket. Reported at the destruction of low-latency audio input stream.
  </summary>
</histogram>

<histogram name="Media.AudioCapturerMissedReadDeadline" units="%">
  <owner>grunell@chromium.org</owner>
  <summary>
    The percentage of input audio data blocks that had to be buffered because
    there was not room in the shared memory ring buffer on the browser/renderer
    boundary. This happens if the reading side hasn't read data in time.
    Reported at the destruction of low-latency audio input stream.
  </summary>
</histogram>

<histogram name="Media.AudioCapturerRepetition" units="ms">
  <owner>minyue@chromium.org</owner>
  <summary>
    Captures bit-exact audio repetitions with pre-defined look back time. As
    soon as a repetition is detected, its look back time is reported. Ideally,
    no reports should be generated.
  </summary>
</histogram>

<histogram name="Media.AudioChannelLayout" enum="ChannelLayout">
  <owner>dalecurtis@chromium.org</owner>
  <summary>Audio channel layout in HTML5 media.</summary>
</histogram>

<histogram name="Media.AudioCodec" enum="AudioCodec">
  <owner>dalecurtis@chromium.org</owner>
  <summary>Audio codec used in HTML5 media.</summary>
</histogram>

<histogram name="Media.AudioInputCbErrorMac" units="OSStatus">
  <owner>henrika@chromium.org</owner>
  <summary>
    Error codes that AudioUnitRender() returns in AUAudioInputStream on Mac.
  </summary>
</histogram>

<histogram name="Media.AudioInputController" units="ms">
  <owner>dalecurtis@chromium.org</owner>
  <summary>Measures the time taken for AudioInputController::</summary>
</histogram>

<histogram name="Media.AudioInputControllerCaptureStartupSuccess"
    enum="CaptureStartupResult">
  <obsolete>
    Deprecated as of 02/2017.
  </obsolete>
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Whether capture started successfully after an input stream startup was
    requested.
  </summary>
</histogram>

<histogram name="Media.AudioInputControllerSessionSilenceReport"
    enum="AudioInputSilenceReport">
  <owner>grunell@chromium.org</owner>
  <summary>The silence report for an audio input device session.</summary>
</histogram>

<histogram name="Media.AudioInputDeviceManager" units="ms">
  <owner>dalecurtis@chromium.org</owner>
  <summary>Measures the time taken for AudioInputDeviceManager::</summary>
</histogram>

<histogram name="Media.AudioOutputController" units="ms">
  <owner>dalecurtis@chromium.org</owner>
  <summary>Measures the time taken for AudioOutputController::</summary>
</histogram>

<histogram name="Media.AudioOutputControllerDataNotReady" units="ms">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Time spent waiting in AudioOutputController::WaitTillDataReady() if the data
    was not initially available.
  </summary>
</histogram>

<histogram name="Media.AudioOutputControllerPlaybackStartupSuccess"
    enum="BooleanSuccess">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Whether playback started successfully after stream startup was requested.
  </summary>
</histogram>

<histogram name="Media.AudioRendererAudioGlitches" enum="AudioGlitchResult">
  <owner>henrika@chromium.org</owner>
  <summary>
    Captures if render-side audio glitches are detected or not. Sampled when a
    low-latency output audio stream is destructed.
  </summary>
</histogram>

<histogram name="Media.AudioRendererEvents" enum="AudioRendererEvents">
  <obsolete>
    Deprecated Mar 2016 in favor of a new PipelineStatus code.
  </obsolete>
  <owner>scherkus@chromium.org</owner>
  <summary>Captures statistics for various AudioRendererImpl events.</summary>
</histogram>

<histogram name="Media.AudioRendererIpcStreams">
  <obsolete>
    Deprecated 02/2017. No longer needed.
  </obsolete>
  <owner>grunell@chromium.org</owner>
  <summary>
    The maximum number of simultaneous audio render streams over IPC created in
    AudioRendererHost for a render process. Logged at render process shutdown.
  </summary>
</histogram>

<histogram name="Media.AudioRendererIpcStreamsTotal">
  <obsolete>
    Deprecated 02/2017. No longer needed.
  </obsolete>
  <owner>grunell@chromium.org</owner>
  <summary>
    The maximum number of simultaneous audio render streams over IPC created in
    AudioRendererHost for all render processes. Logged at render process
    shutdown.
  </summary>
</histogram>

<histogram name="Media.AudioRendererMissedDeadline" units="%">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Percentage of AudioSyncReader::Read() calls where the renderer missed its
    realtime deadline.
  </summary>
</histogram>

<histogram name="Media.AudioSampleFormat" enum="AudioSampleFormat">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Audio sample format in HTML5 media. Logged when Audio Decoder initializes.
  </summary>
</histogram>

<histogram name="Media.AudioSamplesPerSecond" enum="AudioSampleRate">
  <owner>dalecurtis@chromium.org</owner>
  <summary>Audio samples per second in HTML5 media.</summary>
</histogram>

<histogram name="Media.AudioSamplesPerSecondUnexpected" units="Hz">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Audio samples per second in HTML5 media (atypical values, in Hz).
  </summary>
</histogram>

<histogram name="Media.AudioThreadStatus" enum="AudioThreadStatus">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    State of the audio thread. A value of &quot;started&quot; is emitted once
    the hang monitor has been initialized. If the thread is detected as hung
    later, a value of &quot;hung&quot; is emitted. If the hung thread later
    recovers a value of &quot;recovered&quot; is emitted.
  </summary>
</histogram>

<histogram name="Media.AudioTrackProcessingStates"
    enum="AudioTrackProcessingStates">
  <owner>grunell@chromium.org</owner>
  <summary>
    State of the media stream audio track processing, sampled once during the
    life time of a MediaStreamAudioProcessor.
  </summary>
</histogram>

<histogram name="Media.Autoplay.CrossOrigin.Result"
    enum="CrossOriginAutoplayResult">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>
    The result of autoplaying video elements in cross-origin iframes.
  </summary>
</histogram>

<histogram name="Media.AVDA.FrameSentAsOverlay" enum="BooleanFrameAsOverlay">
  <owner>liberato@chromium.org</owner>
  <summary>
    Record a count for each frame sent to the client by AVDA.  True counts
    indicate that the frame was an overlay (SurfaceView).  False counts are for
    SurfaceTexture frames.
  </summary>
</histogram>

<histogram name="Media.AVDA.InputQueueTime" units="ms">
  <obsolete>
    Deprecated 03/2016. No longer needed.
  </obsolete>
  <owner>watk@chromium.org</owner>
  <summary>
    The time that a bitstream buffer spends in AVDA's pending bitstream buffer
    queue before it is fed to MediaCodec.
  </summary>
</histogram>

<histogram name="Media.AVDA.MissingFormatChanged" enum="BooleanFormatChanged">
  <obsolete>
    Deprecated 10/2016. No longer needed.
  </obsolete>
  <owner>liberato@chromium.org</owner>
  <summary>
    Number of times that AVDA stopped decoding because MediaCodec failed to
    provide a FORMAT_CHANGED message before sending decoded frames back.  True
    counts indicate instances where FORMAT_CHANGE was missed, while false
    instances indicate any MediaCodec initialization by AVDA.
  </summary>
</histogram>

<histogram name="Media.AVDA.NumAVDAInstances" units="AVDA instances">
  <obsolete>
    Deprecated 10/2016. No longer needed.
  </obsolete>
  <owner>watk@chromium.org</owner>
  <summary>
    The number of concurrently running AndroidVideoDecodeAccelerators. Logged
    during each AVDA initialization.
  </summary>
</histogram>

<histogram name="Media.AVDA.VirtualContext" enum="BooleanVirtualContext">
  <obsolete>
    Deprecated 10/2016. No longer needed.
  </obsolete>
  <owner>liberato@chromium.org</owner>
  <summary>
    Number of times that AVDA's deferred rendering encountered a virtual GL
    context.  True counts indicate virtual, false counts indicate not.
  </summary>
</histogram>

<histogram name="Media.AvdaCodecImage.WaitTimeForFrame" units="ms">
  <owner>liberato@chromium.org</owner>
  <summary>
    Time spent waiting for a frame to become available in a SurfaceTexture after
    requesting that MediaCodec renders it.
  </summary>
</histogram>

<histogram name="Media.CacheUseful" enum="BooleanSuccess">
  <owner>scherkus@chromium.org</owner>
  <summary>
    Whether a media response might be used to satisfy a future request.
  </summary>
</histogram>

<histogram name="Media.ChromeCast.DelayedAndDroppedFramesPer5Sec"
    units="frames/5s">
  <owner>mfoltz@chromium.org</owner>
  <summary>
    The average number of delayed and dropped frames for the ChromeCast
    application.  Reported every 5 seconds.
  </summary>
</histogram>

<histogram name="Media.ChromeCast.DisplayedFramesPerSecond" units="frames/s">
  <obsolete>
    Deprecated 07/2015 in issue 508534.
  </obsolete>
  <owner>mfoltz@chromium.org</owner>
  <summary>
    The average number of displayed frames for the ChromeCast application.
    Reported every 5 seconds.
  </summary>
</histogram>

<histogram name="Media.ChromeCast.TimeToBufferAv" units="ms">
  <owner>mfoltz@chromium.org</owner>
  <summary>
    Time needed to pre-buffer A/V data before the actual playback for the
    ChromeCast application.
  </summary>
</histogram>

<histogram name="Media.ChromeCast.TimeToBufferAvAfterAbort" units="ms">
  <owner>mfoltz@chromium.org</owner>
  <summary>
    Time needed to buffer A/V data after an abort for the ChromeCast
    application.
  </summary>
</histogram>

<histogram name="Media.ChromeCast.TimeToBufferAvAfterUnderrun" units="ms">
  <owner>mfoltz@chromium.org</owner>
  <summary>
    Time needed to buffer A/V data after an underrun for the ChromeCast
    application.
  </summary>
</histogram>

<histogram name="Media.Controls.Download" enum="MediaControlsDownloadReason">
  <owner>mlamouri@chromium.org</owner>
  <owner>nyquist@chromium.org</owner>
  <summary>
    Records events and user interactions related to the download button shown on
    media elements.
  </summary>
</histogram>

<histogram name="Media.Controls.Show" enum="MediaControlsShowReason">
  <obsolete>
    Deprecated May 19 2016 in favor of Media.Controls.Show.{Audio,Video}
  </obsolete>
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Record whether the default media controls were shown and why every time they
    could be shown.
  </summary>
</histogram>

<histogram name="Media.Controls.Show.Audio" enum="MediaControlsShowReason">
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Record whether the default media controls of an audio element were shown and
    why every time they could be shown. Note that audio elements that were not
    insterted to the DOM and do not have a controls attribute are not taken into
    account.
  </summary>
</histogram>

<histogram name="Media.Controls.Show.Video" enum="MediaControlsShowReason">
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Record whether the default media controls of a video element were shown and
    why every time they could be shown.
  </summary>
</histogram>

<histogram name="Media.CrosBeamformingDeviceState"
    enum="CrosBeamformingDeviceState">
  <owner>ajm@chromium.org</owner>
  <summary>
    The state of the user selected virtual beamforming audio device on CrOS.
    It's logged whenever the format of the audio input stream is queried, which
    at least happens on stream startup, but could happen at other times as well.
  </summary>
</histogram>

<histogram name="Media.DetectedAudioCodec" enum="FFmpegCodecs">
  <obsolete>
    Deprecated Sep 15 2015 in favor of Media.DetectedAudioCodecHash
  </obsolete>
  <owner>jrummell@chromium.org</owner>
  <summary>Audio codec used in HTML5 media.</summary>
</histogram>

<histogram name="Media.DetectedAudioCodecHash" enum="FFmpegCodecHashes">
  <owner>jrummell@chromium.org</owner>
  <summary>
    Audio codec used in HTML5 media. Reporting corrected in M51 to include all
    detected audio codecs, not just those up to and including the first one
    supported.
  </summary>
</histogram>

<histogram name="Media.DetectedContainer" enum="MediaContainers">
  <owner>jrummell@chromium.org</owner>
  <summary>
    Container used for HTML5 media. Views that include pre-M34 data will
    categorize dash (38) and smooth streaming (39) in the &quot;Other&quot;
    bucket.
  </summary>
</histogram>

<histogram name="Media.DetectedTrackCount.Audio">
  <owner>wolenetz@chromium.org</owner>
  <summary>
    Number of detected audio tracks in HTML5 media. Not all may be usable by the
    player.
  </summary>
</histogram>

<histogram name="Media.DetectedTrackCount.Text">
  <owner>wolenetz@chromium.org</owner>
  <summary>
    Number of detected text tracks in HTML5 media. Not all may be usable by the
    player.
  </summary>
</histogram>

<histogram name="Media.DetectedTrackCount.Video">
  <owner>wolenetz@chromium.org</owner>
  <summary>
    Number of detected video tracks in HTML5 media. Not all may be usable by the
    player.
  </summary>
</histogram>

<histogram name="Media.DetectedVideoCodec" enum="FFmpegCodecs">
  <obsolete>
    Deprecated Sep 15 2015 in favor of Media.DetectedVideoCodecHash
  </obsolete>
  <owner>jrummell@chromium.org</owner>
  <summary>Video codec used in HTML5 media.</summary>
</histogram>

<histogram name="Media.DetectedVideoCodecHash" enum="FFmpegCodecHashes">
  <owner>jrummell@chromium.org</owner>
  <summary>
    Video codec used in HTML5 media. Reporting corrected in M51 to include all
    detected video codecs, not just those up to and including the first one
    supported.
  </summary>
</histogram>

<histogram name="Media.DevicePermissionActions" enum="DevicePermissionActions">
  <obsolete>
    Removed 10/2015 in favor of Permissions.Action.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the actions taken in the media infobar, which prompts the users for
    device permission.
  </summary>
</histogram>

<histogram name="Media.DroppedFrameCount">
  <owner>prabhur@chromium.org</owner>
  <summary>
    Count of dropped frames between pipeline start and stop. Media pipeline
    starts/stops when an HTML5 video is loaded/unloaded respectively in the
    browser.
  </summary>
</histogram>

<histogram name="Media.Duration" units="ms">
  <obsolete>
    Removed 03/2017 in favor of Media.Duration2 with larger max bucket.
  </obsolete>
  <owner>scherkus@chromium.org</owner>
  <summary>Duration in milliseconds of HTML5 media (when known).</summary>
</histogram>

<histogram name="Media.Duration2" units="ms">
  <owner>dalecurtis@chromium.org</owner>
  <summary>Duration in milliseconds of HTML5 media (when known).</summary>
</histogram>

<histogram name="Media.EME.CdmFileIO.FileSizeKBOnError" units="KB">
  <owner>xhwang@chromium.org</owner>
  <summary>
    Size in KB of the last file successfully read by the CDM through CDM FileIO
    before a specific error happens. This is reported only when the error
    happens, which should be rare.
  </summary>
</histogram>

<histogram name="Media.EME.CdmFileIO.FileSizeKBOnFirstRead" units="KB">
  <owner>xhwang@chromium.org</owner>
  <summary>
    Size in KB of the first file successfully read by the CDM through CDM
    FileIO. This is recorded once per CDM instance.
  </summary>
</histogram>

<histogram name="Media.EME.CdmInterfaceVersion">
  <owner>xhwang@chromium.org</owner>
  <summary>
    Chromium could support multiple versions of CDM interface. This metric
    records the CDM interface version that the CDM created by Chromium uses.
    This is recorded once per CDM instance.
  </summary>
</histogram>

<histogram name="Media.EME.ClearKey" enum="CdmPromiseResult">
  <owner>sandersd@chromium.org</owner>
  <summary>
    Result of promises for Clear Key key systems that were handled by Chromium
    code.
  </summary>
</histogram>

<histogram name="Media.EME.ClearKey.addKey" enum="MediaKeyException">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>addKey result using the Clear Key key system.</summary>
</histogram>

<histogram name="Media.EME.ClearKey.cancelKeyRequest" enum="MediaKeyException">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>cancelKeyRequest result using the Clear Key key system.</summary>
</histogram>

<histogram name="Media.EME.ClearKey.CreateCdmTime" units="ms">
  <owner>xhwang@chromium.org</owner>
  <summary>
    The time it takes to create the CDM instance for Clear Key key system.
  </summary>
</histogram>

<histogram name="Media.EME.ClearKey.generateKeyRequest"
    enum="MediaKeyException">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>generateKeyRequest result using the Clear Key key system.</summary>
</histogram>

<histogram name="Media.EME.ClearKey.KeyAdded">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>KeyAdded event count using the Clear Key key system.</summary>
</histogram>

<histogram name="Media.EME.ClearKey.KeyError" enum="MediaKeyError">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>KeyError event count using the Clear Key key system.</summary>
</histogram>

<histogram name="Media.EME.ClearKey.TimeTo" units="ms">
  <owner>xhwang@chromium.org</owner>
  <summary>
    The time it takes to resolve a CDM promise for Clear Key key system.
  </summary>
</histogram>

<histogram name="Media.EME.EncryptedMediaEnabled" enum="BooleanEnabled">
  <owner>xhwang@chromium.org</owner>
  <summary>
    Whether encrypted media is enabled when requestMediaKeySystemAccess() is
    called. User can enable and disable encrypted media in content settings.
    Recorded when requestMediaKeySystemAccess() is called but will be reported
    at most once per renderer process.
  </summary>
</histogram>

<histogram name="Media.EME.IsIncognito" enum="BooleanIncognito">
  <owner>xhwang@chromium.org</owner>
  <summary>
    Whether a given WebMediaPlayer instance, with a CDM attached, is played in
    an incognito window or in ChromeOS guest mode. Players that never started
    playback are excluded. Recorded once at time of player destruction.
  </summary>
</histogram>

<histogram name="Media.EME.KeySystemSupport.Widevine"
    enum="MediaKeySystemSupportStatus">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>
    Key system support query status and result. Each enum value will be reported
    at most once per renderer process.
  </summary>
</histogram>

<histogram name="Media.EME.NeedKey">
  <owner>xhwang@chromium.org</owner>
  <summary>EME NeedKey event count.</summary>
</histogram>

<histogram name="Media.EME.OutputProtection" enum="MediaOutputProtectionStatus">
  <owner>xhwang@chromium.org</owner>
  <summary>
    Output protection query status and result. One query and one positive (no
    unprotected external links) result (if any) are reported per CDM instance.
  </summary>
</histogram>

<histogram name="Media.EME.RequestMediaKeySystemAccess"
    enum="RequestMediaKeySystemAccessStatus">
  <owner>sandersd@chromium.org</owner>
  <summary>
    Key system support query status and result, as reported by
    RequestMediaKeySystemAccess. Each value will be reported at most once per
    renderer process.
  </summary>
</histogram>

<histogram name="Media.EME.Unknown" enum="CdmPromiseResult">
  <owner>sandersd@chromium.org</owner>
  <summary>
    Result of promises for unknown key systems that were handled by Chromium
    code.
  </summary>
</histogram>

<histogram name="Media.EME.Unknown.addKey" enum="MediaKeyException">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>addKey result using an unknown key system.</summary>
</histogram>

<histogram name="Media.EME.Unknown.cancelKeyRequest" enum="MediaKeyException">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>cancelKeyRequest result using an unknown key system.</summary>
</histogram>

<histogram name="Media.EME.Unknown.CreateCdmTime" units="ms">
  <owner>xhwang@chromium.org</owner>
  <summary>
    The time it takes to create the CDM instance for an unknown key system.
  </summary>
</histogram>

<histogram name="Media.EME.Unknown.generateKeyRequest" enum="MediaKeyException">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>generateKeyRequest result using an unknown key system.</summary>
</histogram>

<histogram name="Media.EME.Unknown.KeyAdded">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>KeyAdded event count using an unknown key system.</summary>
</histogram>

<histogram name="Media.EME.Unknown.KeyError" enum="MediaKeyError">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>KeyError event count using an unknown key system.</summary>
</histogram>

<histogram name="Media.EME.Unknown.SystemCode" units="system code">
  <owner>xhwang@chromium.org</owner>
  <summary>System code count using an unknown key system.</summary>
</histogram>

<histogram name="Media.EME.Unknown.TimeTo" units="ms">
  <owner>xhwang@chromium.org</owner>
  <summary>
    The time it takes to resolve a CDM promise for an unknown key system.
  </summary>
</histogram>

<histogram name="Media.EME.Widevine" enum="CdmPromiseResult">
  <owner>sandersd@chromium.org</owner>
  <summary>
    Result of promises for Widevine key systems that were handled by Chromium
    code.
  </summary>
</histogram>

<histogram name="Media.EME.Widevine.addKey" enum="MediaKeyException">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>addKey result using the Widevine key system.</summary>
</histogram>

<histogram name="Media.EME.Widevine.cancelKeyRequest" enum="MediaKeyException">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>cancelKeyRequest result using the Widevine key system.</summary>
</histogram>

<histogram name="Media.EME.Widevine.CreateCdmTime" units="ms">
  <owner>xhwang@chromium.org</owner>
  <summary>
    The time it takes to create the CDM instance for the Widevine key system.
  </summary>
</histogram>

<histogram name="Media.EME.Widevine.generateKeyRequest"
    enum="MediaKeyException">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>generateKeyRequest result using the Widevine key system.</summary>
</histogram>

<histogram name="Media.EME.Widevine.KeyAdded">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>KeyAdded event count using the Widevine key system.</summary>
</histogram>

<histogram name="Media.EME.Widevine.KeyError" enum="MediaKeyError">
  <obsolete>
    Deprecated 02/2016 with removal of prefixed EME.
  </obsolete>
  <owner>xhwang@chromium.org</owner>
  <summary>KeyError event count using the Widevine key system.</summary>
</histogram>

<histogram name="Media.EME.Widevine.SystemCode" units="system code">
  <owner>xhwang@chromium.org</owner>
  <summary>System code count using the Widevine key system.</summary>
</histogram>

<histogram name="Media.EME.Widevine.TimeTo" units="ms">
  <owner>xhwang@chromium.org</owner>
  <summary>
    The time it takes to resolve a CDM promise for the Widevine key system.
  </summary>
</histogram>

<histogram name="Media.EME.Widevine.VideoCapability.HasEmptyRobustness"
    enum="BooleanEmpty">
  <owner>xhwang@chromium.org</owner>
  <summary>
    Whether the robustness level of any video capability in the supported
    configuration passed into requestMediaKeySystemAccess() is empty. This is
    specific to the Widevine key system.
  </summary>
</histogram>

<histogram name="Media.FallbackHardwareAudioBitsPerChannel">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Bits per channel of the hardware audio device which failed to open in low
    latency mode and required high latency fallback.
  </summary>
</histogram>

<histogram name="Media.FallbackHardwareAudioChannelCount">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Channel count of the hardware audio device which failed to open in low
    latency mode and required high latency fallback.
  </summary>
</histogram>

<histogram name="Media.FallbackHardwareAudioChannelLayout" enum="ChannelLayout">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Channel layout of the hardware audio device which failed to open in low
    latency mode and required high latency fallback.
  </summary>
</histogram>

<histogram name="Media.FallbackHardwareAudioSamplesPerSecond"
    enum="AudioSampleRate">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Samples per second of the hardware audio device which failed to open in low
    latency mode and required high latency fallback.
  </summary>
</histogram>

<histogram name="Media.FallbackHardwareAudioSamplesPerSecondUnexpected"
    units="Hz">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Samples per second of the hardware audio device (atypical values, in Hz)
    which failed to open in low latency mode and required high latency fallback.
  </summary>
</histogram>

<histogram name="Media.FallbackToHighLatencyAudioPath" enum="BooleanSuccess">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Whether Chrome had to fallback to the high latency audio path or not.
  </summary>
</histogram>

<histogram name="Media.Fling.DelayedAndDroppedFramesPer5Sec" units="frames/5s">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The average number of delayed and dropped frames for the Fling application.
    Reported every 5 seconds.
  </summary>
</histogram>

<histogram name="Media.Fling.DisplayedFramesPerSecond" units="frames/s">
  <obsolete>
    Deprecated 07/2015 in issue 508534.
  </obsolete>
  <owner>halliwell@chromium.org</owner>
  <summary>
    The average number of displayed frames for the Fling application.  Reported
    every 5 seconds.
  </summary>
</histogram>

<histogram name="Media.Fling.TimeToBufferAv" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time needed to pre-buffer A/V data before the actual playback for the Fling
    application.
  </summary>
</histogram>

<histogram name="Media.Fling.TimeToBufferAvAfterAbort" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time needed to buffer A/V data after an abort for the Fling application.
  </summary>
</histogram>

<histogram name="Media.Fling.TimeToBufferAvAfterUnderrun" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time needed to buffer A/V data after an underrun for the Fling application.
  </summary>
</histogram>

<histogram name="Media.GPU.HasEverLostContext" enum="ContextProviderPhase">
  <owner>dcastagna@chromium.org</owner>
  <summary>
    Records when a context provider is acquired in media, and when it's released
    because a context loss has been detected.
  </summary>
</histogram>

<histogram name="Media.GpuVideoDecoderError" enum="VideoDecodeAcceleratorError">
  <owner>sandersd@chromium.org</owner>
  <summary>Counts of video decode errors reported to GpuVideoDecoder.</summary>
</histogram>

<histogram name="Media.GpuVideoDecoderInitializeStatus" enum="PipelineStatus">
  <owner>posciak@chromium.org</owner>
  <summary>Results of attempts to GpuVideoDecoder::Initialize().</summary>
</histogram>

<histogram name="Media.HardwareAudioBitsPerChannel">
  <owner>dalecurtis@chromium.org</owner>
  <summary>Bits per channel of the hardware audio device.</summary>
</histogram>

<histogram name="Media.HardwareAudioChannelCount">
  <owner>dalecurtis@chromium.org</owner>
  <summary>Channel count of the hardware audio device.</summary>
</histogram>

<histogram name="Media.HardwareAudioChannelLayout" enum="ChannelLayout">
  <owner>dalecurtis@chromium.org</owner>
  <summary>Channel layout of the hardware audio device.</summary>
</histogram>

<histogram name="Media.HardwareAudioSamplesPerSecond" enum="AudioSampleRate">
  <owner>dalecurtis@chromium.org</owner>
  <summary>Samples per second of the hardware audio device.</summary>
</histogram>

<histogram name="Media.HardwareAudioSamplesPerSecondUnexpected" units="Hz">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Samples per second of the hardware audio device (atypical values, in Hz).
  </summary>
</histogram>

<histogram name="Media.HasEverPlayed" enum="BooleanHasPlayed">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Whether a given WebMediaPlayer instance, after preload, started playback;
    recorded once at time of player destruction.
  </summary>
</histogram>

<histogram name="Media.HighLatencyAudioCaptureStartupSuccess"
    enum="AudioCaptureStartupResult">
  <owner>maxmorin@chromium.org</owner>
  <summary>
    Whether capture started successfully after a high-latency input stream
    startup was requested.
  </summary>
</histogram>

<histogram name="Media.InfoLoadDelay" units="ms">
  <owner>qinmin@chromium.org</owner>
  <summary>
    The time it takes to perform redirect tracking and a CORS access check while
    preparing to play a media file.
  </summary>
</histogram>

<histogram name="Media.Initialize.Windows" enum="WinGetLastError">
  <obsolete>
    Deprecated 05/2015 in Issue 1141703002. FFmpeg is now statically linked.
  </obsolete>
  <owner>scherkus@chromium.org</owner>
  <summary>
    Errors returned by LoadLibraryEx on Windows while attempting to load
    ffmpegsumo.dll.
  </summary>
</histogram>

<histogram name="Media.InputErrorMac" units="OSStatus">
  <owner>tommi@chromium.org</owner>
  <summary>
    Error codes that we encounter while setting up an AUAudioInputStream on Mac.
  </summary>
</histogram>

<histogram name="Media.InputInvalidSampleRateMac" units="Hz">
  <obsolete>
    Deprecated and removed from code as of 02/2016.
  </obsolete>
  <owner>henrika@chromium.org</owner>
  <summary>
    Invalid input sample rate when calling AUAudioInputStream::Open on Mac.
  </summary>
</histogram>

<histogram name="Media.InputStreamDuration" units="ms">
  <owner>henrika@chromium.org</owner>
  <summary>
    Duration in milliseconds of low-latency audio input streams. Sampled when
    the stream is closed by the AudioInputController.
  </summary>
</histogram>

<histogram name="Media.InputStreamDurationWithoutCallback" units="ms">
  <owner>maxmorin@chromium.org</owner>
  <summary>
    Duration in milliseconds of low-latency audio input streams which never got
    any callbacks.
  </summary>
</histogram>

<histogram name="Media.IsStreaming" enum="Boolean">
  <owner>sandersd@chromium.org</owner>
  <summary>
    Whether the WMPI data source is streaming (does not support range requests).
  </summary>
</histogram>

<histogram name="Media.LinuxAudioIO" enum="LinuxAudioIO">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Audio IO layer used by the Linux OS, sampled once at startup of the browser.
  </summary>
</histogram>

<histogram name="Media.LoadType" enum="MediaLoadType">
  <owner>xhwang@chromium.org</owner>
  <summary>
    Load type of HTML5 media, such as URL, MediaSource and MediaStream.
  </summary>
</histogram>

<histogram name="Media.LocalRendererSinkStates" enum="LocalRendererSinkStates">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    State of the WebRtc local renderer, sampled once during the lifetime of a
    local renderer.
  </summary>
</histogram>

<histogram name="Media.LowLatencyAudioCaptureStartupSuccess"
    enum="AudioCaptureStartupResult">
  <owner>maxmorin@chromium.org</owner>
  <summary>
    Whether capture started successfully after a low-latency input stream
    startup was requested.
  </summary>
</histogram>

<histogram name="Media.MediaElement.ContentTypeParseable"
    enum="ContentTypeParseableResult">
  <owner>jrummell@chromium.org</owner>
  <summary>
    Whether the content type provided to HTMLMediaElement would parse with
    ParsedContentType or not.
  </summary>
</histogram>

<histogram name="Media.MicrophoneMuted" enum="MicrophoneMuteResult">
  <owner>henrika@chromium.org</owner>
  <summary>
    Heuristically detects if the user has muted the microphone or not. Measured
    approximately four times per minute.
  </summary>
</histogram>

<histogram name="Media.MicrophoneVolume" units="%">
  <owner>henrika@chromium.org</owner>
  <summary>
    Level of the microphone volume measured in percent. This value can be larger
    than 100% on Linux. Measured approximately four times per minute.
  </summary>
</histogram>

<histogram name="Media.Midi.InputPorts" units="devices">
  <owner>toyoshim@chromium.org</owner>
  <summary>Connected input port numbers on the initialization.</summary>
</histogram>

<histogram name="Media.Midi.OutputPorts" units="devices">
  <owner>toyoshim@chromium.org</owner>
  <summary>Connected output port numbers on the initialization.</summary>
</histogram>

<histogram name="Media.Midi.ResultOnShutdown" enum="MidiResult">
  <owner>toyoshim@chromium.org</owner>
  <summary>The final status of MidiManager on browser shutdown.</summary>
</histogram>

<histogram name="Media.Midi.SysExMessageSizeUpTo1MB" units="bytes">
  <owner>toyoshim@chromium.org</owner>
  <summary>Reports sysex message size.</summary>
</histogram>

<histogram name="Media.Midi.Usage" enum="MidiUsage">
  <owner>toyoshim@chromium.org</owner>
  <summary>MidiManager usages to understand the API use case.</summary>
</histogram>

<histogram name="Media.MSE.AudioCodec" enum="MSECodec">
  <owner>acolwell@chromium.org</owner>
  <summary>
    Audio codec used in Media Source Extensions playback. Set when AddId() is
    called during playback.
  </summary>
</histogram>

<histogram name="Media.MSE.DetectedTrackCount.Audio">
  <owner>wolenetz@chromium.org</owner>
  <summary>
    Number of detected audio tracks in Media Source Extensions playback. Not all
    may be usable by the player.
  </summary>
</histogram>

<histogram name="Media.MSE.DetectedTrackCount.Text">
  <owner>wolenetz@chromium.org</owner>
  <summary>
    Number of detected text tracks in Media Source Extensions playback. Not all
    may be usable by the player. This count includes only explicitly signalled
    tracks in MSE initialization segments parsed from WebM or ISO BMFF
    bytestreams.
  </summary>
</histogram>

<histogram name="Media.MSE.DetectedTrackCount.Video">
  <owner>wolenetz@chromium.org</owner>
  <summary>
    Number of detected video tracks in Media Source Extensions playback. Not all
    may be usable by the player.
  </summary>
</histogram>

<histogram name="Media.MSE.LateAudioFrames"
    units="late frames per million frames">
  <obsolete>
    Deleted along with browser side MSE implementation.
  </obsolete>
  <owner>qinmin@chromium.org</owner>
  <owner>timav@chromium.org</owner>
  <summary>
    Relative number of late audio frames wrt total number of audio frames in MSE
    playback, multiplied by one million. The audio frame is considered late if
    it might cause an underrun, i.e. comes from decoder when audio buffer is
    already depleted.
  </summary>
</histogram>

<histogram name="Media.MSE.LateVideoFrames"
    units="late frames per million frames">
  <obsolete>
    Deleted along with browser side MSE implementation.
  </obsolete>
  <owner>qinmin@chromium.org</owner>
  <owner>timav@chromium.org</owner>
  <summary>
    Relative number of late video frames wrt total number of video frames in MSE
    playback, multiplied by one million. The video frame is late if it missed
    its presentation time as determined by PTS when it comes from decoder. The
    rendering policy (i.e. render or skip) does not affect it.
  </summary>
</histogram>

<histogram name="Media.MSE.NumberOfTracks">
  <owner>acolwell@chromium.org</owner>
  <summary>
    Number of tracks specified to AddId() for Media Source Extensions playback.
    May be called multiple times per element if playback is dynamically altered.
  </summary>
</histogram>

<histogram name="Media.MSE.Playback" enum="BooleanSuccess">
  <obsolete>
    Renamed to Media.LoadType.
  </obsolete>
  <owner>acolwell@chromium.org</owner>
  <summary>
    Whether Media Source Extensions is specified for playback of Media elements.
    Sampled when media pipeline starts.
  </summary>
</histogram>

<histogram name="Media.MSE.PlaybackDuration" units="ms">
  <obsolete>
    Deleted along with browser side MSE implementation.
  </obsolete>
  <owner>qinmin@chromium.org</owner>
  <owner>timav@chromium.org</owner>
  <summary>
    Duration of an uninterrupted MSE playback. This is the time interval between
    the playback starts or resumes and the moment when user stops the playback
    by pressing pause, initiating a seek etc. Measured in media time in
    milliseconds.
  </summary>
</histogram>

<histogram name="Media.MSE.Starvations" units="starvations per million frames">
  <obsolete>
    Deleted along with browser side MSE implementation.
  </obsolete>
  <owner>qinmin@chromium.org</owner>
  <owner>timav@chromium.org</owner>
  <summary>
    Relative number of starvations wrt total number of frames in MSE playback,
    multiplied by one million. Starvation happens when the player interrupts the
    regular playback and asks for more data, conditions are player-specific.
  </summary>
</histogram>

<histogram name="Media.MSE.VideoCodec" enum="MSECodec">
  <owner>acolwell@chromium.org</owner>
  <summary>
    Video codec used in Media Source Extensions playback. Set when AddId() is
    called during playback.
  </summary>
</histogram>

<histogram name="Media.Netflix.AudioBitrate" units="kbps">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The audio bit rate as reported by the Netflix application.  May be reported
    multiple times as network conditions change during playback.
  </summary>
</histogram>

<histogram name="Media.Netflix.AudioNumChannels" units="channels">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of audio channels as reported by the Netflix application. May be
    reported multiple times as network conditions change during playback.
  </summary>
</histogram>

<histogram name="Media.Netflix.DelayedAndDroppedFramesPer5Sec"
    units="frames/5s">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The average number of delayed and dropped frames for the Netflix
    application.  Reported every 5 seconds.
  </summary>
</histogram>

<histogram name="Media.Netflix.DisplayedFramesPerSecond" units="frames/s">
  <obsolete>
    Deprecated 07/2015 in issue 508534.
  </obsolete>
  <owner>halliwell@chromium.org</owner>
  <summary>
    The average number of displayed frames for the Netflix application. Reported
    every 5 seconds.
  </summary>
</histogram>

<histogram name="Media.Netflix.VideoBitrate" units="kbps">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Video bit rate as reported by the Netflix application.  May be reported
    multiple times as network conditions change during playback.
  </summary>
</histogram>

<histogram name="Media.Netflix.VideoHeight" units="pixels">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Video height as reported by the Netflix application.  May be reported
    multiple times as network conditions change during playback.
  </summary>
</histogram>

<histogram name="Media.Notification.Click" enum="MediaNotificationClickSource">
  <owner>mlamouri@chromium.org</owner>
  <owner>avayvod@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>
    The type of media notification the user clicked to go back to Chrome.
  </summary>
</histogram>

<histogram name="Media.Pepper.PlayedSound" enum="Boolean">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>
    Whether Pepper players have played sound through its lifetime.
  </summary>
</histogram>

<histogram name="Media.PepperVideoDecoderError"
    enum="VideoDecodeAcceleratorError">
  <owner>ihf@chromium.org</owner>
  <owner>posciak@chromium.org</owner>
  <summary>Counts of video decode errors reported to plugin.</summary>
</histogram>

<histogram name="Media.PepperVideoDecoderPictureCount">
  <owner>ihf@chromium.org</owner>
  <owner>posciak@chromium.org</owner>
  <summary>
    Number of PictureBuffers/textures requested per hardware decoder creation.
    This value varies by platform and video. A user visible video may trigger
    multiple decoder creations (sometimes every 5 seconds) but would normally
    not hold more than 2 sets of buffers at any given time in memory.
  </summary>
</histogram>

<histogram name="Media.PepperVideoDecoderPictureHeight">
  <owner>ihf@chromium.org</owner>
  <owner>posciak@chromium.org</owner>
  <summary>
    Vertical video resolution rounded to the nearest bucket. (Corresponds
    roughly to the number in 720p.)
  </summary>
</histogram>

<histogram name="Media.PipelineStatus" enum="PipelineStatus">
  <owner>prabhur@chromium.org</owner>
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Status of the media pipeline at the end of its lifecycle suffixed by stream
    and video decoder type.
  </summary>
</histogram>

<histogram name="Media.PipelineStatus.Start" enum="PipelineStatus">
  <owner>xhwang@chromium.org</owner>
  <summary>
    Status of the media pipeline starting process (including demuxer and
    renderer initialization). If the media pipeline is destroyed during the
    starting process nothing will be reported, but this should relatively rare.
  </summary>
</histogram>

<histogram name="Media.PlayMovies.DelayedAndDroppedFramesPer5Sec"
    units="frames/5s">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The average number of delayed and dropped frames for the PlayMovies
    application.  Reported every 5 seconds.
  </summary>
</histogram>

<histogram name="Media.PlayMovies.DisplayedFramesPerSecond" units="frames/s">
  <obsolete>
    Deprecated 07/2015 in issue 508534.
  </obsolete>
  <owner>halliwell@chromium.org</owner>
  <summary>
    The average number of displayed frames for the PlayMovies application.
    Reported every 5 seconds.
  </summary>
</histogram>

<histogram name="Media.Remoting.AllowedByPage" enum="BooleanEnabled">
  <owner>miu@chromium.org</owner>
  <summary>Tracks whether a web page allows content to be remoted.</summary>
</histogram>

<histogram name="Media.Remoting.AudioBitrate" units="kbps">
  <owner>miu@chromium.org</owner>
  <summary>
    Measured audio content transfer bitrate while remoting content.
  </summary>
</histogram>

<histogram name="Media.Remoting.AudioChannelLayout" enum="ChannelLayout">
  <owner>miu@chromium.org</owner>
  <summary>Audio channel layout used while remoting content.</summary>
</histogram>

<histogram name="Media.Remoting.AudioCodec" enum="AudioCodec">
  <owner>miu@chromium.org</owner>
  <summary>Audio codec used while remoting content.</summary>
</histogram>

<histogram name="Media.Remoting.AudioSamplesPerSecond" enum="AudioSampleRate">
  <owner>miu@chromium.org</owner>
  <summary>Audio sampling rate while remoting audio content.</summary>
</histogram>

<histogram name="Media.Remoting.AudioSamplesPerSecondUnexpected" units="Hz">
  <owner>miu@chromium.org</owner>
  <summary>
    Audio sampling rate while remoting audio content (atypical values, in Hz).
  </summary>
</histogram>

<histogram name="Media.Remoting.PosterDownloadDuration.Fail" units="ms">
  <owner>miu@chromium.org</owner>
  <summary>
    Measures the amount of time it took to ultimately fail to download a poster
    image for an HTML5 video while remoting content.
  </summary>
</histogram>

<histogram name="Media.Remoting.PosterDownloadDuration.Success" units="ms">
  <owner>miu@chromium.org</owner>
  <summary>
    Measures the amount of time it took to successfully download a poster image
    for an HTML5 video while remoting content.
  </summary>
</histogram>

<histogram name="Media.Remoting.SessionDuration" units="ms">
  <owner>miu@chromium.org</owner>
  <summary>Measures the duration of each remoting session.</summary>
</histogram>

<histogram name="Media.Remoting.SessionStartTrigger"
    enum="RemotingStartTrigger">
  <owner>miu@chromium.org</owner>
  <summary>Tracks the trigger for starting a remoting session.</summary>
</histogram>

<histogram name="Media.Remoting.SessionStopTrigger" enum="RemotingStopTrigger">
  <owner>miu@chromium.org</owner>
  <summary>Tracks the trigger for stopping a remoting session.</summary>
</histogram>

<histogram name="Media.Remoting.TimeUntilFirstPlayout" units="ms">
  <owner>miu@chromium.org</owner>
  <summary>
    Measures how long, from the start of a remoting session, until content began
    playing out on the remote device.
  </summary>
</histogram>

<histogram name="Media.Remoting.TimeUntilRemoteInitialized" units="ms">
  <owner>miu@chromium.org</owner>
  <summary>
    Measures how long, from the start of a remoting session, until a message was
    received from the remote device indicating initialization succeeded.
  </summary>
</histogram>

<histogram name="Media.Remoting.TrackConfiguration"
    enum="RemotingTrackConfiguration">
  <owner>miu@chromium.org</owner>
  <summary>Tracks whether audio or video or both are remoted.</summary>
</histogram>

<histogram name="Media.Remoting.VideoAspectRatio" units="%">
  <owner>miu@chromium.org</owner>
  <summary>Aspect ratio of video while remoting content.</summary>
</histogram>

<histogram name="Media.Remoting.VideoBitrate" units="kbps">
  <owner>miu@chromium.org</owner>
  <summary>
    Measured video content transfer bitrate while remoting content.
  </summary>
</histogram>

<histogram name="Media.Remoting.VideoCodec" enum="VideoCodec">
  <owner>miu@chromium.org</owner>
  <summary>Video codec used while remoting content.</summary>
</histogram>

<histogram name="Media.Remoting.VideoCodecProfile" enum="VideoCodecProfile">
  <owner>miu@chromium.org</owner>
  <summary>Video codec profile used while remoting content.</summary>
</histogram>

<histogram name="Media.Remoting.VideoNaturalWidth" units="pixels">
  <owner>miu@chromium.org</owner>
  <summary>Video width while remoting content.</summary>
</histogram>

<histogram name="Media.RTCVideoDecoderError" enum="VideoDecodeAcceleratorError">
  <owner>posciak@chromium.org</owner>
  <summary>Counts of video decode errors reported to RTCVideoDecoder.</summary>
</histogram>

<histogram name="Media.RTCVideoDecoderInitDecodeStatus" enum="BooleanSuccess">
  <obsolete>
    Renamed to Media.RTCVideoDecoderInitDecodeSuccess.
  </obsolete>
  <owner>posciak@chromium.org</owner>
  <summary>Results of attempts to RTCVideoDecoder::InitDecode().</summary>
</histogram>

<histogram name="Media.RTCVideoDecoderInitDecodeSuccess" enum="BooleanSuccess">
  <owner>posciak@chromium.org</owner>
  <summary>
    Indicates whether we were successful in initializing hardware video decoder
    for use in the RTC pipeline.
  </summary>
</histogram>

<histogram name="Media.RTCVideoEncoderInitEncodeSuccess" enum="BooleanSuccess">
  <owner>posciak@chromium.org</owner>
  <summary>
    Indicates whether we were successful in initializing hardware video encoder
    for use in the RTC pipeline.
  </summary>
</histogram>

<histogram name="Media.RTCVideoEncoderProfile" enum="VideoCodecProfile">
  <owner>posciak@chromium.org</owner>
  <summary>Video codec profile used in RTC video encoder.</summary>
</histogram>

<histogram name="Media.Session.ActiveTime" units="ms">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Time during which a media session has been active, in other words, the time
    between an activation and deactivation, without counting time while it was
    suspended. If a session is activated after being deactivated, there will be
    two entries. For example, if a user plays a song but is interrupted by a
    phone call, it will only account for the song playing time.
  </summary>
</histogram>

<histogram name="Media.Session.Pause" enum="MediaSessionActionSource">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <summary>
    The number of times the user paused playback of a media session using other
    means than the pause button on the page.
  </summary>
</histogram>

<histogram name="Media.Session.Play" enum="MediaSessionActionSource">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <summary>
    The number of times the user started playback of a media session using other
    means than the play button on the page.
  </summary>
</histogram>

<histogram name="Media.Session.RequestAudioFocusResult" enum="BooleanSuccess">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Indicate whether the native requestAudioFocus() call was successful.
  </summary>
</histogram>

<histogram name="Media.Session.Stop" enum="MediaSessionActionSource">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <summary>
    The number of times the user stopped a media session using other means than
    the pause button on the page.
  </summary>
</histogram>

<histogram name="Media.Session.Suspended" enum="MediaSessionSuspendedSource">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <summary>
    The number of times a media session is suspended and why it has been
    suspended.
  </summary>
</histogram>

<histogram name="Media.Session.UserAction" enum="MediaSessionUserAction">
  <owner>media-dev@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>
    The number of times user interacts with MediaSession sorted by action type.
  </summary>
</histogram>

<histogram base="true" name="Media.Timeline.DragGestureDuration" units="ms">
<!-- Name completed by histogram_suffixes name="MediaTimelineWidths" -->

  <owner>johnme@chromium.org</owner>
  <owner>media-dev@chromium.org</owner>
  <summary>
    The duration of the user gesture (how long their finger is down), recorded
    at the end of each drag gesture. This histogram is split according to the
    width of the slider track in CSS px - see histogram name suffix.
  </summary>
</histogram>

<histogram base="true" name="Media.Timeline.DragPercent"
    enum="MediaTimelinePercent">
<!-- Name completed by histogram_suffixes name="MediaTimelineWidths" -->

  <owner>johnme@chromium.org</owner>
  <owner>media-dev@chromium.org</owner>
  <summary>
    The net distance the media scrubber moved, recorded at the end of each drag
    gesture, as a percentage of the width of the slider track. This histogram is
    split according to the width of the slider track in CSS px - see histogram
    name suffix.
  </summary>
</histogram>

<histogram base="true" name="Media.Timeline.DragSumAbsTimeDelta"
    enum="MediaTimelineAbsTimeDelta">
<!-- Name completed by histogram_suffixes name="MediaTimelineWidths" -->

  <owner>johnme@chromium.org</owner>
  <owner>media-dev@chromium.org</owner>
  <summary>
    The sum of absolute distances the media scrubber incrementally moved,
    recorded at the end of each drag gesture, each measured as the change in
    media current time. If the scrubber was dragged back and forth before being
    released, this will be larger than the value recorded for
    Media.Timeline.DragTimeDelta (and may even be larger than the media
    duration), otherwise it will be the same as DragTimeDelta. This histogram is
    split according to the width of the slider track in CSS px - see histogram
    name suffix.
  </summary>
</histogram>

<histogram base="true" name="Media.Timeline.DragTimeDelta"
    enum="MediaTimelineTimeDelta">
<!-- Name completed by histogram_suffixes name="MediaTimelineWidths" -->

  <owner>johnme@chromium.org</owner>
  <owner>media-dev@chromium.org</owner>
  <summary>
    The net distance the media scrubber moved, recorded at the end of each drag
    gesture, measured as the change in media current time. This histogram is
    split according to the width of the slider track in CSS px - see histogram
    name suffix.
  </summary>
</histogram>

<histogram base="true" name="Media.Timeline.SeekType"
    enum="MediaTimelineSeekType">
<!-- Name completed by histogram_suffixes name="MediaTimelineWidths" -->

  <owner>johnme@chromium.org</owner>
  <owner>media-dev@chromium.org</owner>
  <summary>
    The type of user gesture, recorded at the end of each input sequence. For
    example holding down the right arrow key with the scrubber focused will only
    be logged as a single event. This histogram is split according to the width
    of the slider track in CSS px - see histogram name suffix.
  </summary>
</histogram>

<histogram name="Media.Timeline.Width" units="CSS px">
<!-- Name completed by histogram_suffixes name="MediaElementConfigurations" -->

  <owner>johnme@chromium.org</owner>
  <owner>media-dev@chromium.org</owner>
  <summary>
    The width of the media timeline track in CSS pixels, recorded the first time
    a media element with controls starts playing (strictly speaking, it's the
    width in CSS pixels ignoring CSS transforms, multiplied by pageZoomFactor,
    but deliberately ignoring pinch zoom's pageScaleFactor).
  </summary>
</histogram>

<histogram name="Media.TimeToPipelineStarted" units="ms">
  <obsolete>
    Removed from code 2014/6/18.
  </obsolete>
  <owner>scherkus@chromium.org</owner>
  <summary>
    Time in milliseconds from HTML5 media pipeline creation to playing event.
  </summary>
</histogram>

<histogram name="Media.TotalMBytes" units="MB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <owner>scherkus@chromium.org</owner>
  <summary>Size of HTML5 media (when known), in MB.</summary>
</histogram>

<histogram name="Media.UncacheableReason" enum="UncacheableReason">
  <owner>scherkus@chromium.org</owner>
  <summary>
    Reasons a media response won't be used to satisfy a future request.
  </summary>
</histogram>

<histogram name="Media.UnderflowCount">
  <obsolete>
    Removed Feb 2017. Media.UnderflowDuration provides more useful counts.
  </obsolete>
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    The number of times a src= playback has underflowed; i.e. ran out of data.
  </summary>
</histogram>

<histogram name="Media.UnderflowDuration" units="ms">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    The amount of time taken to leave the underflow state (i.e. resume playback)
    for src= playbacks.
  </summary>
</histogram>

<histogram name="Media.UnderflowDuration.MSE" units="ms">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    The amount of time taken to leave the underflow state (i.e. resume playback)
    for Media Source Extensions (MSE) based playbacks.
  </summary>
</histogram>

<histogram name="Media.URLScheme" enum="URLSchemeForHistogram">
  <owner>scherkus@chromium.org</owner>
  <summary>
    URL scheme used with HTML5 media. (each URL provides one sample)
  </summary>
</histogram>

<histogram name="Media.VAJDA.DecoderFailure" enum="VAJDADecoderFailure">
  <owner>kcwu@chromium.org</owner>
  <summary>
    Error codes reported by jpeg decode using VA-API hardware jpeg decoder.
  </summary>
</histogram>

<histogram name="Media.VAVDA.DecoderFailure" enum="VAVDADecoderFailure">
  <owner>posciak@chromium.org</owner>
  <summary>
    Error codes reported by video decode using VA-API hardware video decoder.
  </summary>
</histogram>

<histogram name="Media.VAVDAH264.DecoderFailure" enum="VAVDAH264DecoderFailure">
  <obsolete>
    Deprecated as of 4/2015, partially replaced by Media.VAVDA.DecoderFailure.
  </obsolete>
  <owner>posciak@chromium.org</owner>
  <summary>
    Error codes reported by video decode using VA-API hardware video decoder.
  </summary>
</histogram>

<histogram name="Media.VAVEA.EncoderFailure" enum="VAVEAEncoderFailure">
  <owner>posciak@chromium.org</owner>
  <summary>
    Error codes reported by video encode using VA-API hardware video encoder.
  </summary>
</histogram>

<histogram name="Media.Video.Autoplay" enum="AutoplaySource">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>
    Records the autoplay source of videos. This includes
    Media.Video.Autoplay.Muted.
  </summary>
</histogram>

<histogram name="Media.Video.Autoplay.Muted" enum="AutoplaySource">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>Records the autoplay source of muted videos.</summary>
</histogram>

<histogram name="Media.Video.Autoplay.Muted.Attribute.OffscreenDuration"
    units="ms">
  <obsolete>
    Deprecated as autoplay muted video by attributed is paused when going
    offscreen since https://crbug.com/683141.
  </obsolete>
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>
    Records the offscreen playing duration of a muted video autoplaying from
    autoplay attribute.
  </summary>
</histogram>

<histogram name="Media.Video.Autoplay.Muted.Blocked"
    enum="AutoplayBlockedReason">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>
    Records the reason why autoplay of muted videos was blocked.
  </summary>
</histogram>

<histogram name="Media.Video.Autoplay.Muted.PlayMethod.BecomesVisible"
    enum="Boolean">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>
    Records muted video started playing with play() become visible at some
    point. The UMA for false is not complete since it is recorded in a
    destructor which is garbage-collected. Please subtract
    Media.Video.Autoplay.Muted &quot;play() method&quot; count with the true
    count of this histogram to obtain the real false count.
  </summary>
</histogram>

<histogram name="Media.Video.Autoplay.Muted.PlayMethod.OffscreenDuration"
    units="ms">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>
    Records the offscreen playing duration of a muted video autoplaying from
    play() method.
  </summary>
</histogram>

<histogram name="Media.Video.Autoplay.Muted.UnmuteAction" enum="BooleanSuccess">
  <owner>avayvod@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>
    Status of the unmute action on a video that autoplayed because it was muted.
  </summary>
</histogram>

<histogram name="Media.Video.FullscreenOrientationLock.LockResult"
    enum="VideoFullscreenOrientationLockResult">
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Result of the orientation lock attempt when a video enters fullscreen.
  </summary>
</histogram>

<histogram name="Media.Video.FullscreenOrientationLock.MetadataAvailability"
    enum="VideoFullscreenOrientationLockMetadataAvailability">
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Status of the metadata when attempting to lock the screen orientation for a
    fullscreen video.
  </summary>
</histogram>

<histogram name="Media.Video.KeyFrameDistance" units="ms">
  <owner>avayvod@chromium.org</owner>
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Records the time distance between consequent keyframes in a video. The new
    value is recorded for each video key frame decoded.
  </summary>
</histogram>

<histogram name="Media.Video.TimeFromForegroundToFirstFrame" units="ms">
  <obsolete>
    Deprecated as of 01/18/2017 in issue 670150. Replaced by
    Media.Video.TimeFromForegroundToFirstFrame.DisableTrack and
    Media.Video.TimeFromForegroundToFirstFrame.Paused.
  </obsolete>
  <owner>avayvod@chromium.org</owner>
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Records the time between the moment when the video element is brought to the
    foreground and when the video frame compositor outputs the next frame.
  </summary>
</histogram>

<histogram name="Media.Video.TimeFromForegroundToFirstFrame.DisableTrack"
    units="ms">
  <owner>avayvod@chromium.org</owner>
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Records the time between the moment when the video element that had video
    track disabled in the background is brought to the foreground and when the
    video frame compositor outputs the next frame. Recorded even if disabling
    video track in the background is turned off to collect data for the control
    group.
  </summary>
</histogram>

<histogram name="Media.Video.TimeFromForegroundToFirstFrame.Paused" units="ms">
  <owner>avayvod@chromium.org</owner>
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Records the time between the moment when the video element that was paused
    in the background is brought to the foreground and when the video frame
    compositor outputs the next frame. Recorded even if disabling pausing video
    in the background is turned off to collect data for the control group.
  </summary>
</histogram>

<histogram name="Media.VideoCapture.AspectRatio" units="%">
  <owner>mcasas@chromium.org</owner>
  <summary>
    Video Capture Device captured aspect ratio, as a rounded integer multiplied
    by 100. The collection is made in the VideoCaptureController upon reception
    of the first frame.
  </summary>
</histogram>

<histogram name="Media.VideoCapture.BlacklistedDevice"
    enum="BlacklistedVideoCaptureDeviceNames">
  <owner>mcasas@chromium.org</owner>
  <summary>
    Counts appearances of Blacklisted Video Capture devices during enumeration.
    This collection happens during first enumeration in the appropriate
    platforms' VideoCaptureDeviceFactory.
  </summary>
</histogram>

<histogram name="Media.VideoCapture.FrameRate" units="fps">
  <owner>mcasas@chromium.org</owner>
  <summary>
    Video Capture Device frame rate requested by VideoCaptureManager on
    AllocateAndStart(). The collection is made in the VideoCaptureController
    upon reception of the first frame.
  </summary>
</histogram>

<histogram name="Media.VideoCapture.FramesReceived" enum="BooleanReceived">
  <obsolete>
    Deprecated as of 10/2014 in issue 422822. Replaced by
    Media.VideoCaptureManager.Event and the two new values 3 and 4 in the enum
    VideoCaptureEvent.
  </obsolete>
  <owner>grunell@chromium.org</owner>
  <owner>mcasas@chromium.org</owner>
  <summary>
    Whether any frames were received during a video capture session. This metric
    is recorded when a video source is stopped.
  </summary>
</histogram>

<histogram name="Media.VideoCapture.Height" units="pixels">
  <owner>mcasas@chromium.org</owner>
  <summary>
    Video Capture Device captured frame height in pixels. The collection is made
    in the VideoCaptureController upon reception of the first frame.
  </summary>
</histogram>

<histogram name="Media.VideoCapture.MacBook.HardwareVersionWhenNoCamera"
    enum="MacBookVersions">
  <owner>perkj@chromium.org</owner>
  <summary>
    MacBook hardware version used when Chrome cannot enumerate a video device.
    This is used for tracking http://crbug.com/582931.
  </summary>
</histogram>

<histogram name="Media.VideoCapture.MacBook.NumberOfDevices" units="devices">
  <owner>perkj@chromium.org</owner>
  <summary>
    Number of video capture devices detected by Chrome during device
    enumeration. Zero devices indicate a problem since all MacBooks should have
    a built-in camera. This is used for tracking http://crbug.com/582931.
  </summary>
</histogram>

<histogram name="Media.VideoCapture.PixelFormat" enum="CapturePixelFormat">
  <obsolete>
    Deprecated 10/2014 in Issue 660493002.
  </obsolete>
  <owner>mcasas@chromium.org</owner>
  <summary>
    Pixel format provided by a Video Capture Device. The collection is made in
    the VideoCaptureController upon reception of the first frame.
  </summary>
</histogram>

<histogram name="Media.VideoCapture.Width" units="pixels">
  <owner>mcasas@chromium.org</owner>
  <summary>
    Video Capture Device captured frame width in pixels. The collection is made
    in the VideoCaptureController upon reception of the first frame.
  </summary>
</histogram>

<histogram name="Media.VideoCaptureApi.Mac" enum="CaptureApiMac">
  <owner>mcasas@chromium.org</owner>
  <summary>
    Video Capture and device enumeration/monitoring API used for Mac OS Lion or
    later. Collection is made only once when the flags are parsed and the
    appropriate library selected and/or loaded, successfully or not.
  </summary>
</histogram>

<histogram name="Media.VideoCaptureGpuJpegDecoder.InitDecodeSuccess"
    enum="BooleanSuccess">
  <owner>henryhsu@chromium.org</owner>
  <summary>
    Indicates whether we were successful in initializing hardware jpeg decoder
    for attempts to VideoCaptureGpuJpegDecoder::Initialize().
  </summary>
</histogram>

<histogram name="Media.VideoCaptureManager" units="ms">
  <owner>mcasas@chromium.org</owner>
  <summary>Measures the time taken for VideoCaptureManager::</summary>
</histogram>

<histogram name="Media.VideoCaptureManager.Event" enum="VideoCaptureEvent">
  <owner>grunell@chromium.org</owner>
  <owner>mcasas@chromium.org</owner>
  <summary>
    Counts video capture event, such as start and stop capture. Note that the
    ideal case is 50% start events and 50% normal stop events.
  </summary>
</histogram>

<histogram name="Media.VideoCodec" enum="VideoCodec">
  <owner>scherkus@chromium.org</owner>
  <summary>Video codec used in HTML5 media.</summary>
</histogram>

<histogram name="Media.VideoCodecProfile" enum="VideoCodecProfile">
  <owner>scherkus@chromium.org</owner>
  <summary>Video codec profile used in HTML5 media.</summary>
</histogram>

<histogram name="Media.VideoCodedAspectRatio" units="%">
  <obsolete>
    Deprecated 11/2016 in issue 2506533002.
  </obsolete>
  <owner>scherkus@chromium.org</owner>
  <summary>Coded aspect ratio of HTML5 video.</summary>
</histogram>

<histogram name="Media.VideoCodedWidth">
  <obsolete>
    Deprecated 11/2016 in issue 2506533002.
  </obsolete>
  <owner>scherkus@chromium.org</owner>
  <summary>Coded width of HTML5 video.</summary>
</histogram>

<histogram name="Media.VideoColorRange" enum="FFmpegColorRanges">
  <owner>scherkus@chromium.org</owner>
  <summary>
    Pixel format color range of HTML5 video. Emitted on video load.
  </summary>
</histogram>

<histogram name="Media.VideoDecoderFallback" enum="BooleanDidFallBack">
  <owner>watk@chromium.org</owner>
  <summary>
    Whether Chrome had to fall back to a secondary video decoder after the
    primary decoder failed reinitialization.
  </summary>
</histogram>

<histogram name="Media.VideoFormat" enum="VideoFormat">
  <obsolete>
    Replaced by Media.VideoFramePixelFormat 05/2015.
  </obsolete>
  <owner>mcasas@chromium.org</owner>
  <summary>Pixel format used in HTML5 video. Emitted on video load.</summary>
</histogram>

<histogram name="Media.VideoFrameColorSpace" enum="VideoFrameColorSpace">
  <owner>mcasas@chromium.org</owner>
  <owner>watk@chromium.org</owner>
  <summary>
    Color space or range used in HTML5 video. Emitted on video load.
  </summary>
</histogram>

<histogram name="Media.VideoFramePixelFormat" enum="VideoFramePixelFormat">
  <obsolete>
    Replaced by Media.VideoPixelFormatUnion 08/2015.
  </obsolete>
  <owner>mcasas@chromium.org</owner>
  <owner>watk@chromium.org</owner>
  <summary>Pixel format used in HTML5 video. Emitted on video load.</summary>
</histogram>

<histogram base="true" name="Media.VideoHeight.Initial" units="pixels">
  <owner>media-dev@chromium.org</owner>
  <summary>
    The height of the first video frame in an HTML5 video. Reported when the
    first video frame is available.
  </summary>
</histogram>

<histogram name="Media.VideoPersistence.AttemptResult"
    enum="VideoPersistenceAttemptResult">
  <owner>mlamouri@chromium.org</owner>
  <owner>peconn@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>
    Every time a video persistence session could be triggered, it records the
    result of the attempt.
  </summary>
</histogram>

<histogram name="Media.VideoPersistence.ControlsType"
    enum="VideoPersistenceControlsType">
  <owner>mlamouri@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>
    Record the type of controls a persisted video is using. This is recorded
    every time a video enters persistence mode
  </summary>
</histogram>

<histogram name="Media.VideoPersistence.Duration" units="ms">
  <owner>mlamouri@chromium.org</owner>
  <owner>peconn@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>
    Records the length during which a video was in a persistent state. It is
    recorded once per video persistence session.
  </summary>
</histogram>

<histogram name="Media.VideoPersistence.EndReason"
    enum="VideoPersistenceEndReason">
  <owner>mlamouri@chromium.org</owner>
  <owner>peconn@chromium.org</owner>
  <owner>zqzhang@chromium.org</owner>
  <summary>
    Records the reason why a video persistence session has ended.
  </summary>
</histogram>

<histogram name="Media.VideoPixelFormat" enum="VideoPixelFormat">
  <obsolete>
    Replaced by Media.VideoFormat 05/2015.
  </obsolete>
  <owner>scherkus@chromium.org</owner>
  <summary>Pixel format used in HTML5 video. Emitted on video load.</summary>
</histogram>

<histogram name="Media.VideoPixelFormatUnion" enum="VideoPixelFormatUnion">
  <owner>mcasas@chromium.org</owner>
  <owner>emircan@chromium.org</owner>
  <summary>
    Pixel format used in capture and HTML5 video. Emitted on video load.
  </summary>
</histogram>

<histogram name="Media.VideoRenderer.CadenceChanges" units="changes">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Indicates how many cadence changes have occurred during playback, a zero
    value is emitted at the beginning of playback. Subsequent values are emitted
    during video rendering for each cadence change (up to a maximum of 10).
  </summary>
</histogram>

<histogram name="Media.VideoRenderer.LowDelay" enum="Boolean">
  <owner>xhwang@chromium.org</owner>
  <summary>
    Indicates whether video is rendering in low delay mode. It's recorded when a
    video starts playing.
  </summary>
</histogram>

<histogram name="Media.VideoRotation" enum="VideoRotation">
  <owner>suderman@chromium.org</owner>
  <summary>Metadata rotation in mp4 videos. Emitted during demuxing.</summary>
</histogram>

<histogram name="Media.VideoTrackAdapter.FramesReceived" enum="BooleanReceived">
  <obsolete>
    Replaced by Media.VideoCapture.FramesReceived 09/2014.
  </obsolete>
  <owner>grunell@chromium.org</owner>
  <owner>mcasas@chromium.org</owner>
  <summary>
    If any frames were received during a video capture session. It's recorded
    when a video source is stopped.
  </summary>
</histogram>

<histogram name="Media.VideoVisibleAspectRatio" units="%">
  <owner>scherkus@chromium.org</owner>
  <summary>Visible aspect ratio of HTML5 video.</summary>
</histogram>

<histogram name="Media.VideoVisibleWidth">
  <owner>scherkus@chromium.org</owner>
  <summary>Visible width of HTML5 video.</summary>
</histogram>

<histogram name="Media.VirtualAudioCaptureStartupSuccess"
    enum="AudioCaptureStartupResult">
  <owner>maxmorin@chromium.org</owner>
  <summary>
    Whether capture started successfully after a high-latency input stream
    startup was requested.
  </summary>
</histogram>

<histogram name="Media.Vpx.VideoDecoderBuffersInUseByDecoder">
  <obsolete>
    Deprecated 05/2016.
  </obsolete>
  <owner>dcastagna@chromium.org</owner>
  <summary>Number of frame buffers used by Vpx decoder.</summary>
</histogram>

<histogram name="Media.Vpx.VideoDecoderBuffersInUseByDecoderAndVideoFrame">
  <obsolete>
    Deprecated 05/2016.
  </obsolete>
  <owner>dcastagna@chromium.org</owner>
  <summary>
    Number of frame buffers currently in use by both Vpx decoder and a
    VideoFrame.
  </summary>
</histogram>

<histogram name="Media.VpxVideoDecoder.Vp9DecodeTime" units="ms">
  <owner>dalecurtis@chromium.org</owner>
  <summary>Amount of time taken to decode one VP9 frame.</summary>
</histogram>

<histogram name="Media.VTVDA.HardwareAccelerated"
    enum="BooleanHardwareAccelerated">
  <owner>sandersd@chromium.org</owner>
  <summary>
    Whether a VTDecompressionSession is internally using hardware accelerated
    decoding.
  </summary>
</histogram>

<histogram name="Media.VTVDA.InitializationFailureReason"
    enum="VTVDAInitializationFailureType">
  <owner>sandersd@chromium.org</owner>
  <summary>
    Count of VideoToolbox initialization failure reasons. Successful
    initializations are counted as a special failure type. The sum of successes
    and failures gives a lower bound on the number of attempted initializations.
  </summary>
</histogram>

<histogram name="Media.VTVDA.SessionFailureReason"
    enum="VTVDASessionFailureType">
  <owner>sandersd@chromium.org</owner>
  <summary>
    Count of VTVDA session failure reasons. Successful initializations are
    counted as a special failure type. Since only successfully initialized
    session can fail, failures rates are computed as a simple ratio.
  </summary>
</histogram>

<histogram name="Media.WatchTime" units="ms">
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Watch time is defined as the amount of elapsed media time for audio+video
    media aggregated per player instance. A minimum of 7 seconds of unmuted,
    foreground media must be watched to start watch time monitoring. Watch time
    is checked on a regular basis and reported to UMA upon one of the stop
    events mentioned below or at player destruction if none occur prior.

    Any one of paused, hidden, or muted is sufficient to stop watch time metric
    reports. Each of these has a hysteresis where if the state change is undone
    within some time, the watch time will be counted as uninterrupted.

    Power events (on/off battery power) have a similar hysteresis, but unlike
    the aforementioned properties, will not stop metric collection.

    Each seek event will result in a new watch time metric being started and the
    old metric finalized as accurately as possible.
  </summary>
</histogram>

<histogram name="Media.WebAudioSourceProvider.SinkStatus"
    enum="OutputDeviceStatus">
  <owner>olka@chromium.org</owner>
  <owner>dalecurtis@chromium.org</owner>
  <summary>
    Status of audio sink provided to WebMediaPlayer. If not OK, null sink will
    be used for audio output instead.
  </summary>
</histogram>

<histogram base="true" name="Media.WebMediaPlayerImpl.Memory" units="KB">
  <owner>servolk@chromium.org</owner>
  <summary>
    Amount of memory used by the WebMediaPlayerImpl and its components.
  </summary>
</histogram>

<histogram name="Media.WindowsCoreAudioInput" enum="BooleanSuccess">
  <obsolete>
    Deprecated 01/2017 as Windows Core Audio is now the only audio input
    implementation on Windows.
  </obsolete>
  <owner>henrika@chromium.org</owner>
  <summary>
    Whether Chrome is using Windows Core Audio for audio input or not. Updated
    on Windows only when a low-latency audio input stream is created.
  </summary>
</histogram>

<histogram name="Media.YouTube.DelayedAndDroppedFramesPer5Sec"
    units="frames/5s">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The average number of delayed and dropped frames for the YouTube
    application.  Reported every 5 seconds.
  </summary>
</histogram>

<histogram name="Media.YouTube.DisplayedFramesPerSecond" units="frames/s">
  <obsolete>
    Deprecated 07/2015 in issue 508534.
  </obsolete>
  <owner>halliwell@chromium.org</owner>
  <summary>
    The average number of displayed frames for the YouTube application. Reported
    every 5 seconds.
  </summary>
</histogram>

<histogram name="Media.YouTube.TimeToBufferAv" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time needed to pre-buffer A/V data before the actual playback for the
    YouTube application.
  </summary>
</histogram>

<histogram name="Media.YouTube.TimeToBufferAvAfterAbort" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time needed to buffer A/V data after an abort for the YouTube application.
  </summary>
</histogram>

<histogram name="Media.YouTube.TimeToBufferAvAfterUnderrun" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time needed to buffer A/V data after an underrun for the YouTube
    application.
  </summary>
</histogram>

<histogram name="MediaGalleries.ScanCancelTime" units="ms">
  <owner>vandebo@chromium.org</owner>
  <summary>If a media scan was cancelled, the duration (in ms) it ran.</summary>
</histogram>

<histogram name="MediaGalleries.ScanDirectoriesFound">
  <owner>vandebo@chromium.org</owner>
  <summary>
    The number of directories with media files found during a scan.
  </summary>
</histogram>

<histogram name="MediaGalleries.ScanFinishedTime" units="ms">
  <owner>vandebo@chromium.org</owner>
  <summary>
    Duration in milliseconds taken to do a media scan that ran to completion.
  </summary>
</histogram>

<histogram name="MediaGalleries.ScanGalleriesGranted" units="%">
  <owner>vandebo@chromium.org</owner>
  <summary>
    The percentage of galleries accepted (not deselected) from the scan result
    dialog.
  </summary>
</histogram>

<histogram name="MediaGalleries.ScanGalleriesPopulated">
  <owner>vandebo@chromium.org</owner>
  <summary>
    The number of galleries added or updated in preferences after a scan.
  </summary>
</histogram>

<histogram name="MediaGalleries.Usage" enum="MediaGalleriesUsageType">
  <owner>vandebo@chromium.org</owner>
  <summary>Various usage counts for media galleries.</summary>
</histogram>

<histogram name="MediaRouter.Icon.Click.Location"
    enum="MediaRouterDialogOpenOrigin">
  <owner>apacible@chromium.org</owner>
  <summary>Location the user clicked to open the Media Router dialog.</summary>
</histogram>

<histogram name="MediaRouter.Provider.CreateRoute.Result"
    enum="MediaRouteProviderResult">
  <owner>imcheng@chromium.org</owner>
  <summary>Result of a request to create a route.</summary>
</histogram>

<histogram name="MediaRouter.Provider.JoinRoute.Result"
    enum="MediaRouteProviderResult">
  <owner>imcheng@chromium.org</owner>
  <summary>Result of a request to join a route.</summary>
</histogram>

<histogram name="MediaRouter.Provider.TerminateRoute.Result"
    enum="MediaRouteProviderResult">
  <owner>mfoltz@chromium.org</owner>
  <summary>Result of a request to terminate a route.</summary>
</histogram>

<histogram name="MediaRouter.Provider.Version" enum="MediaRouteProviderVersion">
  <owner>mfoltz@chromium.org</owner>
  <summary>
    Records how the major version of the Media Router component extension
    compares to the major version of the browser.
  </summary>
</histogram>

<histogram name="MediaRouter.Provider.WakeReason"
    enum="MediaRouteProviderWakeReason">
  <owner>mfoltz@chromium.org</owner>
  <summary>
    Reason that the Media Router woke the Media Route Provider event page.
  </summary>
</histogram>

<histogram name="MediaRouter.Provider.Wakeup" enum="MediaRouteProviderWakeup">
  <owner>mfoltz@chromium.org</owner>
  <summary>
    Records the outcome of waking the Media Router component's event page.
  </summary>
</histogram>

<histogram name="MediaRouter.Route.CreationOutcome"
    units="MediaRouterCreateRouteOutcome">
  <owner>apacible@chromium.org</owner>
  <summary>
    The number of times a Media Router create route response succeeds or fails.
    This breaks down the different failure types in to separate buckets.
  </summary>
</histogram>

<histogram name="MediaRouter.Ui.Action.CloseLatency" units="ms">
  <owner>apacible@chromium.org</owner>
  <summary>
    Duration in milliseconds taken from the user opening the Media Router dialog
    to the user closing the dialog. This is only recorded if closing the dialog
    is the first action the user takes.
  </summary>
</histogram>

<histogram name="MediaRouter.Ui.Action.StartLocal.Latency" units="ms">
  <owner>apacible@chromium.org</owner>
  <summary>
    Duration in milliseconds taken from the Media Router dialog showing the sink
    list and being populated with at least one device to the user selecting a
    device immediately after to create a new route.
  </summary>
</histogram>

<histogram name="MediaRouter.Ui.Action.StartLocalPosition"
    enum="MediaRouterSinkPositionLabel">
  <owner>apacible@chromium.org</owner>
  <summary>The index of the sink that was selected in the sink list.</summary>
</histogram>

<histogram name="MediaRouter.Ui.Action.StartLocalSessionSuccessful"
    enum="BooleanSuccess">
  <owner>apacible@chromium.org</owner>
  <summary>
    The number of times a session was successfully started versus failed.
  </summary>
</histogram>

<histogram name="MediaRouter.Ui.Action.StopRoute" enum="MediaRouteType">
  <owner>apacible@chromium.org</owner>
  <summary>The number of times a user stops different types of routes.</summary>
</histogram>

<histogram name="MediaRouter.Ui.Device.Count">
  <owner>apacible@chromium.org</owner>
  <summary>
    Counts the number of devices known and populated to the Media Router dialog
    three seconds after the dialog loads. Always expected to be non-negative.
  </summary>
</histogram>

<histogram name="MediaRouter.Ui.Dialog.LoadedWithData" units="ms">
  <owner>apacible@chromium.org</owner>
  <summary>
    Duration in milliseconds taken from the user click to open the Media Router
    dialog to initializing the dialog with data.
  </summary>
</histogram>

<histogram name="MediaRouter.Ui.Dialog.Paint" units="ms">
  <owner>apacible@chromium.org</owner>
  <summary>
    Duration in milliseconds taken from a user click to open the Media Router
    dialog to the initial paint.
  </summary>
</histogram>

<histogram name="MediaRouter.Ui.FirstAction" units="MediaRouterUserAction">
  <owner>apacible@chromium.org</owner>
  <summary>
    The first action taken by the user after opening the Media Router dialog.
  </summary>
</histogram>

<histogram name="MediaRouter.Ui.InitialState" enum="MediaRouterInitialViews">
  <owner>apacible@chromium.org</owner>
  <summary>
    The view that was shown when the Media Router dialog is initially opened.
  </summary>
</histogram>

<histogram name="MediaRouter.Ui.Navigate.SourceSelection"
    enum="MediaRouterSourceTypes">
  <owner>apacible@chromium.org</owner>
  <summary>
    The number of times the user selects a specific cast source type.
  </summary>
</histogram>

<histogram name="Memory.BackingStore">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>TBD.</summary>
</histogram>

<histogram name="Memory.Browser" units="KB">
  <obsolete>
    Deprecated 06/2016 Replaced with Memory.Browser.Large2.
  </obsolete>
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by the browser process.  Recorded once per UMA
    ping.  Note the existence of Memory.Browser.Large, which doesn't have
    overflow issues. TODO(rkaplow): This should be replaced with
    Memory.Browser.Large2 in M54.
  </summary>
</histogram>

<histogram name="Memory.Browser.Committed" units="MB">
  <owner>bashi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The total committed memory used by the browser process.  Recorded once per
    UMA ping.
  </summary>
</histogram>

<histogram name="Memory.Browser.Large" units="MB">
  <obsolete>
    Deprecated 07/2016 as it reports wrong numbers. crbug.com/629354. Replaced
    with Memory.Browser.Large2
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    The private working set used by the browser process.  Recorded once per UMA
    ping.
  </summary>
</histogram>

<histogram name="Memory.Browser.Large2" units="MB">
  <owner>bashi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by the browser process.  Recorded once per UMA
    ping.
  </summary>
</histogram>

<histogram name="Memory.CachedFontAndDC">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>TBD.</summary>
</histogram>

<histogram name="Memory.Chrome" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by each chrome:// renderer process.  Each
    process provides one sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.ChromeProcessCount" units="processes">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The count of active chrome:// renderer processes.  Recorded once per UMA
    ping.
  </summary>
</histogram>

<histogram name="Memory.CompressibleStringCount"
    enum="CompressibleStringCountType">
  <obsolete>
    Deprecated as of Aug 2016. CompressibleString has been reverted once at
    https://crrev.com/2227933002.
  </obsolete>
  <owner>hajimehoshi@chromium.org</owner>
  <summary>
    This records the frequency with which JavaScript source strings are
    compressed and decompressed in foreground and background tabs.  Compressing
    runs 10 seconds after the tab goes background and decompressing runs when
    JavaScript source string is required (e.g. V8 starts to compile). This
    measurement is a preparation to introduce CompressibleString class for
    JavaScript source strings to reduce Blink memory usage.
  </summary>
</histogram>

<histogram name="Memory.Coordinator.FreeMemoryUntilCritical" units="MB">
  <owner>bashi@chromium.org</owner>
  <summary>
    Available free memory until the system will be in a critical state. Critical
    is as defined by the OS (swapping will occur, or physical memory will run
    out, etc).
  </summary>
</histogram>

<histogram name="Memory.Coordinator.StateDuration" units="seconds">
  <obsolete>
    Obsolete as of 2/2017
  </obsolete>
  <owner>bashi@chromium.org</owner>
  <summary>Time elapsed between the global state changes.</summary>
</histogram>

<histogram name="Memory.Coordinator.StateOnCriticalNotificationReceived"
    enum="MemoryState">
  <obsolete>
    Obsolete as of 2/2017
  </obsolete>
  <owner>bashi@chromium.org</owner>
  <summary>
    The global state of memory coordinator when a critical pressure notification
    is received.
  </summary>
</histogram>

<histogram name="Memory.Coordinator.StateOnModerateNotificationReceived"
    enum="MemoryState">
  <obsolete>
    Obsolete as of 2/2017
  </obsolete>
  <owner>bashi@chromium.org</owner>
  <summary>
    The global state of memory coordinator when a moderate pressure notification
    is received.
  </summary>
</histogram>

<histogram name="Memory.Coordinator.TotalPrivate" units="MB">
  <obsolete>
    Obsolete as of 2/2017
  </obsolete>
  <owner>bashi@chromium.org</owner>
  <summary>
    The total private working set memory used by the browser and renderer
    processes when the memory coordinator changes the global memory state.
  </summary>
</histogram>

<histogram name="Memory.Coordinator.TrimMemoryLevel.Normal"
    enum="TrimMemoryLevel">
  <obsolete>
    Obsolete as of 2/2017
  </obsolete>
  <owner>bashi@chromium.org</owner>
  <summary>
    Android: Records trim memory level when the global state is NORMAL.
  </summary>
</histogram>

<histogram name="Memory.Coordinator.TrimMemoryLevel.Suspended"
    enum="TrimMemoryLevel">
  <obsolete>
    Obsolete as of 2/2017
  </obsolete>
  <owner>bashi@chromium.org</owner>
  <summary>
    Android: Records trim memory level when the global state is SUSPENDED.
  </summary>
</histogram>

<histogram name="Memory.Coordinator.TrimMemoryLevel.Throttled"
    enum="TrimMemoryLevel">
  <obsolete>
    Obsolete as of 2/2017
  </obsolete>
  <owner>bashi@chromium.org</owner>
  <summary>
    Android: Records trim memory level when the global state is THROTTLED.
  </summary>
</histogram>

<histogram name="Memory.DiscardableAllocationSize" units="KB">
  <owner>reveman@chromium.org</owner>
  <summary>
    The discardable memory allocation size in KB. Recorded each time a new
    discardable memory instance is created.
  </summary>
</histogram>

<histogram name="Memory.Experimental.Browser.PurgedMemory" units="MB">
  <owner>bashi@chromium.org</owner>
  <summary>
    Amount of reclaimed memory (in terms of the private working set size) after
    a purge request on the browser process. Recorded 2 seconds after the purge
    request.
  </summary>
</histogram>

<histogram base="true" name="Memory.Experimental.Renderer" units="MB">
<!-- Name completed by histogram_suffixes name="RendererMemoryAllocator" -->

  <owner>keishi@chromium.org</owner>
  <summary>The renderer process's memory usage after a page load.</summary>
</histogram>

<histogram name="Memory.Experimental.Renderer.LoadsInMainFrameDuringUptime"
    units="loads">
  <owner>keishi@chromium.org</owner>
  <summary>
    The number of loads in a main frame during the lifetime of a render process
    (excludes extensions). Emitted when the processes quits.
  </summary>
</histogram>

<histogram name="Memory.Experimental.Renderer.PurgedMemory" units="MB">
  <owner>bashi@chromium.org</owner>
  <summary>
    Amount of reclaimed memory (in terms of
    Memory.Experimental.Renderer.TotalAllocated) after a purge request on a
    renderer process. Recorded 2 seconds after the purge request.
  </summary>
</histogram>

<histogram name="Memory.Experimental.Renderer.Uptime" units="ms">
  <owner>keishi@chromium.org</owner>
  <summary>
    The uptime of a render process in time ticks (excludes extensions). Emitted
    when the processes quits.
  </summary>
</histogram>

<histogram name="Memory.Extension" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by each extension process.  Each process
    provides one sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.ExtensionProcessCount" units="processes">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The count of active extension processes.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.GlyphPagesPerLoad">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The number of glyph pages present in the renderer when it commits a load.
    Since this is per-sub-process, you can get the average number of glyph pages
    in the system by multiplying this number with the average number of
    renderers. Note that this typically won't count the glyph pages added as a
    result of the load that just committed, since layout will happen after the
    commit. There are 512 bytes per glyph page, but this number also very
    closely approximates the number of glyph width map pages in the same
    renderer. The only difference is that if you have font fallback, it will
    make a new glyph page and no width page, but in most common cases there is
    no fallback). Width pages are 1K each (256 floats), so you could think of
    this value as being the number of &quot;1.5K units related to glyphs per
    renderer per page load&quot;.
  </summary>
</histogram>

<histogram name="Memory.Gpu" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>jamescook@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by the GPU process.  Recorded once per UMA
    ping.
  </summary>
</histogram>

<histogram name="Memory.Graphics" units="MB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>jamescook@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    System-wide graphics driver memory consumption.  Recorded on Chrome OS for
    platforms where it is exposed by the kernel (for example, Intel i915 and
    Exynos Mali).  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.IPCChannelReader.ReceivedMessageSize" units="bytes">
  <obsolete>
    Obsolete as of 11/2015
  </obsolete>
  <owner>dskiba@chromium.org</owner>
  <summary>Size of messages received by IPC::ChannelReader.</summary>
</histogram>

<histogram name="Memory.NativeClient" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by each Native Client loader process.  Each
    process provides one sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.NativeClientBroker" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by each Native Client broker process.  Each
    process provides one sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.OOMKill.Contents.MemAllocatedMB" units="MB">
  <owner>oshima@chromium.org</owner>
  <summary>
    System-wide memory allocation right after a renderer was killed by
    oom-killer, roughly equivalent to the sum of memory allocated with malloc()
    in userspace plus graphics driver memory.
  </summary>
</histogram>

<histogram name="Memory.OOMKill.Contents.MemAvailableMB" units="MB">
  <owner>oshima@chromium.org</owner>
  <summary>
    System-wide file-backed memory plus free memory right after a renderer was
    killed by oom-killer, which should be smaller than or close to what the
    kernel uses to trigger low-memory notifications for tab discards. If this is
    higher than the kernel's threshold for tab discards, renderers may be killed
    due to reasons other than out-of-memory.
  </summary>
</histogram>

<histogram name="Memory.OOMKill.Contents.MemGraphicsMB" units="MB">
  <owner>oshima@chromium.org</owner>
  <summary>
    Graphics driver (GEM object) memory right after a renderer was killed by
    oom-killer.
  </summary>
</histogram>

<histogram name="Memory.OOMKill.Contents.MemShmemMB" units="MB">
  <owner>oshima@chromium.org</owner>
  <summary>
    System-wide shared memory right after a renderer was killed by oom-killer.
    Used primarily for shared buffers in the graphics system. Tracked because
    it's a historical source of leaks on Chrome OS.
  </summary>
</histogram>

<histogram name="Memory.OOMKill.Extensions.MemAllocatedMB" units="MB">
  <owner>oshima@chromium.org</owner>
  <summary>
    System-wide memory allocation right after a renderer was killed by
    oom-killer, roughly equivalent to the sum of memory allocated with malloc()
    in userspace plus graphics driver memory.
  </summary>
</histogram>

<histogram name="Memory.OOMKill.Extensions.MemAvailableMB" units="MB">
  <owner>oshima@chromium.org</owner>
  <summary>
    System-wide file-backed memory plus free memory right after a renderer was
    killed by oom-killer, which should be smaller than or close to what the
    kernel uses to trigger low-memory notifications for tab discards. If this is
    higher than the kernel's threshold for tab discards, renderers may be killed
    due to reasons other than out-of-memory.
  </summary>
</histogram>

<histogram name="Memory.OOMKill.Extensions.MemGraphicsMB" units="MB">
  <owner>oshima@chromium.org</owner>
  <summary>
    Graphics driver (GEM object) memory right after a renderer was killed by
    oom-killer.
  </summary>
</histogram>

<histogram name="Memory.OOMKill.Extensions.MemShmemMB" units="MB">
  <owner>oshima@chromium.org</owner>
  <summary>
    System-wide shared memory right after a renderer was killed by oom-killer.
    Used primarily for shared buffers in the graphics system. Tracked because
    it's a historical source of leaks on Chrome OS.
  </summary>
</histogram>

<histogram base="true" name="Memory.OpenFDs" units="files">
<!-- Name completed by histogram_suffixes name="MemoryFDsBroswerGpuAndRendererProcess" and name="MemoryFDsAllProcesses" -->

  <owner>dcastagna@chromium.org</owner>
  <owner>primiano@chromium.org</owner>
  <summary>
    The total number of open file descriptors opened per process.  Recorded once
    per UMA ping.
  </summary>
</histogram>

<histogram base="true" name="Memory.OpenFDsSoftLimit" units="files">
<!-- Name completed by histogram_suffixes name="MemoryFDsBroswerGpuAndRendererProcess" -->

  <owner>dcastagna@chromium.org</owner>
  <owner>primiano@chromium.org</owner>
  <summary>
    The limit of open file descriptors that can be opened per process.  Recorded
    once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.OtherProcessCount" units="processes">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The count of other various utility processes (nacl, gpu, sandbox, zygote,
    utility).  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.PepperFlashPlugin" units="KB">
  <owner>thestig@chromium.org</owner>
  <summary>
    The private working set used by each Pepper Flash plugin process. Each
    plugin process provides one sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.PepperPlugin" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by each Pepper plugin process.  Each plugin
    process provides one sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.PepperPluginBroker" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by each Pepper plugin broker process.  Each
    process provides one sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.PepperPluginBrokerProcessCount" units="processes">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The count of Pepper plugin broker processes, recorded once per metrics
    services (UMA) update.  See MetricsReportingScheduler for details.
  </summary>
</histogram>

<histogram name="Memory.PepperPluginProcessCount" units="processes">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The count of active Pepper plugin processes.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.Plugin" units="KB">
  <obsolete>
    Deprecated due to NPAPI removal.
  </obsolete>
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by each plugin process.  Each plugin process
    provides one sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.PluginProcessCount" units="processes">
  <obsolete>
    Deprecated due to NPAPI removal.
  </obsolete>
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The count of active plugin processes.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.PressureLevel" enum="MemoryPressureLevel">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The memory pressure level, which is recorded periodically. This shows the
    cumulative number of seconds that systems spend in each of the memory
    pressure states.
  </summary>
</histogram>

<histogram name="Memory.PressureLevelChanges" enum="MemoryPressureLevelChanges">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The number of pressure level state changes for each possible pairwise state
    change.
  </summary>
</histogram>

<histogram name="Memory.ProcessCount" units="processes">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The count of all active processes.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.ProcessLimit">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>The current process limit.  Recorded once per UMA ping.</summary>
</histogram>

<histogram name="Memory.Renderer" units="KB">
  <obsolete>
    Deprecated 06/2016 Replaced with Memory.Renderer.Large2.
  </obsolete>
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by each renderer process.  Each renderer
    process provides one sample.  Recorded once per UMA ping. TODO(rkaplow):
    This should be replaced with Memory.Renderer.Large2 in M54.
  </summary>
</histogram>

<histogram name="Memory.Renderer.Committed" units="MB">
  <owner>bashi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The total committed memory used by each renderer process.  Each renderer
    process provides one sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.Renderer.EstimatedDroppableEncodedSize" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <summary>
    The esitimated memory size which would be reduced when reusing disk cache is
    implemented.  If it is 100% sure that the encoded data is in disk cache, the
    same data in memory can be dropped to reduce memory usage.  This is
    rencorded when an ImageResource is pruned.  See crbug/664437.
  </summary>
</histogram>

<histogram name="Memory.Renderer.Large2" units="MB">
  <owner>bashi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by each renderer process.  Each renderer
    process provides one sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.RendererAll" units="MB">
  <owner>bashi@chromium.org</owner>
  <owner>hajimehoshi@chromium.org</owner>
  <owner>tasak@chromium.org</owner>
  <summary>
    The private working set used by each renderer process, including all
    renderer types, i.e. this includes Chrome renderer, extensions renderer, as
    well as regular renderer processes.  Each renderer process provides one
    sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.RendererAll.Committed" units="MB">
  <owner>bashi@chromium.org</owner>
  <owner>hajimehoshi@chromium.org</owner>
  <owner>tasak@chromium.org</owner>
  <summary>
    The total committed memory used by each renderer process, including all
    renderer types, i.e. this includes Chrome renderer, extensions renderer, as
    well as regular renderer processes.  Each renderer process provides one
    sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.RendererGrowthIn30Min" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Growth speed of the private working set used by each renderer process per 30
    minutes.  The usage and growth speed is recorded at most every 30 minutes,
    not every exact 30 minutes.  If the interval is longer than 30 minutes, it
    is normalized to a speed KB per 30 minutes.  Each renderer process provides
    one sample.  Recorded once per UMA log unless this is the first time the UMA
    log is recorded after startup of the renderer, 30 minutes have not passed
    from the last recording of the renderer or the usage goes down. If the usage
    goes down, the amount of the shrink will be recorded in the
    Memory.RendererShrinkIn30Min histogram.
  </summary>
</histogram>

<histogram name="Memory.RendererProcessCount" units="processes">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The count of active renderer processes.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.RendererShrinkIn30Min" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Shrink speed of the private working set used by each renderer process per 30
    minutes.  The usage and shrink speed is recorded at most every 30 minutes,
    not every exact 30 minutes.  If the interval is longer than 30 minutes, it
    is normalized to a speed KB per 30 minutes.  Each renderer process provides
    one sample.  Recorded once per UMA log unless this is the first time the UMA
    log is recorded after startup of the renderer, 30 minutes have not passed
    from the last recording of the renderer or the usage goes up. If the usage
    goes up, the amount of the growth will be recorded in the
    Memory.RendererGrowthIn30Min histogram.
  </summary>
</histogram>

<histogram name="Memory.SandboxHelper" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by each sandbox helper process.  Each sandbox
    helper process provides one sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.ShmemDir.AmountOfFreeSpace" units="MB">
  <owner>reveman@chromium.org</owner>
  <summary>
    The amount of free space in temporary directory for shared memory files.
    Recorded each time a new discardable memory manager instance is created.
  </summary>
</histogram>

<histogram name="Memory.Stats.Win.AvailPageFile" units="MB">
  <obsolete>
    Deprecated in 595320 and replaced with Memory.Stats.Win.AvailPageFile2.
  </obsolete>
  <owner>georgesak@chromium.org</owner>
  <summary>
    Windows-only metric that represents the maximum amount of memory the current
    process can commit. This value is equal to or smaller than the system-wide
    available commit value.
  </summary>
</histogram>

<histogram name="Memory.Stats.Win.AvailPageFile2" units="MB">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Windows-only metric that represents the maximum amount of memory the current
    process can commit. This value is equal to or smaller than the system-wide
    available commit value.
  </summary>
</histogram>

<histogram name="Memory.Stats.Win.AvailPhys" units="MB">
  <obsolete>
    Deprecated in 595320 and replaced with Memory.Stats.Win.AvailPhys2.
  </obsolete>
  <owner>georgesak@chromium.org</owner>
  <summary>
    Windows-only metric that represents the amount of physical memory currently
    available. This is the amount of physical memory that can be immediately
    reused without having to write its contents to disk first. It is the sum of
    the size of the standby, free, and zero lists.
  </summary>
</histogram>

<histogram name="Memory.Stats.Win.AvailPhys2" units="MB">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Windows-only metric that represents the amount of physical memory currently
    available. This is the amount of physical memory that can be immediately
    reused without having to write its contents to disk first. It is the sum of
    the size of the standby, free, and zero lists.
  </summary>
</histogram>

<histogram name="Memory.Stats.Win.AvailVirtual" units="MB">
  <obsolete>
    Deprecated in 595320 and replaced with Memory.Stats.Win.AvailVirtual2.
  </obsolete>
  <owner>georgesak@chromium.org</owner>
  <summary>
    Windows-only metric that represents the amount of unreserved and uncommitted
    memory currently in the user-mode portion of the virtual address space of
    the calling process.
  </summary>
</histogram>

<histogram name="Memory.Stats.Win.AvailVirtual2" units="MB">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Windows-only metric that represents the amount of unreserved and uncommitted
    memory currently in the user-mode portion of the virtual address space of
    the calling process.
  </summary>
</histogram>

<histogram name="Memory.Stats.Win.MemoryLoad" units="%">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Windows-only metric that represents the approximate percentage of physical
    memory that was in use (0 indicates no memory use and 100 indicates full
    memory use).
  </summary>
</histogram>

<histogram name="Memory.Stats.Win.TotalPageFile" units="MB">
  <obsolete>
    Deprecated in 595320 and replaced with Memory.Stats.Win.TotalPageFile2.
  </obsolete>
  <owner>georgesak@chromium.org</owner>
  <summary>
    Windows-only metric that represents the current committed memory limit for
    the system or the current process, whichever is smaller.
  </summary>
</histogram>

<histogram name="Memory.Stats.Win.TotalPageFile2" units="MB">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Windows-only metric that represents the current committed memory limit for
    the system or the current process, whichever is smaller.
  </summary>
</histogram>

<histogram name="Memory.Stats.Win.TotalPhys" units="MB">
  <obsolete>
    Deprecated in 595320 and replaced with Memory.Stats.Win.TotalPhys2.
  </obsolete>
  <owner>georgesak@chromium.org</owner>
  <summary>
    Windows-only metric that represents the amount of actual physical memory.
  </summary>
</histogram>

<histogram name="Memory.Stats.Win.TotalPhys2" units="MB">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Windows-only metric that represents the amount of actual physical memory.
  </summary>
</histogram>

<histogram name="Memory.Stats.Win.TotalVirtual" units="MB">
  <obsolete>
    Deprecated in 595320 and replaced with Memory.Stats.Win.TotalVirtual2.
  </obsolete>
  <owner>georgesak@chromium.org</owner>
  <summary>
    Windows-only metric that represents the size of the user-mode portion of the
    virtual address space of the calling process. This value depends on the type
    of process, the type of processor, and the configuration of the operating
    system. For example, this value is approximately 2 GB for most 32-bit
    processes on an x86 processor and approximately 3 GB for 32-bit processes
    that are large address aware running on a system with 4-gigabyte tuning
    enabled.
  </summary>
</histogram>

<histogram name="Memory.Stats.Win.TotalVirtual2" units="MB">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Windows-only metric that represents the size of the user-mode portion of the
    virtual address space of the calling process. This value depends on the type
    of process, the type of processor, and the configuration of the operating
    system. For example, this value is approximately 2 GB for most 32-bit
    processes on an x86 processor and approximately 3 GB for 32-bit processes
    that are large address aware running on a system with 4-gigabyte tuning
    enabled.
  </summary>
</histogram>

<histogram name="Memory.Swap.Browser" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The swap used by the browser process.  Recorded once per UMA ping if the
    system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.Chrome" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The swap used by each chrome:// renderer process.  Each process provides one
    sample.  Recorded once per UMA ping if the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.CompressedDataSize" units="MB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The amount of memory that swap was compressed into. Recorded once per UMA
    ping if the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.CompressionRatio">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The ratio of swapped data original size to compressed size. Recorded once
    per UMA ping if the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.Extension" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The swap used by each extension process.  Each process provides one sample.
    Recorded once per UMA ping if the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.Gpu" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The swap used by the GPU process.  Recorded once per UMA ping if the system
    has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.HaveSwapped" enum="BooleanSuccess">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Indicates that the system has swapped memory out at least once since boot.
    Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.Swap.MemUsedTotal" units="MB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The amount of memory that is used by swap, including bookkeeping.  Recorded
    once per UMA ping if the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.NativeClient" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The swap used by each Native Client loader process.  Each process provides
    one sample.  Recorded once per UMA ping if the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.NativeClientBroker" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The swap used by each Native Client broker process.  Each process provides
    one sample.  Recorded once per UMA ping if the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.NumReads">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The number of reads from swap.  Recorded once per UMA ping  if the system
    has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.NumWrites">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The number of writes to swap.  Recorded once per UMA ping if the system has
    swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.OriginalDataSize" units="MB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The amount of memory that was swapped out.  Recorded once per UMA ping if
    the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.PepperPlugin" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The swap used by each Pepper plugin process.  Each plugin process provides
    one sample.  Recorded once per UMA ping if the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.PepperPluginBroker" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The swap used by each Pepper plugin broker process.  Each process provides
    one sample.  Recorded once per UMA ping if the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.Plugin" units="KB">
  <obsolete>
    Deprecated due to NPAPI removal.
  </obsolete>
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The swap used by each plugin process.  Each plugin process provides one
    sample.  Recorded once per UMA ping if the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.Renderer" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The swap used by each renderer process.  Each renderer process provides one
    sample.  Recorded once per UMA ping if the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.SandboxHelper" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The swap used by each sandbox helper process.  Each sandbox helper process
    provides one sample.  Recorded once per UMA ping if the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.Total" units="MB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The sum of all processes' swap. Recorded once per UMA ping if the system has
    swapped. See Memory.Swap.Total2 for the same metric with higher precision
    bucketing.
  </summary>
</histogram>

<histogram name="Memory.Swap.Total2" units="MiB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The sum of all processes' swap. Recorded once per UMA ping if the system has
    swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.Utility" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The swap used by each utility process.  Each utility process provides one
    sample.  Recorded once per UMA ping if the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.Worker" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The swap used by each worker process.  Each worker process provides one
    sample.  Recorded once per UMA ping if the system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Swap.Zygote" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The swap used by the zygote process.  Recorded once per UMA ping if the
    system has swapped.
  </summary>
</histogram>

<histogram name="Memory.Total" units="MB">
  <obsolete>
    Deprecated 09/2016. Replaced by Memory.Total2.
  </obsolete>
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The sum of all processes. This is not aware of shared memory so it is just a
    rough estimate. Recorded once per UMA ping. See Memory.Total2 for the same
    metric with higher precision bucketing.
  </summary>
</histogram>

<histogram name="Memory.Total2" units="MiB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The sum of all processes. This is not aware of shared memory so it is just a
    rough estimate. Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.Utility" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by each utility process.  Each utility process
    provides one sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.Worker" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by each worker process.  Each worker process
    provides one sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.WorkerProcessCount" units="processes">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The count of active worker processes.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="Memory.Zygote" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    The private working set used by the zygote process.  Each zygote process
    provides one sample.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="MemoryAndroid.DeviceMemoryClass">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Value of getMemoryClass() recorded once upon startup. This is an integer,
    device-specific constant correlated with the amount of memory available on
    Android device.
  </summary>
</histogram>

<histogram name="MemoryAndroid.EvictionReason" enum="AndroidEvictionReason">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Reasons behind evictions of individual tabs, recorded upon each tab
    eviction.
  </summary>
</histogram>

<histogram name="MemoryAndroid.LowMemoryLoadedTabCount">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Number of loaded (memory-resident) tabs when LowMemory notification is
    delivered.
  </summary>
</histogram>

<histogram name="MemoryAndroid.LowMemoryTimeBetween" units="ms">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Time between two consecutive LowMemory notification in one foreground
    session.
  </summary>
</histogram>

<histogram name="MemoryAndroid.LowRamDevice" enum="Boolean">
  <owner>mariakhomenko@chromium.org</owner>
  <summary>
    Whether Chrome is running in low ram mode. This histogram is reported on
    every upload by Android devices. A device is considered low-RAM if it has
    512MiB of RAM or lower (see SysUtils.detectLowEndDevice()).

    Note: The low-RAM determination has changed in M-49, it used to be given
    directly by the Android OS.
  </summary>
</histogram>

<histogram name="MemoryAndroid.NotificationBackground"
    enum="AndroidMemoryNotificationBackground">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Memory notifications delivered through system callbacks to Chrome while in
    the background.
  </summary>
</histogram>

<histogram name="MemoryAndroid.NotificationForeground"
    enum="AndroidMemoryNotificationForeground">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@google.com</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Memory notifications delivered through system callbacks to Chrome while in
    the foreground - we count LowMemory notification vs particular levels of
    TrimMemory foreground notification.
  </summary>
</histogram>

<histogram name="MemoryPurgeController.ReclaimedPartitionAllocInactiveTab"
    units="KB">
  <owner>bashi@chromium.org</owner>
  <summary>The amount of reclaimed memory after a tab became inactive.</summary>
</histogram>

<histogram name="MemoryWarning.EvictedTabTimeSinceActive" units="ms">
  <obsolete>
    Deprecated as of 10/2016.
  </obsolete>
  <owner>lliabraa@chromium.org</owner>
  <summary>
    [iOS] When the OS sends a memory warning and the app evicts a tab, this
    histogram records the time since the evicted tab was active.
  </summary>
</histogram>

<histogram name="MemoryWarning.ProtectedTabTimeSinceActive" units="ms">
  <obsolete>
    Deprecated as of 10/2016.
  </obsolete>
  <owner>lliabraa@chromium.org</owner>
  <summary>
    [iOS] When the OS sends a memory warning and the app protects a tab, this
    histogram records the time since the protected tab was active.
  </summary>
</histogram>

<histogram name="Mist.SwitchResult" enum="MistSwitchResult">
  <owner>benchan@chromium.org</owner>
  <summary>
    The result (e.g. success or the type of failure) of a modem interface switch
    operation performed by mist on Chrome OS.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.Blocked"
    enum="SystemNotificationType">
  <owner>dtrainor@chromium.org</owner>
  <summary>
    Android: Represents the number of system notifications that were blocked and
    could not be shown by type.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.BlockedAfterShown"
    enum="SystemNotificationType">
  <owner>dtrainor@chromium.org</owner>
  <summary>
    Android: Represents the type of notification that was last shown before the
    user disabled notification permissions on Chrome.  This is only logged the
    first time we attempt to show a notification and fail.
  </summary>
</histogram>

<histogram name="Mobile.SystemNotification.Shown" enum="SystemNotificationType">
  <owner>dtrainor@chromium.org</owner>
  <summary>
    Android: Represents the number of system notifications that will be
    successfully shown to the user by type.
  </summary>
</histogram>

<histogram name="MobileDownload.BytesDownloaded" units="KB">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records the total data downloaded by completion status.
  </summary>
</histogram>

<histogram base="true" name="MobileDownload.BytesWasted.ChromeNetworkStack"
    units="KB">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records the total data wasted during download due to resumptions.
  </summary>
</histogram>

<histogram name="MobileDownload.CancelReason" enum="MobileDownloadCancelReason">
  <owner>qinmin@chromium.org</owner>
  <summary>Android: Records the reason that a download is canceled.</summary>
</histogram>

<histogram name="MobileDownload.DownloadResumption"
    enum="MobileDownloadResumption">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records user interaction on the download resumption button.
  </summary>
</histogram>

<histogram name="MobileDownload.DownloadTime" units="ms">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records the total time for a download by completion status.
  </summary>
</histogram>

<histogram name="MobileDownload.InterceptFailureReason"
    enum="MobileDownloadInterceptFailureReason">
  <obsolete>
    Deprecated 09/2016 in Issue 647755 with all downloads going through Chrome.
  </obsolete>
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records the reason that Chrome fails to intercept a download and
    pass it to the Android DownloadManager.
  </summary>
</histogram>

<histogram name="MobileDownload.InterruptionsCount">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records the total interruptions for a download by completion
    status.
  </summary>
</histogram>

<histogram name="MobileDownload.Notification.FixingSummaryLeak"
    enum="BooleanForegroundNotification">
  <owner>dtrainor@chromium.org</owner>
  <summary>
    Android: Records the situation where we try to fix a standalone downloads
    summary notification, which shouldn't be visible to the user.  True if the
    notification was a foreground notification, in which case we can't dismiss
    it and need to attempt a more drastic workaround. False if it was a normal
    notification and we can dismiss it easily (this is okay and expected
    behavior in some scenarios).
  </summary>
</histogram>

<histogram base="true" name="MobileDownload.ResumptionsCount">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records the number of resumptions for a download by resumption
    type. For all resumption types, this is recorded when a download is
    finished, completed or cancelled. For automatic resumptions, it is also
    recorded when user manually resumes the download to clear the auto retry
    count.
  </summary>
</histogram>

<histogram name="MobileFre.Progress" enum="MobileFreProgress">
  <owner>gogerald@chromium.org</owner>
  <summary>
    Android: Records which states of the &quot;first run experience&quot; have
    been reached. Each bucket represents a state and recorded everytime the
    state changed.
  </summary>
</histogram>

<histogram name="MobileFre.SignInChoice" enum="MobileFreSignInChoice">
  <owner>aruslan@chromium.org</owner>
  <summary>
    Android: How the user left the sign-in part of the &quot;first run
    experience&quot; activity (M-38+).
  </summary>
</histogram>

<histogram name="MobileFullscreenVideo.DurationAfterPotraitRotation" units="ms">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records the duration that a fullscreen video is played after device
    rotates from portrait to landscape mode for the first time, and before it
    exits fullscreen. If there is no device rotation or if the video starts with
    landscape mode, it is not recorded. If there are mutiple rotations between
    portrait and landscape mode, only one record is emitted and it is equal to
    the time period from the first rotation to the moment when the video exits
    fullscreen.
  </summary>
</histogram>

<histogram name="MobileFullscreenVideo.LandscapeDuration" units="ms">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records the duration that a fullscreen video is played in landscape
    mode. If a video starts playing in landscape mode, and then it is switched
    back and forth between landscape and portrait mode, only the time period
    before the first switch is accounted. If a video starts playing in portrait
    mode, it is not recorded.
  </summary>
</histogram>

<histogram name="MobileFullscreenVideo.LandscapeRotation" enum="BooleanEnabled">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records whether a fullscreen video is switched from landscape to
    portrait mode at any point during playback.
  </summary>
</histogram>

<histogram name="MobileFullscreenVideo.OrientationPortrait"
    enum="BooleanEnabled">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records the device orientation when a video enters fullscreen. The
    value is true if device orientation is portrait, or false otherwise. The
    video doesn't necessarily needs to be in a playing state.
  </summary>
</histogram>

<histogram name="MobileFullscreenVideo.PortraitDuration" units="ms">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records the duration that a fullscreen video is played in portrait
    mode. If a video starts playing in portrait mode, and then it is switched
    back and forth between landscape and portrait mode, only the time period
    before the first switch is accounted. If a video starts playing in landscape
    mode, it is not recorded.
  </summary>
</histogram>

<histogram name="MobileFullscreenVideo.PortraitRotation" enum="BooleanEnabled">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records whether a fullscreen video is switched from portrait to
    landscape mode at any point during playback.
  </summary>
</histogram>

<histogram name="MobileFullscreenVideo.VideoPortrait" enum="BooleanEnabled">
  <owner>qinmin@chromium.org</owner>
  <summary>
    Android: Records whether a video has a larger height than width when it
    enters the fullscreen mode.
  </summary>
</histogram>

<histogram name="MobileOmnibox.PressedClipboardSuggestionAge" units="ms">
  <owner>jif@chromium.org</owner>
  <owner>mpearson@chromium.org</owner>
  <summary>
    When a user presses an omnibox suggestion based on the content of the
    clipboard, this histograms records how long ago Chrome detected a change in
    the clipboard.

    Intended to be compared to Omnibox.ClipboardSuggestionShownAge.

    If Chrome never detected a change to the clipboard, no clipboard suggestion
    is shown, meaning this histogram will never be emitted to.
  </summary>
</histogram>

<histogram name="MobileStartup.MainIntentAction" enum="MobileStartingAction">
  <owner>mariakhomenko@chromium.org</owner>
  <summary>
    Android: Records the first action the user does within 10s of starting
    Chrome. Recorded in DocumentActivity and ChromeTabbedActivity only when the
    starting intent is of type MAIN.
  </summary>
</histogram>

<histogram name="MobileStartup.MobileMultiWindowInstances">
  <owner>dtrainor@chromium.org</owner>
  <summary>
    Android: Number of instances of Chrome currently open during a MultiWindow
    session.  Emitted every time Chrome is paused.  Only emitted on Android
    MultiWindow devices.

    A MultiWindow session is any period of time that Chrome was not used in a
    full screen mode but together with another Activity that is visible at the
    same time. This is only supported in a few Android models.
  </summary>
</histogram>

<histogram name="MobileStartup.MobileMultiWindowSession" units="%">
  <owner>miguelg@chromium.org</owner>
  <summary>
    Android: percent of the screen available for Chrome during a multi-window
    session. Emitted every time chrome is paused. Only emitted on Android
    MultiWindow devices.

    A multiwindow session is any period of time that Chrome was not used in full
    screen mode but together with some other application that is visible at the
    same time. This is only supported in a few Android models.
  </summary>
</histogram>

<histogram name="MobileStartup.NonMainIntentAction" enum="MobileStartingAction">
  <owner>mariakhomenko@chromium.org</owner>
  <summary>
    Android: Records the first action the user does within 10s of starting
    Chrome. Recorded in DocumentActivity and ChromeTabbedActivity only when the
    starting intent is not of type MAIN, e.g. VIEW, etc.
  </summary>
</histogram>

<histogram name="MobileStartup.TimeSinceLastUse" units="minutes">
  <owner>knn@chromium.org</owner>
  <summary>
    Android: The time since last use until Chrome is launched from the home
    screen. This is measured from the time the last tab is closed until a Main
    intent is received. Has a minute level precision for first 10 minutes
    increasing exponentially till 30 days.
  </summary>
</histogram>

<histogram name="MobileStartup.ToolbarFirstDrawTime" units="ms">
  <owner>yusufo@chromium.org</owner>
  <summary>
    Android: The time it takes from launch to the completion of first draw for
    Toolbar. This excludes activity creation time spent in framework.
  </summary>
</histogram>

<histogram name="MobileStartup.ToolbarFirstFocusTime" units="ms">
  <owner>mariakhomenko@chromium.org</owner>
  <summary>
    Android: The time it takes from launch to the first time the user focuses
    the omnibox if the user does so within first 30s of the launch. This
    excludes activity creation time spent in framework.
  </summary>
</histogram>

<histogram name="MobileStartup.ToolbarInflationTime" units="ms">
  <owner>mariakhomenko@chromium.org</owner>
  <summary>
    Android: The time spent performing toolbar layout inflation.
  </summary>
</histogram>

<histogram name="ModuleIntegrityVerification.BytesModified" units="bytes">
  <owner>anthonyvd@chromium.org</owner>
  <summary>
    Represents the amount of bytes in a module that are different on disk and in
    memory. Logged when the ModuleIntegrityVerifier determines that a module is
    different on disk and in memory after being triggered by an incident.
  </summary>
</histogram>

<histogram name="ModuleIntegrityVerification.Difference" units="bytes">
  <obsolete>
    Deprecated and removed from code as of 05/2015.
  </obsolete>
  <owner>anthonyvd@chromium.org</owner>
  <summary>
    Represents the difference in bytes deemed modified by the two
    ModuleIntegrityVerifier code paths. The suffix indicates which path had a
    higher value. Logged when the ModuleIntegrityVerifier determines that a
    module is different on disk and in memory after being triggered by an
    incident and the reported byte count for both methods is different.
  </summary>
</histogram>

<histogram name="ModuleIntegrityVerification.RelocationsUnordered"
    enum="ModuleIndex">
  <owner>grt@chromium.org</owner>
  <summary>
    Logged when the relocations in a module are not ordered causing the module
    verification to abort.
  </summary>
</histogram>

<histogram name="ModuleIntegrityVerification.RelocationsUnorderedModuleIndex">
  <obsolete>
    Deprecated 04/2015; replaced by
    ModuleIntegrityVerification.RelocationsUnordered.
  </obsolete>
  <owner>anthonyvd@chromium.org</owner>
  <summary>
    Logged when the relocations in a module are not ordered causing the module
    verification to abort. The value is the index of the affected module.
  </summary>
</histogram>

<histogram name="Mojo.MachPortRelay.BrokerError"
    enum="MojoMachPortRelayBrokerError">
  <owner>amistry@chromium.org</owner>
  <owner>erikchen@chromium.org</owner>
  <summary>
    Errors that the broker process encounters while trying to send or receive
    Mach ports from a child process.
  </summary>
</histogram>

<histogram name="Mojo.MachPortRelay.ChildError"
    enum="MojoMachPortRelayChildError">
  <owner>amistry@chromium.org</owner>
  <owner>erikchen@chromium.org</owner>
  <summary>
    Errors that a child process encounters while trying to receive Mach ports
    from the broker process.
  </summary>
</histogram>

<histogram name="Mojo.Shell.ChildConnectionTime" units="ms">
  <owner>rockot@chromium.org</owner>
  <summary>
    Measures the time it takes for a new child process to receive an
    initialization request from the Mojo shell. This is precisely the duration
    of the MojoShellConnectionImpl::BindToMessagePipe() call in ChildThreadImpl.
  </summary>
</histogram>

<histogram name="Mojo.System.GetParentPlatformHandleSyncTime" units="ms">
  <owner>rockot@chromium.org</owner>
  <summary>
    Measures the time it takes for a child to receive its parent platform handle
    synchronously from the broker on startup. This only applies to the subset of
    platforms on which the sync broker is used.
  </summary>
</histogram>

<histogram name="Mojo.System.MessagesAcceptedPerEvent">
  <owner>rockot@chromium.org</owner>
  <summary>
    Number of internal Mojo system messages processed synchronously during a
    single execution of NodeController::AcceptIncomingMessages(). This is called
    any time an event requires internal Mojo system messages to be pumped.
    Values below 4 are no longer logged.
  </summary>
</histogram>

<histogram name="Mojo.System.Node.ConnectedPeers">
  <owner>rockot@chromium.org</owner>
  <summary>
    Number of connected peer nodes tracked by a node. This is emitted any time a
    peer is added to or dropped from a node.
  </summary>
</histogram>

<histogram name="Mojo.System.Node.PendingChildren">
  <owner>rockot@chromium.org</owner>
  <summary>
    Number of connected pending child node connections tracked by a node. This
    is emitted any time a parent-child node connection is initiated or dropped.
  </summary>
</histogram>

<histogram name="Mouse.PointerSensitivity.Changed" enum="PointerSensitivity">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Tracks mouse sensitivity setting changes by the user. This replaces the old
    Mouse.Sensitivity.Changed metric.
  </summary>
</histogram>

<histogram name="Mouse.PointerSensitivity.Started" enum="PointerSensitivity">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Tracks mouse sensitivity setting on startup. This replaces the old
    Mouse.Sensitivity.Started metric.
  </summary>
</histogram>

<histogram name="Mouse.Sensitivity.Changed" enum="PointerSensitivity">
  <obsolete>
    Deprecated as of 6/2013, replaced by Mouse.PointerSensitivity.Changed.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Tracks mouse sensitivity setting.</summary>
</histogram>

<histogram name="Mouse.Sensitivity.Started" enum="PointerSensitivity">
  <obsolete>
    Deprecated as of 6/2013, replaced by Mouse.PointerSensitivity.Started.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Tracks mouse sensitivity setting on startup.</summary>
</histogram>

<histogram name="MouseEventPrefetch.MouseDownDuration_Click" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the time elapsed between when the user mousedown-ed a link and when
    the user clicked a link.
  </summary>
</histogram>

<histogram name="MouseEventPrefetch.MouseDownFollowedByClick"
    enum="MouseEventFollowedByClick">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For each click handled by an HTML anchor tag link, whether Blink saw a
    mousedown event preceding it.  This is only measured for clicks handled by
    the anchor tag's default click event handler.
  </summary>
</histogram>

<histogram name="MouseEventPrefetch.MouseDowns">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of mousedown events detected at HTML anchor-tag links' default
    event handler.
  </summary>
</histogram>

<histogram name="MouseEventPrefetch.MouseOverDuration_Click" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the time elapsed between when the user mouseover-ed a link and when
    the user clicked a link.
  </summary>
</histogram>

<histogram name="MouseEventPrefetch.MouseOverDuration_NoClick" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the time elapsed between when the user mouseover-ed a link and when
    the user mouseout-ed a link without click.
  </summary>
</histogram>

<histogram name="MouseEventPrefetch.MouseOvers">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of mouseover events detected at HTML anchor-tag links' default
    event handler.
  </summary>
</histogram>

<histogram name="MouseEventPrefetch.PreTapEventsFollowedByClick"
    enum="PreTapEvents">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The tap gesture events detected before click at HTML anchor-tag links'
    default event handler.
  </summary>
</histogram>

<histogram name="MouseEventPrefetch.TapDownDuration_Click" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the time elapsed between when the user tapdown-ed a link and when
    the user clicked a link.
  </summary>
</histogram>

<histogram name="MouseEventPrefetch.TapDowns">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of gesturetapdown events detected at HTML anchor-tag links'
    default event handler.
  </summary>
</histogram>

<histogram name="MouseEventPrefetch.TapUnconfirmeds">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of gesturetapunconfirmed events detected at HTML anchor-tag
    links' default event handler.
  </summary>
</histogram>

<histogram name="MPArch.ChildProcessLaunchFirst">
  <owner>ppi@chromium.org</owner>
  <summary>
    The time it takes to spawn the first child subprocess (including sandbox
    init).
  </summary>
</histogram>

<histogram name="MPArch.ChildProcessLaunchSubsequent">
  <owner>ppi@chromium.org</owner>
  <summary>
    The time it takes to spawn child sub processes not counting the first one.
  </summary>
</histogram>

<histogram name="MPArch.IIR_InputEventDelta" units="ms">
  <obsolete>
    Deprecated 08/2016 due to lack of use (Histogram Eraser).
  </obsolete>
  <owner>rvargas@chromium.org</owner>
  <summary>
    The time spent waiting for the renderer to acknowledge an input event.
  </summary>
</histogram>

<histogram name="MPArch.RendererLaunchFirst">
  <obsolete>
    Deprecated 2/2013, renamed.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time it takes to spawn the first renderer subprocess (including sandbox
    init).
  </summary>
</histogram>

<histogram name="MPArch.RendererLaunchSubsequent">
  <obsolete>
    Deprecated 2/2013, renamed.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time it takes to spawn renderer sub processes not counting the first
    one.
  </summary>
</histogram>

<histogram name="MPArch.RPHCountPerLoad">
  <owner>ppi@chromium.org</owner>
  <summary>
    The number of RenderProcessHosts (i.e. renderer processes) present when each
    load completes. This is basically the average number of sub-processes over
    time. See also Tabs.TabCountPerLoad.
  </summary>
</histogram>

<histogram name="MPArch.RWH_HangMonitorUnresponsive" units="ms">
  <owner>amaralp@chromium.org</owner>
  <summary>
    The length of time the renderer is unresponsive according to the hang
    monitor. Recorded when the renderer regains responsiveness.
  </summary>
</histogram>

<histogram name="MPArch.RWH_InputEventDelta" units="ms">
  <obsolete>
    renamed MPArch.IIR_InputEventDelta.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time spent waiting for the renderer to acknowledge an input event.
  </summary>
</histogram>

<histogram name="MPArch.RWH_OnMsgPaintRect" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The time spent inside RenderWidgetHost::OnMsgPaintRect.</summary>
</histogram>

<histogram name="MPArch.RWH_OnMsgScrollRect" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The time spent inside RenderWidgetHost::OnMsgScrollRect.</summary>
</histogram>

<histogram name="MPArch.RWH_OnMsgUpdateRect">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>TBD</summary>
</histogram>

<histogram name="MPArch.RWH_RepaintDelta">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>TBD</summary>
</histogram>

<histogram name="MPArch.RWH_TabSwitchPaintDuration" units="ms">
  <owner>jbauman@chromium.org</owner>
  <summary>
    Time from tab switch requested to tab appearing on screen (Aura and Mac
    only).
  </summary>
</histogram>

<histogram name="MPArch.RWHH_WhiteoutDuration" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time that the user sees a blank white page after switching to a
    different tab, while the RenderWidgetHost receives data to paint from the
    renderer process.
  </summary>
</histogram>

<histogram name="MultiProfile.DiscardedTabsPerUser">
  <owner>skuhne@chromium.org</owner>
  <summary>
    The relation of discarded tabs vs. the amount of simultaneous users. The
    counts are the number of discards and the buckets are the number of users.
    Since the count values are absolute numbers, they need to be normalized
    before use - so divide the counts by the percentage of users per session
    found under 'MultiProfile.UsersPerSessionIncremental'.
  </summary>
</histogram>

<histogram name="MultiProfile.SessionMode" enum="MultiProfileSessionMode">
  <owner>skuhne@chromium.org</owner>
  <summary>
    The session counter for different multi profile modes which gets stored once
    per session at the beginning of the session.
  </summary>
</histogram>

<histogram name="MultiProfile.SigninUserUIPath"
    enum="MultiProfileSigninUserAction">
  <owner>skuhne@chromium.org</owner>
  <summary>
    Count the number of times each UI path is taken for signing into a new
    account in a Chrome OS multiprofile session. UI paths include the system
    tray and the user account switcher on the browser frame.
  </summary>
</histogram>

<histogram name="MultiProfile.SwitchActiveUserUIPath"
    enum="MultiProfileSwitchActiveUserAction">
  <owner>skuhne@chromium.org</owner>
  <summary>
    Count the number of times each UI path is taken for switching the active
    account in a Chrome OS multiprofile session. UI paths include the system
    tray and the keyboard shortcut.
  </summary>
</histogram>

<histogram name="MultiProfile.TeleportWindow"
    enum="MultiProfileTeleportWindowAction">
  <owner>skuhne@chromium.org</owner>
  <summary>
    Counts the number of window teleportations when using separated desktop
    mode.
  </summary>
</histogram>

<histogram name="MultiProfile.TeleportWindowType"
    enum="MultiProfileTeleportWindowType">
  <owner>skuhne@chromium.org</owner>
  <summary>
    Counts the number of teleported windows by types in separated desktop mode.
  </summary>
</histogram>

<histogram name="MultiProfile.UsersPerSession">
  <obsolete>
    Deprecated 3/2014, renamed to MultiProfile.UsersPerSessionIncremental.
  </obsolete>
  <owner>skuhne@chromium.org</owner>
  <summary>
    The number of users simultaneously signed into a multiprofile session on
    Chrome OS. This is recorded upon session end.
  </summary>
</histogram>

<histogram name="MultiProfile.UsersPerSessionIncremental">
  <owner>skuhne@chromium.org</owner>
  <summary>
    The number of users simultaneously signed into a multiprofile session on
    Chrome OS. This is recorded whenever a user gets added to the session. To
    get the correct count, all following counts must be subtracted. Example: If
    100 single user, 20 two user and 5 three user sessions, there were
    100-20-5=75 single user sessions, 100-80=20 dual user sessions and so on.
  </summary>
</histogram>

<histogram name="NaCl.Client.Helper.InitState" enum="NaClHelperStatus">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    When the browser started, what happened with the NaCl helper process?
  </summary>
</histogram>

<histogram name="NaCl.Client.Helper.StateOnFork" enum="NaClHelperStatus">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    When a NaCl application process was created, what had happened with the NaCl
    helper process when the browser was started?
  </summary>
</histogram>

<histogram name="NaCl.Client.OSArch" enum="NaClOSArchEnum">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>The OS/Architecture of a nexe that was loaded.</summary>
</histogram>

<histogram name="NaCl.HttpStatusCodeClass.Manifest.InstalledApp"
    enum="NaClHttpStatusCodeClass">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The status code returned when trying to load a manifest inside an installed
    app.
  </summary>
</histogram>

<histogram name="NaCl.HttpStatusCodeClass.Manifest.NotInstalledApp"
    enum="NaClHttpStatusCodeClass">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The status code returned when trying to load a manifest from a source other
    than an installed app.
  </summary>
</histogram>

<histogram name="NaCl.HttpStatusCodeClass.Nexe.InstalledApp"
    enum="NaClHttpStatusCodeClass">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The status code returned when trying to load a NaCl executable inside an
    installed app.
  </summary>
</histogram>

<histogram name="NaCl.HttpStatusCodeClass.Nexe.NotInstalledApp"
    enum="NaClHttpStatusCodeClass">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The status code returned when trying to load a NaCl executable from a source
    other than an installed app.
  </summary>
</histogram>

<histogram name="NaCl.LoadStatus.Plugin" enum="NaClPluginErrorCode">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>The error code returned by NaCl's Chrome plugin.</summary>
</histogram>

<histogram name="NaCl.LoadStatus.Plugin.InstalledApp"
    enum="NaClPluginErrorCode">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The error code returned by NaCl's Chrome plugin, but only for installed
    apps.
  </summary>
</histogram>

<histogram name="NaCl.LoadStatus.Plugin.NotInstalledApp"
    enum="NaClPluginErrorCode">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The error code returned by NaCl's Chrome plugin, but excluding installed
    apps.
  </summary>
</histogram>

<histogram name="NaCl.LoadStatus.SelLdr" enum="NaClSelLdrErrorCode">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>The error code returned by NaCl's sel_ldr.</summary>
</histogram>

<histogram name="NaCl.LoadStatus.SelLdr.InstalledApp"
    enum="NaClSelLdrErrorCode">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The error code returned by NaCl's sel_ldr, but only for installed apps.
  </summary>
</histogram>

<histogram name="NaCl.LoadStatus.SelLdr.NotInstalledApp"
    enum="NaClSelLdrErrorCode">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The error code returned by NaCl's sel_ldr, but excluding installed apps.
  </summary>
</histogram>

<histogram name="NaCl.Manifest.IsDataURI" enum="NaClManifestType">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    Was the manifest specified as a data URI rather than a .nmf file?
  </summary>
</histogram>

<histogram name="NaCl.ManifestDownloadTime" units="ms">
  <obsolete>
    Deprecated 6/2011, renamed.
  </obsolete>
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took to download the manifset file for a Native Client module.
  </summary>
</histogram>

<histogram name="NaCl.ModuleUptime.Crash" units="ms">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>The time a NaCl module ran before it crashed.</summary>
</histogram>

<histogram name="NaCl.ModuleUptime.Normal" units="ms">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>The time a NaCl module ran without crashing, at shutdown.</summary>
</histogram>

<histogram name="NaCl.NexeDownloadTime" units="ms">
  <obsolete>
    Deprecated 6/2011, renamed.
  </obsolete>
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took to download the main .nexe for a Native Client module.
  </summary>
</histogram>

<histogram name="NaCl.NexeSize" units="KB">
  <obsolete>
    Deprecated 6/2011, renamed.
  </obsolete>
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The size of the main .nexe file downloaded for a Native Client module.
  </summary>
</histogram>

<histogram name="NaCl.NexeStartupTime" units="ms">
  <obsolete>
    Deprecated 6/2011, renamed.
  </obsolete>
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took between the Native Client plugin initialization and when
    proxied execution of the NaCl module begins. This is the general startup
    overhead of running as a NaCl module vs a trusted PPAPI plugin.
  </summary>
</histogram>

<histogram name="NaCl.NexeStartupTimePerMB" units="milliseconds/MB">
  <obsolete>
    Deprecated 6/2011, renamed.
  </obsolete>
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took between the Native Client plugin initialization and when
    proxied execution of the NaCl module begins. This is the general startup
    overhead of running as a NaCl module vs a trusted PPAPI plugin.
  </summary>
</histogram>

<histogram name="NaCl.Options.PNaCl.OptLevel" enum="PNaClOptionsOptLevelEnum">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The optimization level set for the initial Portable Native Client
    translation from bitcode to native code.
  </summary>
</histogram>

<histogram name="NaCl.OSArch" enum="NaClOSArchEnum">
  <obsolete>
    Deprecated 6/2011, renamed.
  </obsolete>
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>The OS/Architecture of a nexe that was loaded.</summary>
</histogram>

<histogram name="NaCl.Perf.PNaClCache.IsHit" enum="PNaClTranslationCacheEnum">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    Did the Portable Native Client translation cache find an executable
    translated from bitcode?
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.CompileKBPerSec" units="KB/s">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The rate for compiling a Portable Native Client bitcode file to an object
    file in Kilobytes per second.
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.CompileTime" units="ms">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took to compile a Portable Native Client bitcode file to an
    object file.
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.LinkTime" units="ms">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took to link a Portable Native Client generated object file into
    a Native Client executable.
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.LoadCompiler" units="ms">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took to load and validate the Portable Native Client compiler.
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.LoadLinker" units="ms">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took to load and validate the Portable Native Client linker.
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.PctCompiledWhenFullyDownloaded"
    units="%">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The percentage of a Portable Native Client application that is compiled by
    the time the application is fully downloaded (compile and download happen in
    parallel).
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.TotalUncachedKBPerSec" units="KB/s">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The rate for completely translating a Portable Native Client bitcode file
    into a Native Client executable and caching the result in Kilobytes per
    second.
  </summary>
</histogram>

<histogram name="NaCl.Perf.PNaClLoadTime.TotalUncachedTime" units="ms">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The total time it took to completely translate a Portable Native Client
    bitcode file into a Native Client executable, and cache the result.
  </summary>
</histogram>

<histogram name="NaCl.Perf.ShutdownTime.Total" units="ms">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>The time it took the NaCl module to shut down.</summary>
</histogram>

<histogram name="NaCl.Perf.Size.Manifest" units="KB">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>The size of the manifest file.</summary>
</histogram>

<histogram name="NaCl.Perf.Size.Nexe" units="KB">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The size of the main .nexe file downloaded for a Native Client module.
  </summary>
</histogram>

<histogram name="NaCl.Perf.Size.Pexe" units="KB">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The size of the main .pexe bitcode file downloaded for a Portable Native
    Client module.
  </summary>
</histogram>

<histogram name="NaCl.Perf.Size.PexeNexeSizePct" units="%">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The size of the main .pexe bitcode file divided by the size of the .nexe
    that is the result of translating the bitcode file, times 100.
  </summary>
</histogram>

<histogram name="NaCl.Perf.Size.PNaClTranslatedNexe" units="KB">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The size of the main .nexe file that is the result of translating a Portable
    Native Client .pexe bitcode file.  This reflects the amount of cache
    consumed.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.LoadModule" units="ms">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>The time it took to load the NaCl module into sel_ldr.</summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.LoadModulePerMB" units="milliseconds/MB">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took to load the NaCl module into sel_ldr.  Normalized by the
    size of the .nexe, in megabytes.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.ManifestDownload" units="ms">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took to download the manifset file for a Native Client module.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.NaClOverhead" units="ms">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took between the Native Client plugin initialization and when
    proxied execution of the NaCl module begins. This is the general startup
    overhead of running as a NaCl module vs a trusted PPAPI plugin.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.NaClOverheadPerMB"
    units="milliseconds/MB">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took between the Native Client plugin initialization and when
    proxied execution of the NaCl module begins. This is the general startup
    overhead of running as a NaCl module vs a trusted PPAPI plugin.  Normalized
    by the size of the .nexe, in megabytes.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.NexeDownload" units="ms">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took to download the main .nexe for a Native Client module.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.NexeDownloadPerMB"
    units="milliseconds/MB">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took to download the main .nexe for a Native Client module.
    Normalized by the size of the .nexe, in megabytes.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.Total" units="ms">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took between the Native Client plugin initialization and when
    the NaCl module is ready to be used.
  </summary>
</histogram>

<histogram name="NaCl.Perf.StartupTime.TotalPerMB" units="milliseconds/MB">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The time it took between the Native Client plugin initialization and when
    the NaCl module is ready to be used.  Normalized by the size of the .nexe,
    in megabytes.
  </summary>
</histogram>

<histogram name="NaCl.Startups" enum="NaClStartupEnum">
  <obsolete>
    Deprecated 5/2011, data is duplicated by NaCl.NexeStartupTime, and
    normalizing to 'tab opens' is unusual.
  </obsolete>
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    The number of times that Native Client has been started by loading a .nexe
    compared to the number of times that a tab has been opened.
  </summary>
</histogram>

<histogram name="NaCl.ValidationCache.Query" enum="NaClValidationCacheEnum">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    Did a validation cache query find a previously known validation result?
  </summary>
</histogram>

<histogram name="NaCl.ValidationCache.Set" enum="NaClValidationCacheEnum">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <summary>
    Was the validation cache updated with a new validation result?
  </summary>
</histogram>

<histogram name="Navigation.ClearSiteData.Duration" units="ms">
  <owner>msramek@chromium.org</owner>
  <summary>
    Recorded when a navigation is deferred while clearing site data. Indicates
    how much time the clearing took.
  </summary>
</histogram>

<histogram name="Navigation.ClearSiteData.Parameters"
    enum="ClearSiteDataParameters">
  <owner>msramek@chromium.org</owner>
  <summary>
    The parameters of the Clear-Site-Data header. Recorded when the header is
    successfully parsed.
  </summary>
</histogram>

<histogram name="Navigation.DeferredDocumentLoading.StatesV1"
    enum="DocumentStateForDeferredLoading">
  <obsolete>
    Deprecated 10/2016 in favor of Navigation.DeferredDocumentLoading.StatesV2.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Why and if cross-origin documents would be loaded in a world where we defer
    loading until they are visible.
  </summary>
</histogram>

<histogram name="Navigation.DeferredDocumentLoading.StatesV2"
    enum="DocumentStateForDeferredLoadingV2">
  <obsolete>
    Deprecated 10/2016 in favor of Navigation.DeferredDocumentLoading.StatesV3.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Why and if cross-origin documents would be loaded if we were to defer
    loading as long as possible.
  </summary>
</histogram>

<histogram name="Navigation.DeferredDocumentLoading.StatesV3"
    enum="DocumentStateForDeferredLoadingV3">
  <obsolete>
    Deprecated 3/2017 in favor of Navigation.DeferredDocumentLoading.StatesV4.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Why and if cross-origin documents would be loaded if we were to defer
    loading as long as possible. Difference from V2: frames positioned both
    above and to the left of the page have their own bucket and are no longer
    counted in the &quot;above&quot; bucket.
  </summary>
</histogram>

<histogram name="Navigation.DeferredDocumentLoading.StatesV4"
    enum="DocumentStateForDeferredLoadingV4">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Why and if cross-origin documents would be loaded if we were to defer
    loading as long as possible. Changes from V3: replace detailed reasons with
    summaries for four strategies. E.g. any document that would load under a
    strategy of loading when a frame is two screens away is logged to the
    WouldLoad2Screens AND WouldLoad3Screens bucket. We only record documents
    below the current viewport, not to the right of it.
  </summary>
</histogram>

<histogram name="Navigation.EngagementTime.HTTP" units="ms">
  <owner>felt@chromium.org</owner>
  <summary>
    The amount of time that an HTTP page was in the foreground. Recorded on
    every page close/transition.
  </summary>
</histogram>

<histogram name="Navigation.EngagementTime.HTTPS" units="ms">
  <owner>felt@chromium.org</owner>
  <summary>
    The amount of time that an HTTPS page was in the foreground. Recorded on
    every page close/transition.
  </summary>
</histogram>

<histogram name="Navigation.EngagementTime.Ratio" units="%">
  <owner>felt@chromium.org</owner>
  <summary>
    The percentage of time that HTTPS pages were in the foreground, as compared
    to total foreground time. Recorded whenever user metrics are uploaded.
  </summary>
</histogram>

<histogram name="Navigation.FrameHasEmbeddedCredentials" enum="Boolean">
  <obsolete>
    Deprecated 03/2017 in Issue 703460.
  </obsolete>
  <owner>palmer@chromium.org</owner>
  <owner>cbentzel@chromium.org</owner>
  <summary>
    Whether the navigation was to a URL that had embedded credentials.
  </summary>
</histogram>

<histogram name="Navigation.IOSWKWebViewSlowFastBackForward"
    enum="BackForwardNavigationType">
  <owner>eugenebut@chromium.org</owner>
  <summary>
    Counts slow/fast back/forward WKWebView navigations on iOS. Fast navigation
    is a back/forward navigation done with WKBackForwardList.
  </summary>
</histogram>

<histogram name="Navigation.IsMobileOptimized" enum="BooleanIsMobileOptimized">
  <owner>cjhopman@chromium.org</owner>
  <owner>nyquist@chromium.org</owner>
  <summary>
    Signifies whether a succesfully finished page load for the main frame
    content width fits within the device width and/or has a fixed page scale.
  </summary>
</histogram>

<histogram name="Navigation.MainFrameHasEmbeddedCredentials" enum="Boolean">
  <obsolete>
    Deprecated 03/2017 in Issue 703460.
  </obsolete>
  <owner>palmer@chromium.org</owner>
  <owner>cbentzel@chromium.org</owner>
  <summary>
    Whether the main-frame navigation was to a URL that had embedded
    credentials.
  </summary>
</histogram>

<histogram name="Navigation.MainFrameScheme" enum="NavigationScheme">
  <owner>cbentzel@chromium.org</owner>
  <owner>davidben@chromium.org</owner>
  <summary>The scheme of the URL for each main-frame navigation.</summary>
</histogram>

<histogram name="Navigation.MainFrameScheme.DataUrl.MimeType"
    enum="DataUrlMimeType">
  <owner>meacer@chromium.org</owner>
  <summary>
    The mime type of the data: URL for each main-frame navigation. This only
    contains mime types that can run scripts.
  </summary>
</histogram>

<histogram name="Navigation.MainFrameSchemeDifferentPage"
    enum="NavigationScheme">
  <owner>cbentzel@chromium.org</owner>
  <owner>davidben@chromium.org</owner>
  <summary>
    The scheme of the URL for each main-frame navigation that goes to a
    different page. Transitions like fragment change or history.pushState are
    excluded.
  </summary>
</histogram>

<histogram name="Navigation.OnBeforeUnloadOverheadTime" units="ms">
  <owner>carlosk@chromium.org</owner>
  <summary>
    Overhead time spent handling the OnBeforeUnload event from the browser
    standpoint. More precisely, it is the total time between dispatch and
    acknowledgment of the BeforeUnload event on the browser side, minus the
    actual time spent executing the BeforeUnload handlers on the renderer side.
  </summary>
</histogram>

<histogram name="Navigation.RedirectChainSize" units="characters">
  <owner>haitaol@chromium.org</owner>
  <owner>donnd@chromium.org</owner>
  <summary>
    Total length of the redirect URL strings in navigation entry. Logged when
    entry is committed.
  </summary>
</histogram>

<histogram name="Navigation.Reload.ReloadMainResourceToReloadDuration"
    units="ms">
  <owner>toyoshim@chromium.org</owner>
  <summary>
    Reported when a user triggers reload without any other navigations after the
    previous reload in the same page, and the previous reload variant was
    RELOAD_MAIN_RESOURCE. Duration time between two reloads is reported.
  </summary>
</histogram>

<histogram name="Navigation.Reload.ReloadToReloadDuration" units="ms">
  <owner>toyoshim@chromium.org</owner>
  <summary>
    Reported when a user triggers reload without any other navigations after the
    previous reload in the same page. Duration time between two reloads is
    reported.
  </summary>
</histogram>

<histogram name="Navigation.Scheduled.MaybeCausedAbort"
    enum="ScheduledNavigationType">
  <owner>csharrison@chromium.org</owner>
  <summary>
    window.location and other scheduled navigation changes can cause the current
    provisional load to be aborted. Many times these are initiated without user
    gesture. This histogram logs counts of the various aborters.
  </summary>
</histogram>

<histogram name="Navigation.Scheduled.MaybeCausedAbort.Time" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    window.location and other scheduled navigation changes can cause the current
    provisional load to be aborted. Many times these are initiated without user
    gesture. This histogram logs the time between the aborted navigation start
    and the scheduled navigation start, if the aborted navigation has a non-zero
    navigationStart value.
  </summary>
</histogram>

<histogram name="Navigation.SchemePerUniqueOrigin" enum="NavigationScheme">
  <obsolete>
    Deprecated 4/2017 in Issue 712843.
  </obsolete>
  <owner>palmer@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    The scheme of the URL for the first main-frame navigation per origin per
    non-OffTheRecord session.
  </summary>
</histogram>

<histogram name="Navigation.SchemePerUniqueOriginOTR" enum="NavigationScheme">
  <obsolete>
    Deprecated 4/2017 in Issue 712843.
  </obsolete>
  <owner>palmer@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    The scheme of the URL for the first main-frame navigation per origin per
    OffTheRecord session.
  </summary>
</histogram>

<histogram name="Navigation.Start.RendererBrowserDifference.Negative"
    units="ms">
  <obsolete>
    Data collected and posted on issue 675833.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    The difference between Now() in the renderer and browser_navigation_start
    for browser-initiated navigations if the difference is negative. This value
    should ideally only reflect the IPC time between the browser process and
    renderer process, but in practice could be skewed by inter-process timing
    errors. If the clocks used for TimeTicks are monotonic across processes, all
    samples should fall into the Positive bucket.
  </summary>
</histogram>

<histogram name="Navigation.Start.RendererBrowserDifference.Positive"
    units="ms">
  <obsolete>
    Data collected and posted on issue 675833.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    The difference between Now() in the renderer and browser_navigation_start
    for browser-initiated navigations if the difference is positive. This value
    should ideally only reflect the IPC time between the browser process and
    renderer process, but in practice could be skewed by inter-process timing
    errors. If the clocks used for TimeTicks are monotonic across processes, all
    samples should fall into the Positive bucket.
  </summary>
</histogram>

<histogram name="Navigation.TimeToCommit" units="ms">
  <owner>carlosk@chromium.org</owner>
  <summary>
    Time between the start of a browser-started navigation request in and its
    commit.
  </summary>
</histogram>

<histogram name="Navigation.TimeToURLJobStart" units="ms">
  <owner>carlosk@chromium.org</owner>
  <summary>
    Time between the start of a browser-started navigation request and the
    reception of a corresponding ResourceRequest in the network stack.
  </summary>
</histogram>

<histogram name="Navigation.UI_OnCommitProvisionalLoad.Intent" units="ms">
  <owner>clamy@chromium.org</owner>
  <summary>
    Time between receiving an Android Intent and the navigation commit.
  </summary>
</histogram>

<histogram name="Navigation.UI_OnCommitProvisionalLoad.Link" units="ms">
  <owner>clamy@chromium.org</owner>
  <summary>Time between clicking on a link and the navigation commit.</summary>
</histogram>

<histogram name="Navigation.UI_OnLoadComplete.Intent" units="ms">
  <owner>clamy@chromium.org</owner>
  <summary>
    Time between receiving an Android intent and the document load complete
    event for a navigation in the main frame.
  </summary>
</histogram>

<histogram name="Navigation.UI_OnLoadComplete.Link" units="ms">
  <owner>clamy@chromium.org</owner>
  <summary>
    Time between clicking on a link and the document load complete event for a
    navigation in the main frame.
  </summary>
</histogram>

<histogram name="NCN.CellularConnectionSubtype" enum="ConnectionSubtype">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    The connection subtype of the network the client is connected to, when the
    client is on a cellular connection. This histogram is logged once per UMA
    record, if the user is on a cellular connection, at the time the record is
    finalized.
  </summary>
</histogram>

<histogram name="NCN.CM.FastestRTTOn2G" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of the fastest round-trip-time seen on a 2G connection,
    before the NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FastestRTTOn3G" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of the fastest round-trip-time seen on a 3G connection,
    before the NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FastestRTTOn4G" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of the fastest round-trip-time seen on a 4G connection,
    before the NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change. This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FastestRTTOnBluetooth" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of the fastest round-trip-time seen on a Bluetooth
    connection, before the NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FastestRTTOnEthernet" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of the fastest round-trip-time seen on an Ethernet
    connection, before the NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FastestRTTOnNone" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of the fastest round-trip-time seen while the
    NetworkChangeNotifier thought there was no network connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FastestRTTOnUnknown" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of the fastest round-trip-time seen on an unknown connection
    type, before the NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FastestRTTOnWifi" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of the fastest round-trip-time seen on a Wifi connection,
    before the NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FirstReadOn2G" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between switching to a 2G connection and receiving the first network
    data.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FirstReadOn3G" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between switching to a 3G connection and receiving the first network
    data.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FirstReadOn4G" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between switching to a 4G connection and receiving the first network
    data.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FirstReadOnBluetooth" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between switching to a Bluetooth connection and receiving the first
    network data.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FirstReadOnEthernet" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between switching to an Ethernet connection and receiving the first
    network data.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FirstReadOnNone" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between disconnecting and receiving the first network data.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FirstReadOnUnknown" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between switching to an unknown connection type and receiving the first
    network data.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.FirstReadOnWifi" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between switching to a Wifi connection and receiving the first network
    data.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.KBTransferedOn2G" units="KB">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How much data was transfered while connected via a 2G connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.KBTransferedOn3G" units="KB">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How much data was transfered while connected via a 3G connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.KBTransferedOn4G" units="KB">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How much data was transfered while connected via a 4G connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.KBTransferedOnBluetooth" units="KB">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How much data was transfered while connected via a Bluetooth connection,
    before the NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.KBTransferedOnEthernet" units="KB">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How much data was transfered while connected via an Ethernet connection,
    before the NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.KBTransferedOnNone" units="KB">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How much data was transfered while the NetworkChangeNotifier thought there
    was no network connection, before the NetworkChangeNotifier detected a
    connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.KBTransferedOnUnknown" units="KB">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How much data was transfered while connected via an unknown connection type,
    before the NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.KBTransferedOnWifi" units="KB">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How much data was transfered while connected via a Wifi connection, before
    the NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.PeakKbpsOn2G" units="Kbps">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of peak throughput seen on a 2G connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.PeakKbpsOn3G" units="Kbps">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of peak throughput seen on a 3G connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.PeakKbpsOn4G" units="Kbps">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of peak throughput seen on a 4G connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.PeakKbpsOnBluetooth" units="Kbps">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of peak throughput seen on a Bluetooth connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.PeakKbpsOnEthernet" units="Kbps">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of peak throughput seen on an Ethernet connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.PeakKbpsOnNone" units="Kbps">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of peak throughput seen while the NetworkChangeNotifier
    thought there was no network connection, before the NetworkChangeNotifier
    detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.PeakKbpsOnUnknown" units="Kbps">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of peak throughput seen on an unknown connection type, before
    the NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.PeakKbpsOnWifi" units="Kbps">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Rough estimate of peak throughput seen on a Wifi connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.TimeOn2G" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How long was spent connected via a 2G connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.TimeOn3G" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How long was spent connected via a 3G connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.TimeOn4G" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How long was spent connected via a 4G connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.TimeOnBluetooth" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How long was spent connected via a Bluetooth connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.TimeOnEthernet" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How long was spent connected via an Ethernet connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.TimeOnNone" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How long was spent disconnected, before the NetworkChangeNotifier detected a
    connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.TimeOnUnknown" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How long was spent connected via an unknown connection type, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.CM.TimeOnWifi" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How long was spent connected via a Wifi connection, before the
    NetworkChangeNotifier detected a connectivity change.

    This metric is recorded when the NetworkChangeNotifier detects a
    connectivity change.  This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NCN.ConnectionTypeChangeToIPAddressChange" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time from ConnectionTypeChanged message until IPAddressChanged message.
  </summary>
</histogram>

<histogram name="NCN.DNSConfigChange" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>Time between DNS configuration change messages.</summary>
</histogram>

<histogram name="NCN.GetActiveNetworkInfoResult"
    enum="NCNGetActiveNetworkInfoResult">
  <owner>pauljensen@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Records the result of querying the network info of the current active
    network. Useful for investigating how frequently the current network was
    unblocked, and why it was not unblocked. See http://crbug.com/677365.
  </summary>
</histogram>

<histogram name="NCN.GetConnectionTypeTime" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    How long does each call to NetworkChangeNotifier::GetConnectionType() take.
  </summary>
</histogram>

<histogram name="NCN.getNetInfo1stSuccess"
    enum="BooleanAvoidedNullPointerException">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    True if the first call to ConnectivityManager.getNetworkInfo(Network) did
    not throw NullPointerException, false if it did. Useful for investigating
    and avoiding unexpected exceptions, see http://crbug.com/592131.
  </summary>
</histogram>

<histogram name="NCN.getNetInfo2ndSuccess"
    enum="BooleanAvoidedNullPointerException">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Recorded after the first call to ConnectivityManager.getNetworkInfo(Network)
    threw a NullPointerException. True if the second call to
    ConnectivityManager.getNetworkInfo(Network) did not throw
    NullPointerException, false if it did. Useful for investigating and avoiding
    unexpected exceptions, see http://crbug.com/592131.
  </summary>
</histogram>

<histogram name="NCN.getWifiInfo1stSuccess"
    enum="BooleanAvoidedNullPointerException">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    True if the first call to WifiManager.getConnectionInfo() did not throw
    NullPointerException, false if it did. Useful for investigating and avoiding
    unexpected exceptions, see http://crbug.com/592131.
  </summary>
</histogram>

<histogram name="NCN.getWifiInfo2ndSuccess"
    enum="BooleanAvoidedNullPointerException">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Recorded after the first call to WifiManager.getConnectionInfo() threw a
    NullPointerException. True if the second call to
    ConnectivityManager.getNetworkInfo(Network) did not throw
    NullPointerException, false if it did. Useful for investigating and avoiding
    unexpected exceptions, see http://crbug.com/592131.
  </summary>
</histogram>

<histogram name="NCN.IPAddressChange" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>Time between IP address change messages.</summary>
</histogram>

<histogram name="NCN.IPAddressChangeToConnectionTypeChange" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time from IPAddressChanged message until ConnectionTypeChanged message.
  </summary>
</histogram>

<histogram name="NCN.NetworkOfflineChange" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between going online until we go offline change messages, using new
    filtered signal.
  </summary>
</histogram>

<histogram name="NCN.NetworkOnlineChange" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between going offline until we go online change messages, using new
    filtered signal.
  </summary>
</histogram>

<histogram name="NCN.NetworkOperatorMCCMNC">
  <owner>bolian@chromium.org</owner>
  <owner>bengr@google.com</owner>
  <owner>marq@google.com</owner>
  <summary>
    The MCC (mobile country code) and MNC (mobile network code) of the network
    operator when a new metrics log is created or when the network connection is
    changed. A value of zero means a non-mobile network or the operator code is
    unknown.
  </summary>
</histogram>

<histogram name="NCN.OfflineChange" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between going online until we go offline change messages.
  </summary>
</histogram>

<histogram name="NCN.OfflineDataRecv" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between when we thought we went offline and when we received some
    network data (a URLRequest read completed).
  </summary>
</histogram>

<histogram name="NCN.OfflineDataRecvAny5sBeforeOnline">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Count of how many times we received network data (a URLRequest read
    completed) while offline when some data was received at most five seconds
    before going online.
  </summary>
</histogram>

<histogram name="NCN.OfflineDataRecvUntilOnline" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between when we received the last network data (a URLRequest read
    completed) while offline and when we thought we went online.
  </summary>
</histogram>

<histogram name="NCN.OfflinePolls">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Count of how many times we polled the online/offline status before detecting
    an offline to online transition.
  </summary>
</histogram>

<histogram name="NCN.OnlineChange" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between going offline until we go online change messages.
  </summary>
</histogram>

<histogram name="NCN.PollingOfflineDataRecv" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Time between when we thought we went offline and when we received some
    network data (a URLRequest read completed), while polling
    NetworkChangeNotifier::GetConnectionType() still told us we were offline.
  </summary>
</histogram>

<histogram name="Net.AlternateProtocolBrokenLocation"
    enum="BrokenAlternateProtocolLocation">
  <owner>rch@chromium.org</owner>
  <summary>
    Breakdown of the locations when SetBrokenAlternateProtocol is called.
  </summary>
</histogram>

<histogram name="Net.AlternateProtocolUsage" enum="AlternateProtocolUsage">
  <owner>rch@chromium.org</owner>
  <summary>
    Breakdown of how requests which could potentially make use of an alternate
    protocol use or don't use the protocol.
  </summary>
</histogram>

<histogram name="Net.AlternateProtocolUsage.1000Truncated"
    enum="AlternateProtocolUsage">
  <obsolete>
    Deprecated 10/2014.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    Breakdown of how requests which could potentially make use of an alternate
    protocol use or don't use the protocol. Loaded data for 1000 servers and we
    have persisted 1000 MRU servers.
  </summary>
</histogram>

<histogram name="Net.AlternateProtocolUsage.200Truncated"
    enum="AlternateProtocolUsage">
  <obsolete>
    Deprecated 10/2014.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    Breakdown of how requests which could potentially make use of an alternate
    protocol use or don't use the protocol. Loaded data for 200 servers and we
    have persisted 1000 MRU servers.
  </summary>
</histogram>

<histogram name="Net.AlternateServiceFailed" enum="NetErrorCodes">
  <owner>tbansal@chromium.org</owner>
  <owner>rch@chromium.org</owner>
  <summary>
    Positive net error codes that failed alternative protocol requests end with.
    Recorded only when an alternative job fails, and the main job succeeds.
  </summary>
</histogram>

<histogram name="Net.AlternativeServiceServers.MoreOrEqualCacheEntries">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The difference between the size of alternative service mappings in cache and
    preferences. This tracks zero or negative values (when the difference
    between preferences size is less than or equal to memory cache size).
    Positive values are tracked by
    Net.AlternativeServiceServers.MorePrefsEntries.
  </summary>
</histogram>

<histogram name="Net.AlternativeServiceServers.MorePrefsEntries">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The difference between the size of alternative service mappings in
    preferences and cache. This tracks positive values (when the difference
    between preferences size is greater than memory cache size). Non positive
    values are tracked by Net.AlternativeServiceServers.MoreOrEqualCacheEntries.
  </summary>
</histogram>

<histogram name="Net.AlternativeServiceTypeForRequest"
    enum="AlternativeServiceType">
  <owner>bnc@chromium.org</owner>
  <summary>
    Information about the AlternativeService used for each request.
  </summary>
</histogram>

<histogram name="Net.AsyncResourceHandler_PendingDataCount">
  <obsolete>
    Deprecated 03/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of unacknowledged ResourceMsg_DataReceived messages.  This message
    is sent once per chunk of data read from the network.
  </summary>
</histogram>

<histogram name="Net.AsyncResourceHandler_PendingDataCount_WhenFull">
  <obsolete>
    Deprecated 03/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of unacknowledged ResourceMsg_DataReceived messages at the point
    where we pause network loading.
  </summary>
</histogram>

<histogram name="Net.AsyncResourceHandler_RedirectHopTime" units="ms">
  <obsolete>
    Data collection finished on 2015-03-31.
  </obsolete>
  <owner>bnc@chromium.org</owner>
  <summary>
    The time between the call of AsyncResourceHandler::OnRequestRedirected and
    the FollowRedirect IPC message from ResourceHost, that is, the length of the
    redirect browser-renderer-browser hop.
  </summary>
</histogram>

<histogram name="Net.AsyncResourceHandler_SharedIOBuffer_Alloc" units="bytes">
  <obsolete>
    Deprecated 03/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The size of a SharedIOBuffer allocation.</summary>
</histogram>

<histogram name="Net.AsyncResourceHandler_SharedIOBuffer_Used" units="bytes">
  <obsolete>
    Deprecated 03/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The number of bytes copied into a SharedIOBuffer.</summary>
</histogram>

<histogram name="Net.AsyncResourceHandler_SharedIOBuffer_UsedPercentage"
    units="%">
  <obsolete>
    Deprecated 03/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The percentage of a SharedIOBuffer allocation that is actually used.
  </summary>
</histogram>

<histogram name="Net.AsyncRevalidation.ReadError" enum="NetErrorCodes">
  <owner>ricea@chromium.org</owner>
  <summary>
    Counts of error codes received while reading the body of an async
    revalidation before getting a response. Only async revalidations that had a
    read error are counted.
  </summary>
</histogram>

<histogram name="Net.AsyncRevalidation.ResponseError" enum="NetErrorCodes">
  <owner>ricea@chromium.org</owner>
  <summary>
    Counts of error codes received while performing an async revalidation before
    getting a response. Only async revalidations that had in a response error
    are counted.
  </summary>
</histogram>

<histogram name="Net.AsyncRevalidation.Result" enum="AsyncRevalidationResult">
  <owner>ricea@chromium.org</owner>
  <summary>
    The result of an async revalidation resulting from application of the
    Cache-Control: stale-while-revalidate directive. All async revalidations are
    counted.
  </summary>
</histogram>

<histogram name="Net.AuthGenerateToken_basic" units="ms">
  <obsolete>
    Deprecated 01/2011 in https://crrev.com/70740
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The time to generate a Basic HTTP authentication token.</summary>
</histogram>

<histogram name="Net.AuthGenerateToken_digest" units="ms">
  <obsolete>
    Deprecated 01/2011 in https://crrev.com/70740
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The time to generate a Digest HTTP authentication token.</summary>
</histogram>

<histogram name="Net.AuthGenerateToken_negotiate" units="ms">
  <obsolete>
    Deprecated 01/2011 in https://crrev.com/70740
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time to generate a Negotiate (or SPNEGO) HTTP authentication token.
  </summary>
</histogram>

<histogram name="Net.AuthGenerateToken_ntlm" units="ms">
  <obsolete>
    Deprecated 01/2011 in https://crrev.com/70740
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The time to generate an NTLM HTTP authentication token.</summary>
</histogram>

<histogram name="Net.AutoReload.CountAtStop">
  <owner>ellyjones@chromium.org</owner>
  <owner>rdsmith@chromium.org</owner>
  <owner>cbentzel@chromium.org</owner>
  <summary>
    Number of times auto-reload has been attempted before auto-reload stopped
    without succeeding, either because the stop button was pressed or because
    the renderer was destroyed.
  </summary>
</histogram>

<histogram name="Net.AutoReload.CountAtSuccess">
  <owner>ellyjones@chromium.org</owner>
  <owner>rdsmith@chromium.org</owner>
  <owner>cbentzel@chromium.org</owner>
  <summary>
    Number of times auto-reload had to attempt to reload a page before
    succeeding.
  </summary>
</histogram>

<histogram name="Net.AutoReload.ErrorAtFirstSuccess" enum="NetErrorCodes">
  <owner>ellyjones@chromium.org</owner>
  <owner>rdsmith@chromium.org</owner>
  <owner>cbentzel@chromium.org</owner>
  <summary>
    Original error code that started an auto-reload which then succeeded on the
    first attempt.
  </summary>
</histogram>

<histogram name="Net.AutoReload.ErrorAtStop" enum="NetErrorCodes">
  <owner>ellyjones@chromium.org</owner>
  <owner>rdsmith@chromium.org</owner>
  <owner>cbentzel@chromium.org</owner>
  <summary>
    Error code, if any, when auto-reload stopped without succeeding, either
    because the stop button was pressed or because the renderer was destroyed.
  </summary>
</histogram>

<histogram name="Net.AutoReload.ErrorAtSuccess" enum="NetErrorCodes">
  <owner>ellyjones@chromium.org</owner>
  <owner>rdsmith@chromium.org</owner>
  <owner>cbentzel@chromium.org</owner>
  <summary>
    Original error code that started an auto-reload which then eventually
    succeeded.
  </summary>
</histogram>

<histogram name="Net.BidirectionalStream.ReceivedBytes" units="bytes">
  <owner>xunjieli@chromium.org</owner>
  <summary>Number of bytes received over this stream.</summary>
</histogram>

<histogram name="Net.BidirectionalStream.SentBytes" units="bytes">
  <owner>xunjieli@chromium.org</owner>
  <summary>Number of bytes sent over this stream.</summary>
</histogram>

<histogram name="Net.BidirectionalStream.TimeToReadEnd" units="ms">
  <owner>xunjieli@chromium.org</owner>
  <summary>
    How long it takes from starting the request to reading the end of the
    response.
  </summary>
</histogram>

<histogram name="Net.BidirectionalStream.TimeToReadStart" units="ms">
  <owner>xunjieli@chromium.org</owner>
  <summary>
    How long it takes from starting the request to reading the start of the
    response.
  </summary>
</histogram>

<histogram name="Net.BidirectionalStream.TimeToSendEnd" units="ms">
  <owner>xunjieli@chromium.org</owner>
  <summary>
    How long it takes from starting the request to when the last byte is sent.
  </summary>
</histogram>

<histogram name="Net.BidirectionalStream.TimeToSendStart" units="ms">
  <owner>xunjieli@chromium.org</owner>
  <summary>
    How long it takes from starting the request to when we can start sending
    data.
  </summary>
</histogram>

<histogram name="Net.CacheState.AllBytes">
  <obsolete>
    Part of a concluded experiment, 2016-08-02.
  </obsolete>
  <owner>ellyjones@chromium.org</owner>
  <owner>rdsmith@chromium.org</owner>
  <summary>Counts of response bytes by cache state.</summary>
</histogram>

<histogram name="Net.CacheState.AllRequests" enum="NetCacheState">
  <obsolete>
    Part of a concluded experiment, 2016-08-02.
  </obsolete>
  <owner>ellyjones@chromium.org</owner>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    State of the cache for a request, delta-encoding eligible or otherwise.
  </summary>
</histogram>

<histogram name="Net.CacheState.EncodeableBytes">
  <obsolete>
    Part of a concluded experiment, 2016-08-02.
  </obsolete>
  <owner>ellyjones@chromium.org</owner>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Counts of response bytes by cache state for delta-encoding eligible
    requests.
  </summary>
</histogram>

<histogram name="Net.CacheState.EncodeableRequests" enum="NetCacheState">
  <obsolete>
    Part of a concluded experiment, 2016-08-02.
  </obsolete>
  <owner>ellyjones@chromium.org</owner>
  <owner>rdsmith@chromium.org</owner>
  <summary>State of the cache for a delta-encoding eligible request.</summary>
</histogram>

<histogram name="Net.CertCommonNameFallback" enum="BooleanCommonNameMatch">
  <owner>rsleevi@chromium.org</owner>
  <summary>
    Whether the certificate common name was used for matching the hostname,
    instead of the subjectAlternativeName.

    Measures results for all CAs (internal and publicly-trusted).
  </summary>
</histogram>

<histogram name="Net.CertCommonNameFallbackPrivateCA"
    enum="BooleanCommonNameMatch">
  <owner>rsleevi@chromium.org</owner>
  <summary>
    Whether the certificate common name was used for matching the hostname,
    instead of the subjectAlternativeName.

    Measures results ony for internal (non-publicly-trusted) CAs.
  </summary>
</histogram>

<histogram name="Net.Certificate.AndroidAIAFetchError" enum="NetErrorCodes">
  <owner>estark@chromium.org</owner>
  <summary>
    The net error code returned after attempting an AIA fetch on Android.
    Recorded once per intermediate that Chrome attempts to fetch via AIA on
    Android.
  </summary>
</histogram>

<histogram name="Net.Certificate.IgnoreErrors" enum="BooleanEnabled">
  <owner>martinkr@google.com</owner>
  <summary>
    Whether certificate validation was disabled because the
    --ignore-certificate-errors switch was set on startup.
  </summary>
</histogram>

<histogram name="Net.Certificate.SHA1.MainFrame" enum="SHA1Status">
  <owner>rsleevi@chromium.org</owner>
  <summary>
    Whether or not SHA-1 was present in a resource fetched for the main frame,
    and if so, what its maximum validity period was.
  </summary>
</histogram>

<histogram name="Net.Certificate.SHA1.Subresource" enum="SHA1Status">
  <owner>rsleevi@chromium.org</owner>
  <summary>
    Whether or not SHA-1 was present in a subresource fetch, and if so, what its
    maximum validity period was.
  </summary>
</histogram>

<histogram name="Net.Certificate.TLSFeatureExtensionWithPrivateRoot"
    enum="Boolean">
  <owner>estark@chromium.org</owner>
  <summary>
    This histogram is recorded every time Chrome successfully verifies a
    certificate that chains to a private root. A value of true indicates that
    the certificate contains the TLS Feature Extension, and false indicates that
    it doesn't.
  </summary>
</histogram>

<histogram name="Net.Certificate.TLSFeatureExtensionWithPrivateRootHasOCSP"
    enum="Boolean">
  <owner>estark@chromium.org</owner>
  <summary>
    This histogram is recorded every time Chrome successfully verifies a
    certificate that chains to a private root and the certificate contains the
    TLS Feature Extension. A value of true indicates that the connection had an
    OCSP response stapled, and a value of false indicates that it did not.
  </summary>
</histogram>

<histogram name="Net.Certificate.VerificationSuccessAfterAIAFetchingNeeded"
    enum="BooleanSuccess">
  <owner>estark@chromium.org</owner>
  <summary>
    Whether or not certificate verification was successful after attempting AIA
    fetching on Android. Recorded once per certificate verification on Android
    that resulted in an untrusted-root error without AIA fetching.
  </summary>
</histogram>

<histogram name="Net.CertificatePinSuccess" enum="BooleanSuccess">
  <obsolete>
    Renamed to Net.PublicKeyPinSuccess 28 Oct 2011.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    A validated certificate chain may be subject to additional
    &quot;pinning&quot; requirements on a per-domain basis. This records the
    fraction of successful matches between a certificate chain and a pin list.
  </summary>
</histogram>

<histogram name="Net.CertificateTransparency.CanInclusionCheckSCT"
    enum="SCTCanBeChecked">
  <owner>eranm@chromium.org</owner>
  <summary>
    Whether an observed Signed Certificate Timestamp (SCT) can be checked for
    inclusion. An SCT can be checked for inclusion if the client has a valid
    Signed Tree Head (STH) and the STH currently known to the client was issued
    24 hours after the timestamp in the SCT (24 hours being the typical Maximum
    Merge Delay).
  </summary>
</histogram>

<histogram name="Net.CertificateTransparency.DnsQueryDuration" units="ms">
  <owner>robpercival@chromium.org</owner>
  <summary>
    The time taken to obtain an inclusion proof from a Certificate Transparency
    log over DNS. This includes the time taken to obtain the leaf index first.
    Emitted at the end of an attempt.
  </summary>
</histogram>

<histogram name="Net.CertificateTransparency.DnsQueryStatus"
    enum="CertificateTransparencyDnsQueryStatus">
  <owner>robpercival@chromium.org</owner>
  <summary>
    The status of each attempt to obtain an inclusion proof from a Certificate
    Transparency log over DNS. This can consist of more than one DNS request.
    Emitted at the end of an attempt.
  </summary>
</histogram>

<histogram name="Net.CertificateTransparency.InclusionCheckResult"
    enum="CTLogEntryInclusionCheckResult">
  <owner>eranm@chromium.org</owner>
  <summary>
    The result of an inclusion check for a Certificate Transparency log entry
    (composed of a TLS certificate observed together with Signed Certificate
    Timestamps). Emitted once per (TLS certificate, Signed Certificate
    Timestamp) pair observed and checked for inclusion (check results are
    cached).
  </summary>
</histogram>

<histogram name="Net.CertificateTransparency.MainFrameValidSCTCount">
  <owner>eranm@chromium.org</owner>
  <summary>
    Number of valid Signed Certificate Timestamps (SCTs) present for the
    main-frame resource. Emitted every time a main-frame resource is fetched.
  </summary>
</histogram>

<histogram name="Net.CertificateTransparency.PilotSTHAge" units="ms">
  <owner>eranm@chromium.org</owner>
  <summary>
    Age of Pilot's Signed Tree Head, as observed by the client, in minutes.
    Measuring the age of a particular log's Signed Tree Head will allow more
    informed update frequency of the Component Updater component that provides
    them. Emitted once for every STH update received by the component updater.
  </summary>
</histogram>

<histogram name="Net.CertificateTransparency.SCTOrigin" enum="SCTOrigin">
  <owner>eranm@chromium.org</owner>
  <summary>
    The origin breakdown of Signed Certificate Timestamps (SCTs). Emitted once
    for every SCT when first validated, which means 0 or more times during every
    SSL connection establishment.
  </summary>
</histogram>

<histogram name="Net.CertificateTransparency.SCTsPerConnection">
  <owner>eranm@chromium.org</owner>
  <summary>
    The number of Signed Certificate Timestamps (SCTs) that were available for
    each SSL connection, including SCTs embedded in the certificate. This metric
    measures how many SSL connections had SCTs available. Emitted during every
    SSL connection establishment.
  </summary>
</histogram>

<histogram name="Net.CertificateTransparency.SCTStatus" enum="SCTVerifyStatus">
  <owner>eranm@chromium.org</owner>
  <summary>
    Breakdown of Signed Certificate Timestamps (SCTs) validation status. Emitted
    once for every SCT when first validated, which means 0 or more times during
    every SSL connection establishment.
  </summary>
</histogram>

<histogram name="Net.CertVerifier_First_Job_Latency" units="ms">
  <owner>davidben@chromium.org</owner>
  <summary>
    The actual amount of time spent verifying a certificate using the underlying
    cryptographic APIs. Because parallel verifications for the same certificate
    may be coalesced, histograms such as Net.SSLCertVerificationTime may be
    skewed, due to later verifications taking less overall time. This records
    the overall time spent verifying the first job to capture initialization
    costs.
  </summary>
</histogram>

<histogram name="Net.CertVerifier_Job_Latency" units="ms">
  <owner>rsleevi@chromium.org</owner>
  <summary>
    The actual amount of time spent verifying a certificate using the underlying
    cryptographic APIs. Because parallel verifications for the same certificate
    may be coalesced, histograms such as Net.SSLCertVerificationTime may be
    skewed, due to later verifications taking less overall time. This records
    the overall time spent verifying a single request, regardless of how many
    parallel requests are being served by the verification.
  </summary>
</histogram>

<histogram name="Net.CoalescePotential" enum="CoalescePotentialPackets">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of times we sent N packets, but could have sent N-1 packets.
  </summary>
</histogram>

<histogram name="Net.ComodoDNSExperimentFailureTime" units="ms">
  <obsolete>
    This experiment has concluded.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The amount of time taken before we failed to  resolve the Comodo test DNS
    record. This is an experiment, run in conjuction with Comodo, to test the
    viability of a DNS based certificate revocation mechanism.
  </summary>
</histogram>

<histogram name="Net.ComodoDNSExperimentSuccessTime" units="ms">
  <obsolete>
    This experiment has concluded.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The amount of time taken to successfully resolve the Comodo test DNS record.
    This is an experiment, run in conjuction with Comodo, to test the viability
    of a DNS based certificate revocation mechanism.
  </summary>
</histogram>

<histogram name="Net.Compress.NoProxy.BytesAfterCompression" units="bytes">
  <obsolete>
    Removed as of 02/2015
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The uncompressed number of bytes received per request that was compressed.
    Only includes requests which did not go through an explicit proxy and did
    not go over SSL.
  </summary>
</histogram>

<histogram name="Net.Compress.NoProxy.BytesBeforeCompression" units="bytes">
  <obsolete>
    Removed as of 02/2015
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The compressed number of bytes received per request that was compressed.
    Only includes requests which did not go through an explicit proxy and did
    not go over SSL.
  </summary>
</histogram>

<histogram name="Net.Compress.NoProxy.ShouldHaveBeenCompressed" units="bytes">
  <obsolete>
    Removed as of 02/2015
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The uncompressed number of bytes received per request that was not
    compressed but appears to have been compressible.  Only includes requests
    which did not go through an explicit proxy and did not go over SSL.
  </summary>
</histogram>

<histogram name="Net.Compress.Proxy.BytesAfterCompression" units="bytes">
  <obsolete>
    Removed as of 02/2015
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The uncompressed number of bytes received per request that was compressed.
    Only includes requests sent through a proxy without SSL.
  </summary>
</histogram>

<histogram name="Net.Compress.Proxy.BytesBeforeCompression" units="bytes">
  <obsolete>
    Removed as of 02/2015
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The compressed number of bytes received per request that was compressed.
    Only includes requests sent through a proxy without SSL.
  </summary>
</histogram>

<histogram name="Net.Compress.Proxy.ShouldHaveBeenCompressed" units="bytes">
  <obsolete>
    Removed as of 02/2015
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The uncompressed number of bytes received per request that was not
    compressed but appears to have been compressible.  Only includes requests
    sent through a proxy without SSL.
  </summary>
</histogram>

<histogram name="Net.Compress.SSL.BytesAfterCompression" units="bytes">
  <obsolete>
    Removed as of 02/2015
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The uncompressed number of bytes received per request that was compressed.
    Only includes requests sent over SSL.
  </summary>
</histogram>

<histogram name="Net.Compress.SSL.BytesBeforeCompression" units="bytes">
  <obsolete>
    Removed as of 02/2015
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The compressed number of bytes received per request that was compressed.
    Only includes requests sent over SSL.
  </summary>
</histogram>

<histogram name="Net.Compress.SSL.ShouldHaveBeenCompressed" units="bytes">
  <obsolete>
    Removed as of 02/2015
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The uncompressed number of bytes received per request that was not
    compressed but appears to have been compressible.  Only includes requests
    sent over SSL.
  </summary>
</histogram>

<histogram name="Net.ConnectionTypeCount" enum="ConnectionType">
  <obsolete>
    The count was inaccurate (it counted transactions rather than connections)
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Each bucket is the number of connections of a particular type that the user
    has had during the session.
  </summary>
</histogram>

<histogram name="Net.ConnectionTypeCount2" enum="ConnectionType">
  <obsolete>
    Renamed to match HadConnectionType.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Each bucket is the number of successful connections of a particular type
    that the user has had during the session.
  </summary>
</histogram>

<histogram name="Net.ConnectionTypeCount3" enum="ConnectionType">
  <obsolete>
    Removed May 2016.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    Each bucket is the number of successful connections of a particular type
    that the user has had during the session.
  </summary>
</histogram>

<histogram name="Net.ConnectionTypeFailCount2" enum="ConnectionType">
  <obsolete>
    No longer collected.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Each bucket is the number of failed connections of a particular type that
    the user has had during the session.
  </summary>
</histogram>

<histogram name="Net.ConnectionUsedSSLDeprecatedCipherFallback"
    enum="BooleanDeprecatedCiphers">
  <obsolete>
    Replaced with Net.ConnectionUsedSSLDeprecatedCipherFallback2 in Chrome 44.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    True if an HTTPS connection was made using the deprecated cipher suite
    fallback.
  </summary>
</histogram>

<histogram name="Net.ConnectionUsedSSLDeprecatedCipherFallback2"
    enum="BooleanDeprecatedCiphers">
  <owner>davidben@chromium.org</owner>
  <summary>
    For each successful HTTPS request, whether it used the deprecated cipher
    suite fallback.
  </summary>
</histogram>

<histogram name="Net.ConnectionUsedSSLv3Fallback">
  <obsolete>
    Replaced by Net.ConnectionUsedSSLVersionFallback in Chrome 21.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    True if the HTTP request was to a server which requires SSLv3 fallback
  </summary>
</histogram>

<histogram name="Net.ConnectionUsedSSLVersionFallback"
    enum="FallbackSSLVersion">
  <obsolete>
    Replaced with Net.ConnectionUsedSSLVersionFallback2 in Chrome 44.
  </obsolete>
  <owner>agl@chromium.org</owner>
  <summary>
    Nonzero if the HTTP request was to a server which requires SSL version
    fallback.  The value indicates the SSL version the request fell back on.
  </summary>
</histogram>

<histogram name="Net.ConnectionUsedSSLVersionFallback2"
    enum="FallbackSSLVersion">
  <obsolete>
    Removed June 2016.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    For each successful HTTPS request, whether it used the SSL version fallback.
    The value indicates the SSL version the request fell back on
  </summary>
</histogram>

<histogram name="Net.ContentDecodingFailed.FilterType" enum="NetFilterType">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    For each CONTENT_DECODING_FAILED, record the filter that failed.
  </summary>
</histogram>

<histogram name="Net.ContentDecodingFailed2.FilterType" enum="NetFilterType2">
  <owner>xunjieli@chromium.org</owner>
  <summary>
    For each CONTENT_DECODING_FAILED, record the filter that failed.
  </summary>
</histogram>

<histogram name="net.CookieBackingStoreUpdateResults"
    enum="BackingStoreResults">
  <obsolete>
    Initial typo; only here to get results from builds before r59117.  See
    &quot;Cookie.&quot; group.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Whether or not updates to the backing store succeeded or failed, recorded
    every update.
  </summary>
</histogram>

<histogram name="net.CookieBetweenAccessIntervalMinutes" units="minutes">
  <obsolete>
    Initial typo; only here to get results from builds before r59117.  See
    &quot;Cookie.&quot; group.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Intervals between access time updates for each cookie.</summary>
</histogram>

<histogram name="net.CookieCount">
  <obsolete>
    Initial typo; only here to get results from builds before r59117.  See
    &quot;Cookie.&quot; group.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of cookies in the store (recorded every 10 minutes of active browsing
    time)
  </summary>
</histogram>

<histogram name="net.CookieDeletionCause" enum="CookieDeletionCause">
  <obsolete>
    Initial typo; only here to get results from builds before r59117.  See
    &quot;Cookie.&quot; group.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For each cookie removed from the store, the reason it was removed.
  </summary>
</histogram>

<histogram name="net.CookieDomainCount">
  <obsolete>
    Initial typo; only here to get results from builds before r59117.  See
    &quot;Cookie.&quot; group.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For each domain, number of cookies in that domain (recorded every 10 minutes
    of active browsing time).
  </summary>
</histogram>

<histogram name="net.CookieDomainPerEtldp1Count">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For every top level domain, number of subdomains in that top level domain
    (recorded every 10 minutes of active browsing time).
  </summary>
</histogram>

<histogram name="net.CookieEtldp1Count">
  <obsolete>
    Initial typo; only here to get results from builds before r59117.  See
    &quot;Cookie.&quot; group.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For every top level domain, number of cookies in that domain (recorded every
    10 minutes of active browsing time).
  </summary>
</histogram>

<histogram name="net.CookieEvictedLastAccessMinutes" units="minutes">
  <obsolete>
    Initial typo; only here to get results from builds before r59117.  See
    &quot;Cookie.&quot; group.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For each evicted (not expired) cookie, the amount of time since it was last
    used
  </summary>
</histogram>

<histogram name="net.CookieExpirationDurationMinutes" units="minutes">
  <obsolete>
    Initial typo; only here to get results from builds before r59117.  See
    &quot;Cookie.&quot; group.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Number of minutes until cookie expires when set.</summary>
</histogram>

<histogram name="net.CookieTimeGet">
  <obsolete>
    Initial typo; only here to get results from builds before r59117.  See
    &quot;Cookie.&quot; group.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The amount of time (ms) to get cookies for each URL request.
  </summary>
</histogram>

<histogram name="net.CookieTimeLoad">
  <obsolete>
    Initial typo; only here to get results from builds before r59117.  See
    &quot;Cookie.&quot; group.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The amount of time (ms) to load the persistent cookie store at browser
    start.
  </summary>
</histogram>

<histogram name="Net.CountOfAlternateProtocolServers" units="servers">
  <owner>bnc@chromium.org</owner>
  <owner>rch@chromium.org</owner>
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The total number of servers (HostPortPairs) to which alternative protocol
    was used. This counts the number of servers persisted to prefs file.
  </summary>
</histogram>

<histogram name="Net.CountOfAlternateProtocolServers.Memory" units="servers">
  <owner>bnc@chromium.org</owner>
  <owner>rch@chromium.org</owner>
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The total number of servers (HostPortPairs in memory) to which alternative
    protocol was used.
  </summary>
</histogram>

<histogram name="Net.CountOfPipelineCapableServers" units="servers">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The total number of servers (HostPortPairs) that support HTTP pipelining.
    This counts the number of servers persisted to prefs file.
  </summary>
</histogram>

<histogram name="Net.CountOfQuicServerInfos" units="configs">
  <owner>zhongyi@chromium.org</owner>
  <summary>
    This counts the number of server configs persisted in prefs file.
  </summary>
</histogram>

<histogram name="Net.CountOfSpdyServers">
  <owner>bnc@chromium.org</owner>
  <owner>rch@chromium.org</owner>
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The total number of SPDY server names persisted to prefs file.
  </summary>
</histogram>

<histogram name="Net.CountOfSpdySettings">
  <obsolete>
    Removed on 2016-10-11.
  </obsolete>
  <owner>bnc@chromium.org</owner>
  <owner>rch@chromium.org</owner>
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The total number of SPDY Settings properties persisted to prefs file.
  </summary>
</histogram>

<histogram name="Net.CRLRequestFailedTimeMs" units="ms">
  <owner>rsleevi@chromium.org</owner>
  <summary>
    When validating an HTTPS certificate we may have to block to fetch one or
    more revocation lists. This measures the amount of time that failures to get
    CRL information take.
  </summary>
</histogram>

<histogram name="Net.CRLRequestSuccess" enum="BooleanSuccess">
  <owner>rsleevi@chromium.org</owner>
  <summary>
    When validating an HTTPS certificate we may have to block to fetch one or
    more revocation lists. This records the fraction of successful requests.
  </summary>
</histogram>

<histogram name="Net.CRLRequestTimeMs" units="ms">
  <owner>rsleevi@chromium.org</owner>
  <summary>
    When validating an HTTPS certificate we may have to block to fetch one or
    more revocation lists. This measures the amount of time that each fetch
    takes.
  </summary>
</histogram>

<histogram name="Net.Cronet.CertVerifierCache.DeserializeTime" units="ms">
  <owner>rch@chromium.org</owner>
  <summary>
    Measures time spent to deserialize and populate the
    net::CachingCertVerifier's cache.
  </summary>
</histogram>

<histogram name="Net.Cronet.CertVerifierCache.SerializeTime" units="ms">
  <owner>rch@chromium.org</owner>
  <summary>
    Measures time spent to serialize the net::CachingCertVerifier's cache.
  </summary>
</histogram>

<histogram name="Net.DailyContentLength" units="KB">
  <owner>bolian@chromium.org</owner>
  <summary>
    The total content size in KB of all HTTP/HTTPS response bodies in the
    previous calendar day. The metric is reported when the first response in the
    current day is received.
  </summary>
</histogram>

<histogram name="Net.DailyContentLength_DataReductionProxyEnabled" units="KB">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The total content size in KB of all HTTP/HTTPS response bodies in the
    previous calendar day while the data reduction proxy setting was enabled.
    The metric is reported when the first response in the current day is
    received.
  </summary>
</histogram>

<histogram name="Net.DailyContentLength_DataReductionProxyEnabled_Https"
    units="KB">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The total content size in KB of all HTTPS response bodies in the previous
    calendar day while the data reduction proxy setting was enabled. The metric
    is reported when the first response in the current day is received.
  </summary>
</histogram>

<histogram name="Net.DailyContentLength_DataReductionProxyEnabled_LongBypass"
    units="KB">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The total content size in KB of all long-bypassed HTTP response bodies in
    the  previous calendar day while the data reduction proxy setting was
    enabled. The metric is reported when the first response in the current day
    is received.
  </summary>
</histogram>

<histogram name="Net.DailyContentLength_DataReductionProxyEnabled_ShortBypass"
    units="KB">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The total content size in KB of all short-bypassed HTTP response bodies in
    the previous calendar day while the data reduction proxy setting was
    enabled. The metric is reported when the first response in the current day
    is received.
  </summary>
</histogram>

<histogram name="Net.DailyContentLength_DataReductionProxyEnabled_Unknown"
    units="KB">
  <obsolete>
    Deprecated. Moved to
    Net.DailyContentLength_DataReductionProxyEnabled_UnknownBypass in M46.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The total content size in KB of all HTTP response bodies for requests that
    were not served by the enabled data reduction proxy for unknown reasons in
    the previous calendar day while the data reduction proxy setting was
    enabled. The metric is reported when the first response in the current day
    is received.
  </summary>
</histogram>

<histogram
    name="Net.DailyContentLength_DataReductionProxyEnabled_UnknownBypass"
    units="KB">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The total content size in KB of all HTTP response bodies for requests that
    were not served by the enabled data reduction proxy for unknown reasons in
    the previous calendar day while the data reduction proxy setting was
    enabled. The metric is reported when the first response in the current day
    is received.
  </summary>
</histogram>

<histogram name="Net.DailyContentLength_ViaDataReductionProxy" units="KB">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The total content size in KB of all HTTP/HTTPS response bodies in the
    previous calendar day via the data reduction proxy. The metric is reported
    when the first response in the current day is received.
  </summary>
</histogram>

<histogram name="Net.DailyContentPercent_DataReductionProxyEnabled" units="%">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of total HTTP/HTTPS response body size while the data
    reduction proxy is enabled to total HTTP/HTTPS response body size in the
    previous calendar day. The metric is reported when the first response in the
    current day is received.
  </summary>
</histogram>

<histogram name="Net.DailyContentPercent_DataReductionProxyEnabled_Https"
    units="%">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of total HTTPS response body size while the data reduction
    proxy is enabled to total HTTP/HTTPS response body size in the previous
    calendar day. The metric is reported when the first response in the current
    day is received.
  </summary>
</histogram>

<histogram name="Net.DailyContentPercent_DataReductionProxyEnabled_LongBypass"
    units="%">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of total long-bypassed response body size while the data
    reduction proxy is enabled to total HTTP/HTTPS response body size in the
    previous calendar day. The metric is reported when the first response in the
    current day is received.
  </summary>
</histogram>

<histogram name="Net.DailyContentPercent_DataReductionProxyEnabled_ShortBypass"
    units="%">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of total short-bypassed response body size while the data
    reduction proxy is enabled to total HTTP/HTTPS response body size in the
    previous calendar day. The metric is reported when the first response in the
    current day is received.
  </summary>
</histogram>

<histogram name="Net.DailyContentPercent_DataReductionProxyEnabled_Unknown"
    units="%">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of total body size of responses that were not served by the
    data reduction proxy for unknown reason while the data reduction proxy is
    enabled to total HTTP/HTTPS response body size in the previous calendar day.
    The metric is reported when the first response in the current day is
    received.
  </summary>
</histogram>

<histogram name="Net.DailyContentPercent_ViaDataReductionProxy" units="%">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of total HTTP/HTTPS response body size via the data reduction
    proxy to total HTTP/HTTPS response body size in the previous calendar day.
    The metric is reported when the first response in the current day is
    received.
  </summary>
</histogram>

<histogram name="Net.DailyContentSavingPercent" units="%">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of data saving in the previous calendar day. A negative
    saving will be shown as zero. The metric is reported when the first response
    in the current day is received.
  </summary>
</histogram>

<histogram name="Net.DailyContentSavingPercent_DataReductionProxyEnabled"
    units="%">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of data saving in the previous calendar day while the data
    reduction proxy was enabled. A negative saving will be shown as zero. This
    only counts responses while the data reduction proxy is enabled. The metric
    is reported when the first response in the current day is received.
  </summary>
</histogram>

<histogram name="Net.DailyContentSavingPercent_DataReductionProxyEnabled_Video"
    units="%">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of data saving in the previous calendar day while the data
    reduction proxy was enabled. A negative saving will be shown as zero. This
    only counts responses while the data reduction proxy is enabled. The metric
    is reported when the first response in the current day is received. If no
    video bytes were received while the data reduction proxy was enabled, the
    metric will not be reported.
  </summary>
</histogram>

<histogram name="Net.DailyContentSavingPercent_ViaDataReductionProxy" units="%">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of data saving in the previous calendar day via the data
    reduction proxy. A negative saving will be shown as zero. This only counts
    responses via the data reduction proxy. The metric is reported when the
    first response in the current day is received.
  </summary>
</histogram>

<histogram name="Net.DailyContentSavingPercent_ViaDataReductionProxy_Video"
    units="%">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of data saving in the previous calendar day via the data
    reduction proxy. A negative saving will be shown as zero. This only counts
    responses via the data reduction proxy. The metric is reported when the
    first response in the current day is received. If no video bytes were
    received via the data reduction proxy, the metric will not be reported.
  </summary>
</histogram>

<histogram name="Net.DailyHttpContentLengthViaDataReductionProxy" units="KB">
  <obsolete>
    Deprecated- see Net.DailyContentLength_ViaDataReductionProxy.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Total size in KB of all response bodies in the previous calendar day that
    were received through the data reduction proxy.
  </summary>
</histogram>

<histogram name="Net.DailyHttpContentLengthWithDataReductionProxyEnabled"
    units="KB">
  <obsolete>
    Deprecated- see Net.DailyContentLength_DataReductionProxyEnabled
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Total size in KB of all response bodies in the previous calendar day that
    were received when the data reduction proxy was enabled.
  </summary>
</histogram>

<histogram name="Net.DailyHttpContentSavings" units="%">
  <obsolete>
    Deprecated- see Net.DailyContentSavingPercent.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of data saving in the previous calendar day. A negative
    saving will be shown as zero.
  </summary>
</histogram>

<histogram name="Net.DailyHttpContentSavings_DataReductionProxy" units="%">
  <obsolete>
    Deprecated- see Net.DailyContentSavingPercent_DataReductionProxyEnabled.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of data saving in the previous calendar day when the data
    reduction proxy was enabled for at least some responses during the day. A
    negative saving will be shown as zero.
  </summary>
</histogram>

<histogram name="Net.DailyHttpOriginalContentLength" units="KB">
  <obsolete>
    Deprecated- see Net.DailyOriginalContentLength.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Total size in KB specified in the X-Original-Content-Length headers of all
    responses in the previous calendar day. If the header is not present in a
    response, the size of the response body is used.
  </summary>
</histogram>

<histogram name="Net.DailyHttpReceivedContentLength" units="KB">
  <obsolete>
    Deprecated- see Net.DailyContentLength.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Total size in KB of all response bodies in the previous calendar day.
  </summary>
</histogram>

<histogram name="Net.DailyOriginalContentLength" units="KB">
  <owner>bolian@chromium.org</owner>
  <summary>
    The total size in KB specified in the X-Original-Content-Length headers of
    all HTTP/HTTPS response bodies in the previous calendar day. If the header
    is not present in a response, the size of the response body is used. The
    metric is reported when the first response in the current day is received.
  </summary>
</histogram>

<histogram name="Net.DailyOriginalContentLength_DataReductionProxyEnabled"
    units="KB">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The total size in KB specified in the X-Original-Content-Length headers of
    all HTTP/HTTPS response bodies in the previous calendar day while the data
    reduction proxy is enabled. If the header is not present in a response, the
    size of the response body is used. The metric is reported when the first
    response in the current day is received.
  </summary>
</histogram>

<histogram name="Net.DailyOriginalContentLength_ViaDataReductionProxy"
    units="KB">
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The total size in KB specified in the X-Original-Content-Length headers of
    all HTTP/HTTPS response bodies in the previous calendar day via the data
    reduction proxy. If the header is not present in a response, the size of the
    response body is used. The metric is reported when the first response in the
    current day is received.
  </summary>
</histogram>

<histogram name="Net.DailyReceivedContentViaDataReductionProxy" units="%">
  <obsolete>
    Deprecated- see Net.DailyContentPercent_ViaDataReductionProxy.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of Net.DailyHttpContentLengthViaDataReductionProxy in
    Net.DailyHttpReceivedContentLength.
  </summary>
</histogram>

<histogram name="Net.DailyReceivedContentWithDataReductionProxyEnabled"
    units="%">
  <obsolete>
    Deprecated- see Net.DailyContentPercent_DataReductionProxyEnabled.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    The percentage of Net.DailyHttpContentLengthWithDataReductionProxyEnabled in
    Net.DailyHttpReceivedContentLength.
  </summary>
</histogram>

<histogram name="Net.DailyUserVisibleSavingsPercent_DataReductionProxyEnabled"
    units="%">
  <obsolete>
    Removed in Chrome 57.
  </obsolete>
  <owner>kundaji@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The percentage of data savings in past
    |DataReductionProxy::kNumDaysInHistorySummary| days. This number is
    displayed to users as their data savings.
  </summary>
</histogram>

<histogram name="Net.DailyUserVisibleSavingsSize_DataReductionProxyEnabled"
    units="KB">
  <obsolete>
    Removed in Chrome 57.
  </obsolete>
  <owner>kundaji@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The total data saved in KB in past
    |DataReductionProxy::kNumDaysInHistorySummary| days. This number is used to
    compute the data savings displayed to the user.
  </summary>
</histogram>

<histogram name="Net.DetachableResourceHandler.Duration" units="ms">
  <owner>yhirano@chromium.org</owner>
  <summary>
    Duration of time that a request associated with DetachableResourceHandler
    takes.
  </summary>
</histogram>

<histogram name="Net.DhcpWpadCancelTime" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures time from initiating a fetch of a PAC file from DHCP WPAD to
    cancellation of the fetch. For a given fetch, only one of the cancellation
    or completion histograms will be added to.
  </summary>
</histogram>

<histogram name="Net.DhcpWpadCompletionTime" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures time from initiating a fetch of a PAC file from DHCP WPAD to
    completion of the fetch. For a given fetch, only one of the cancellation or
    completion histograms will be added to.
  </summary>
</histogram>

<histogram name="Net.DhcpWpadFetchError" enum="NetErrorCodes">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Tracks the net error codes received when the DHCP WPAD fetch fails to
    retrieve a PAC file (including PAC_NOT_IN_DHCP, which is not really an error
    but an indication that a PAC URL was not configured in DHCP).
  </summary>
</histogram>

<histogram name="Net.DhcpWpadGetAdaptersAddressesError"
    enum="ErrorCodesGetAdaptersAddresses">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Tracks the frequency of each of the different known error codes of calling
    the GetAdaptersAddresses Win32 API.
  </summary>
</histogram>

<histogram name="Net.DhcpWpadGetAdaptersAddressesTime" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Measures the time taken to call the GetAdaptersAddresses Win32 API, to
    validate our understanding that it should complete quickly enough to call
    synchronously from the network thread.
  </summary>
</histogram>

<histogram name="Net.DhcpWpadNumAdaptersAtWaitTimer">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Total number of adapters enabled for DHCP as seen when the wait timer in the
    DHCP WPAD code hits. This timer fires after a timeout from when we get some
    information from the first adapter to finish.
  </summary>
</histogram>

<histogram name="Net.DhcpWpadNumPendingAdaptersAtWaitTimer">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of adapters enabled for DHCP that we have not completed retrieving
    information for, as seen when the wait timer in the DHCP WPAD code hits.
    This timer fires after a timeout from when we get some information from the
    first adapter to finish.
  </summary>
</histogram>

<histogram name="Net.DhcpWpadUnhandledDhcpError">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Counts the number of errors from the DhcpRequestParams API that we do not
    have specific handling for, so that we can see if there is an abnormally
    high rate.
  </summary>
</histogram>

<histogram name="Net.DNS_Resolution_And_TCP_Connection_Latency">
  <obsolete>
    Deprecated- see Net.DNS_Resolution_And_TCP_Connection_Latency2
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
</histogram>

<histogram name="Net.Dns_Resolution_And_TCP_Connection_Latency">
  <obsolete>
    Deprecated- see Net.DNS_Resolution_And_TCP_Connection_Latency2
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
</histogram>

<histogram name="Net.DNS_Resolution_And_TCP_Connection_Latency2" units="ms">
  <owner>mmenke@chromium.org</owner>
  <summary>
    The time measured before starting DNS lookup until after the connection is
    complete.
  </summary>
</histogram>

<histogram name="Net.Dns_Resolution_And_TCP_Connection_Latency2">
  <obsolete>
    Deprecated- see Net.DNS_Resolution_And_TCP_Connection_Latency2
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
</histogram>

<histogram name="Net.DoubleGetExperiment_InitialResponseMethod"
    enum="DoubleGetExperimentMethods">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of HTTP request responses with MS Office Docs MIME types. The
    responses are classified based on their method type and cacheability (POST,
    cacheable GET and non-cacheable GET). The histogram is used in Double GET
    Experiment, where successful non-cacheable GET requests are intercepted
    after initial response and repeated in order to determine how much reissuing
    non-cacheable GET requests influences their error rate. The histogram tracks
    only initial requests (not the repeated ones).
  </summary>
</histogram>

<histogram name="Net.DoubleGetExperiment_ResponseCode">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The response codes encountered for GET request repeated in Double GET
    Experiment. In the experiment successful non-cacheable GET requests are
    intercepted after initial response and repeated. The goal of the experiment
    is to measure how much reissuing non-cacheable GET requests influences their
    error rate.
  </summary>
</histogram>

<histogram name="Net.DownloadBandwidth">
  <obsolete>
    Deprecated as of 03/2015.  No longer generated.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Kbps on download streams exceeding 25KB.  Measures from the beginning of the
    first byte received until the end of flowing data.
  </summary>
</histogram>

<histogram name="Net.ErrAborted.CountPerUpload" units="aborts">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The count of the ABORTED bucket in Net.ErrorCodesForMainFrame3 at the time
    histograms are being uploaded.
  </summary>
</histogram>

<histogram name="Net.ErrAborted.ProportionPerUpload" units="%">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The bucket proportion of the ABORTED bucket in Net.ErrorCodesForMainFrame3
    at the time histograms are being uploaded.
  </summary>
</histogram>

<histogram name="Net.ErrAborted.ReceivedBytes" units="bytes">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The TotalReceivedBytes() at the time the request finishes with ERR_ABORTED.
  </summary>
</histogram>

<histogram name="Net.ErrAborted.SentBytes" units="bytes">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The TotalSentBytes() at the time the request finishes with ERR_ABORTED.
  </summary>
</histogram>

<histogram name="Net.ErrorCodesForHTTPSGoogleMainFrame" enum="NetErrorCodes">
  <obsolete>
    Deprecated as of 2012/5/16, replaced by
    Net.ErrorCodesForHTTPSGoogleMainFrame2, which measures the same data but
    includes ERR_ABORT and OK.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Errors resulting from loading pages from https://www.google.com. Note that
    this only counts the errors in &quot;main frames&quot;, so it is a measure
    of the error pages that users actually see (it does not for example count
    the error codes for subresoures on a page). This is a temporary histogram,
    added in order to debug query loss from the SSL Search launch.
  </summary>
</histogram>

<histogram name="Net.ErrorCodesForHTTPSGoogleMainFrame2" enum="NetErrorCodes">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Positive net error codes that requests for pages end with, including net::OK
    and net::ERR_ABORTED.  This only counts loads in &quot;main frames&quot; for
    https://www.google.com. Subresources or main frame navigations to other
    origins are not included.
  </summary>
</histogram>

<histogram name="Net.ErrorCodesForImages" enum="NetErrorCodes">
  <owner>skonig@chromium.org</owner>
  <owner>hbengali@chromium.org</owner>
  <summary>
    Net error codes that requests for images end with, including net::OK and
    net:ERR_ABORTED.
  </summary>
</histogram>

<histogram name="Net.ErrorCodesForMainFrame" enum="NetErrorCodes">
  <obsolete>
    Deprecated as of 2011/5/24, replaced by Net.ErrorCodesForMainFrame2, which
    measures the same data but uses a different bucket structure (adds guard
    buckets).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Positive net error code that a page failed with. Note that this only counts
    the errors in &quot;main frames&quot;, so it is a measure of the error pages
    that users actually see (it does not for example count the error codes for
    subresoures on a page).
  </summary>
</histogram>

<histogram name="Net.ErrorCodesForMainFrame2" enum="NetErrorCodes">
  <obsolete>
    Deprecated as of 2012/5/16, replaced by Net.ErrorCodesForMainFrame3, which
    measures the same data but includes ERR_ABORTED and OK.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Positive net error code that a page failed with. Note that this only counts
    the errors in &quot;main frames&quot;, so it is a measure of the error pages
    that users actually see (it does not for example count the error codes for
    subresoures on a page).
  </summary>
</histogram>

<histogram name="Net.ErrorCodesForMainFrame3" enum="NetErrorCodes">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Positive net error codes that requests for pages end with, including net::OK
    and net::ERR_ABORTED.  This only counts loads in &quot;main frames&quot; (it
    does not for example count the error codes for subresoures on a page).
  </summary>
</histogram>

<histogram name="Net.ErrorCodesForSubresources" enum="NetErrorCodes">
  <obsolete>
    Deprecated as of 2012/5/16, replaced by Net.ErrorCodesForSubresources2,
    which measures the same data but includes ERR_ABORT and OK.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Positive net error code that a page failed with. Note that this only counts
    the errors in &quot;subresources&quot;.
  </summary>
</histogram>

<histogram name="Net.ErrorCodesForSubresources2" enum="NetErrorCodes">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Net error codes that requests for &quot;subresources&quot; end with,
    including net::OK and net::ERR_ABORTED.
  </summary>
</histogram>

<histogram name="Net.ErrorPageButtonPressedWhileInUnexpectedState"
    enum="ErrorPageButton">
  <obsolete>
    Deprecated as of 2015/8/21
  </obsolete>
  <owner>mmenke@chromium.org</owner>
  <summary>
    Temporary histogram to investigate http://crbug.com/500556.  Records which
    button on the network error page was pushed when either the URL Blink
    reports for the page is not the internal error page URL or the
    NetErrorHelper core has no error information for the current page (or both).
  </summary>
</histogram>

<histogram name="Net.ErrorPageButtonPressUnexpectedStates"
    enum="ErrorPageUnexpectedStates">
  <obsolete>
    Deprecated as of 2015/8/21
  </obsolete>
  <owner>mmenke@chromium.org</owner>
  <summary>
    Temporary histogram to investigate http://crbug.com/500556.  Records
    whether, when the handler for a button press on the network error page runs,
    which of the following are or are not true:  The URL Blink reports for the
    page is not the internal error page URL or the NetErrorHelper core has no
    error information for the current page.
  </summary>
</histogram>

<histogram name="Net.ErrorPageCounts" enum="NetErrorPageEvents">
  <owner>rdsmith@chromium.org</owner>
  <owner>ellyjones@chromium.org</owner>
  <summary>
    Counts of various events that can occur on the network error page. See the
    histogram for details.
  </summary>
</histogram>

<histogram name="Net.ErrorPageCounts.NavigationCorrectionLinksShown"
    enum="NetErrorNavigationCorrectionTypes">
  <owner>edwardjung@chromium.org</owner>
  <summary>
    Counts of the type of navigation correction suggestions shown on the network
    error page. Multiple suggestions can be shown at the same time.
  </summary>
</histogram>

<histogram name="Net.ErrorPageCounts.NavigationCorrectionLinksUsed"
    enum="NetErrorNavigationCorrectionTypes">
  <owner>edwardjung@chromium.org</owner>
  <summary>
    Usage of navigation correction suggestions shown on the network error page.
  </summary>
</histogram>

<histogram name="Net.ErrorResponseHasContentMainFrame" enum="BooleanSuccess">
  <obsolete>
    Deprecated 10/2016.
  </obsolete>
  <owner>mmenke@chromium.org</owner>
  <summary>
    The number of main frame 4xx/5xx responses that have content, to determine
    if it's worth hooking up an error page for those that don't.  Intended to be
    removed from the binary soon.
  </summary>
</histogram>

<histogram name="Net.ErrorResponseHasContentNonMainFrame" enum="BooleanSuccess">
  <obsolete>
    Deprecated 10/2016.
  </obsolete>
  <owner>mmenke@chromium.org</owner>
  <summary>
    The number of non-main frame 4xx/5xx responses that have content, to
    determine if it's worth hooking up an error page for those that don't.
    Intended to be removed from the binary soon.
  </summary>
</histogram>

<histogram name="Net.ExpectCTHeaderResult" enum="ExpectCTHeaderResult">
  <owner>estark@chromium.org</owner>
  <summary>
    Sites can send an Expect-CT header to Chrome to indicate that they want a
    report to be sent when the connection does not comply with Certificate
    Transparency policy. This histogram is recorded whenever Chrome receives an
    Expect-CT header, and it records the result of processing the header, such
    as whether it was ignored due to a bad value.
  </summary>
</histogram>

<histogram name="Net.FileError_Flush">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    System error code that a file Flush failed with.  The code is OS dependent,
    so when looking at the histogram don't mix OSes.
  </summary>
</histogram>

<histogram name="Net.FileError_GetSize">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    System error code that a file GetSize failed with.  The code is OS
    dependent, so when looking at the histogram don't mix OSes.
  </summary>
</histogram>

<histogram name="Net.FileError_Open">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    System error code that a file Open failed with.  The code is OS dependent,
    so when looking at the histogram don't mix OSes.
  </summary>
</histogram>

<histogram name="Net.FileError_Read">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    System error code that a file Read failed with.  The code is OS dependent,
    so when looking at the histogram don't mix OSes.
  </summary>
</histogram>

<histogram name="Net.FileError_Seek">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    System error code that a file Seek failed with.  The code is OS dependent,
    so when looking at the histogram don't mix OSes.
  </summary>
</histogram>

<histogram name="Net.FileError_SetEof">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    System error code that a file SetEof failed with.  The code is OS dependent,
    so when looking at the histogram don't mix OSes.
  </summary>
</histogram>

<histogram name="Net.FileError_Write">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    System error code that a file Write failed with.  The code is OS dependent,
    so when looking at the histogram don't mix OSes.
  </summary>
</histogram>

<histogram name="Net.FileErrorRange_Flush">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    System error code range that a file Flush failed with.  Any value other than
    0 indicates that we have received errors in a range outside of the one in
    which we recorded the specific errors in Net.FileError_Flush.  The code is
    OS dependent, so when looking at the histogram don't mix OSes.
  </summary>
</histogram>

<histogram name="Net.FileErrorRange_GetSize">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    System error code range that a file GetSize failed with.  Any value other
    than 0 indicates that we have received errors in a range outside of the one
    in which we recorded the specific errors in Net.FileError_GetSize.  The code
    is OS dependent, so when looking at the histogram don't mix OSes.
  </summary>
</histogram>

<histogram name="Net.FileErrorRange_Open">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    System error code range that a file Open failed with.  Any value other than
    0 indicates that we have received errors in a range outside of the one in
    which we recorded the specific errors in Net.FileError_Open.  The code is OS
    dependent, so when looking at the histogram don't mix OSes.
  </summary>
</histogram>

<histogram name="Net.FileErrorRange_Read">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    System error code range that a file Read failed with.  Any value other than
    0 indicates that we have received errors in a range outside of the one in
    which we recorded the specific errors in Net.FileError_Read.  The code is OS
    dependent, so when looking at the histogram don't mix OSes.
  </summary>
</histogram>

<histogram name="Net.FileErrorRange_Seek">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    System error code range that a file Seek failed with.  Any value other than
    0 indicates that we have received errors in a range outside of the one in
    which we recorded the specific errors in Net.FileError_Seek.  The code is OS
    dependent, so when looking at the histogram don't mix OSes.
  </summary>
</histogram>

<histogram name="Net.FileErrorRange_SetEof">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    System error code range that a file SetEof failed with.  Any value other
    than 0 indicates that we have received errors in a range outside of the one
    in which we recorded the specific errors in Net.FileError_SetEof.  The code
    is OS dependent, so when looking at the histogram don't mix OSes.
  </summary>
</histogram>

<histogram name="Net.FileErrorRange_Write">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    System error code range that a file Write failed with.  Any value other than
    0 indicates that we have received errors in a range outside of the one in
    which we recorded the specific errors in Net.FileError_Write.  The code is
    OS dependent, so when looking at the histogram don't mix OSes.
  </summary>
</histogram>

<histogram name="Net.ForceAlternativeService" enum="BooleanForced">
  <obsolete>
    Data collection ended, corresponding feature removed.
  </obsolete>
  <owner>bnc@chromium.org</owner>
  <summary>
    Track usage of alternative services forced by the force-alt-protocols
    command line flag.  Triggered each time alternative services are queried for
    a given origin and the command line flag would make a difference (that is,
    there is no advertised alternative service for that origin).
  </summary>
</histogram>

<histogram name="Net.FoundSystemTrustRootsAndroid" enum="Boolean">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Whether or not system installed trust anchors could be distinguished from
    user installed trust anchors. Recorded on first certificate verification on
    Android 4.2 and later.
  </summary>
</histogram>

<histogram name="Net.FtpDataConnectionErrorCount" enum="FtpDataConnectionError">
  <owner>phajdan.jr@chromium.org</owner>
  <summary>The number of times each FTP Error was observed.</summary>
</histogram>

<histogram name="Net.FtpDataConnectionErrorHappened"
    enum="FtpDataConnectionError">
  <owner>phajdan.jr@chromium.org</owner>
  <summary>
    The number of Chrome sessions which encountered the indicates FTP Error.
    This prevents allowing a user that retried a connection many times (getting
    an error each time) from biasing the tallies.
  </summary>
</histogram>

<histogram name="Net.FtpServerTypeCount" enum="FtpServerType">
  <obsolete>
    Replaced by Net.FtpServerTypeCount2 on 2012-11-03.
  </obsolete>
  <owner>phajdan.jr@chromium.org</owner>
  <summary>
    Each bucket is the number of times the FTP server type was encountered.
  </summary>
</histogram>

<histogram name="Net.FtpServerTypeCount2" enum="FtpServerType2">
  <owner>phajdan.jr@chromium.org</owner>
  <summary>
    Each bucket is the number of times the FTP server type was encountered.
  </summary>
</histogram>

<histogram name="Net.GetProxyForUrl_FAIL" units="ms">
  <obsolete>
    Removed at some time before 2014/09/15.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time spent waiting for WinHttpGetProxyForUrl to return with error.
  </summary>
</histogram>

<histogram name="Net.GetProxyForUrl_OK" units="ms">
  <obsolete>
    Removed at some time before 2014/09/15.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time spent waiting for WinHttpGetProxyForUrl to return with success.
  </summary>
</histogram>

<histogram name="Net.GoogleConnectionInappropriateFallback"
    enum="BooleanInappropriateFallback">
  <obsolete>
    Removed June 2016.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    Records a sample for each HTTPS request to a Google server that either
    succeeded or received an inappropriate_fallback alert. This is used to
    estimate how frequently the fallback is used to recover from a spurious
    network failure.
  </summary>
</histogram>

<histogram name="Net.GoogleConnectionUsedSSLVersionFallback"
    enum="FallbackSSLVersion">
  <obsolete>
    Replaced with Net.GoogleConnectionUsedSSLVersionFallback2 in Chrome 44.
  </obsolete>
  <owner>agl@chromium.org</owner>
  <summary>
    Nonzero if the HTTP request was to a Google server which required SSL
    version fallback. The value indicates the SSL version the request fell back
    on. Since Google servers support TLS 1.2, any fallback is an indication of
    network middleware problems.
  </summary>
</histogram>

<histogram name="Net.GoogleConnectionUsedSSLVersionFallback2"
    enum="FallbackSSLVersion">
  <obsolete>
    Removed June 2016.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    For each successful HTTPS request to a Google server, whether it used the
    SSL version fallback. The value indicates the SSL version the request fell
    back on. Since Google servers support TLS 1.2 and FALLBACK_SCSV, any
    fallback is an indication of a broken local SSL MITM proxy.
  </summary>
</histogram>

<histogram name="Net.GzipEncodingFixupResult" enum="GzipEncodingFixupResult">
  <obsolete>
    Removed around 2015/03/18. The code which implemented Gzip encoding fixup
    was removed.
  </obsolete>
  <owner>asanka@chromium.org</owner>
  <summary>
    Resources are sometimes transferred with an incorrect encoding type of gzip.
    net::Filter::FixupEncodingTypes() attempts to correct for these situations
    by applying a set of heuristics. This histogram counts the frequency of
    usage of these heuristics in the wild.
  </summary>
</histogram>

<histogram name="Net.HadConnectionType" enum="ConnectionType">
  <obsolete>
    The count was inaccurate (it counted transactions rather than connections).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Each bucket is a boolean (0 or 1) indicating whether the user has had a
    connection of that type during the session.
  </summary>
</histogram>

<histogram name="Net.HadConnectionType2" enum="ConnectionType">
  <obsolete>
    This statistic measures successful and failed connections, the new one only
    measures successful ones.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Each bucket is a boolean (0 or 1) indicating whether the user has had a
    connection of that type during the session.
  </summary>
</histogram>

<histogram name="Net.HadConnectionType3" enum="ConnectionType">
  <obsolete>
    Removed May 2016.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    Each bucket is a boolean (0 or 1) indicating whether the user has had a
    successful connection of that type during the session.
  </summary>
</histogram>

<histogram name="Net.HadFtpServerType" enum="FtpServerType">
  <obsolete>
    Replaced by Net.HadFtpServerType2 on 2012-11-13.
  </obsolete>
  <owner>phajdan.jr@chromium.org</owner>
  <summary>
    Each bucket is the number of sessions that encountered a given FTP server
    type. Each session reports a given server type at most once.
  </summary>
</histogram>

<histogram name="Net.HadFtpServerType2" enum="FtpServerType2">
  <owner>phajdan.jr@chromium.org</owner>
  <summary>
    Each bucket is the number of sessions that encountered a given FTP server
    type. Each session reports a given server type at most once.
  </summary>
</histogram>

<histogram name="Net.HasBrokenNEON" enum="BooleanBroken">
  <owner>davidben@chromium.org</owner>
  <summary>
    Records, on startup, for ARM devices running Android, whether the CPU is
    known to have a broken NEON unit. See https://crbug.com/341598.
  </summary>
</histogram>

<histogram name="Net.Http2ResponseStatusHeader" enum="StatusHeader">
  <obsolete>
    Removed in 2017 March.
  </obsolete>
  <owner>bnc@chromium.org</owner>
  <summary>Format of :status header value in HTTP/2 response.</summary>
</histogram>

<histogram name="Net.Http2SSLCipherSuite" enum="SSLCipherSuite">
  <obsolete>
    Removed 2017-02.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    The SSL/TLS cipher suite that was negotiated, recorded for each successful
    HTTP/2 connection.
  </summary>
</histogram>

<histogram name="Net.HttpAuthCacheAddEvicted" enum="BooleanDidEvict">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Whether adding an entry to the HTTP auth cache evicted another entry.
  </summary>
</histogram>

<histogram name="Net.HttpAuthCacheAddEvictedCreation">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When an HTTP auth cache entry is evicted, the time since it was created.
  </summary>
</histogram>

<histogram name="Net.HttpAuthCacheAddEvictedLastUse">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When an HTTP auth cache entry is evicted, the time since it was last used.
  </summary>
</histogram>

<histogram name="Net.HttpAuthCacheAddPathEvicted" enum="BooleanDidEvict">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Whether adding a path to an entry in the HTTP auth cache evicted another
    path.
  </summary>
</histogram>

<histogram name="Net.HttpAuthCacheLookupByPathPosition">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When looking up an HTTP auth cache entry by path, the position (1-indexed)
    of the entry on a hit, or 0 on a miss.
  </summary>
</histogram>

<histogram name="Net.HttpAuthCacheLookupPosition">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    When looking up an HTTP auth cache entry by realm, the position (1-indexed)
    of the entry on a hit, or 0 on a miss.
  </summary>
</histogram>

<histogram name="Net.HttpAuthCount" enum="HttpAuthCount">
  <owner>asanka@chromium.org</owner>
  <owner>cbentzel@chromium.org</owner>
  <summary>
    Per-authentication-scheme counts of authentication attempts and rejections.
  </summary>
</histogram>

<histogram name="Net.HttpAuthPromptType" enum="HttpAuthPromptType">
  <owner>meacer@chromium.org</owner>
  <summary>Type of the HTTP auth prompt displayed.</summary>
</histogram>

<histogram name="Net.HttpAuthResource" enum="HttpAuthResource">
  <obsolete>
    Removed in https://crrev.com/209100
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Count of authentication requests for top level pages vs. sub-resources, such
    as images or iframes.
  </summary>
</histogram>

<histogram name="Net.HttpAuthTarget" enum="HttpAuthTarget">
  <owner>asanka@chromium.org</owner>
  <owner>cbentzel@chromium.org</owner>
  <summary>
    Per-authentication-scheme counts of authentication targets, such as secure
    servers or proxies.
  </summary>
</histogram>

<histogram name="Net.HttpConnectionLatency" units="ms">
  <obsolete>
    Deprecated as of 03/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time between the HttpNetworkTransaction requesting a connection and the time
    it connected.
  </summary>
</histogram>

<histogram name="Net.HttpContentFreshnessLifetime" units="seconds">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Length of time that a received resource will be cacheable.</summary>
</histogram>

<histogram name="Net.HttpContentLength" units="bytes">
  <owner>bengr@chromium.org</owner>
  <summary>
    Size of the response body. This is the actual number of bytes received,
    which usually agrees with but is not necessarily the same as the size
    specified by the Content-Length header.
  </summary>
</histogram>

<histogram name="Net.HttpContentLengthCacheable" units="bytes">
  <owner>bengr@chromium.org</owner>
  <summary>
    Size of the response body if it is cacheable. This is the actual number of
    bytes received, which usually agrees with but is not necessarily the same as
    the size specified by the Content-Length header.
  </summary>
</histogram>

<histogram name="Net.HttpContentLengthCacheable24Hours" units="bytes">
  <owner>bengr@chromium.org</owner>
  <summary>
    Size of the response body if it is cacheable for at least 24 hours. This is
    the actual number of bytes received, which usually agrees with but is not
    necessarily the same as the size specified by the Content-Length header.
  </summary>
</histogram>

<histogram name="Net.HttpContentLengthCacheable4Hours" units="bytes">
  <owner>bengr@chromium.org</owner>
  <summary>
    Size of the response body if it is cacheable for at least 4 hours. This is
    the actual number of bytes received, which usually agrees with but is not
    necessarily the same as the size specified by the Content-Length header.
  </summary>
</histogram>

<histogram name="Net.HttpContentLengthDifference" units="bytes">
  <owner>bengr@chromium.org</owner>
  <summary>
    The difference between the size specified in the X-Original-Content-Length
    header and the size of the response body. This is zero if the
    X-Original-Content-Length header is not present in the response.
  </summary>
</histogram>

<histogram name="Net.HttpContentLengthDifferenceWithValidOCL" units="bytes">
  <owner>bengr@chromium.org</owner>
  <summary>
    The difference between the size specified in the X-Original-Content-Length
    header and the size of the response body. Only includes resources that have
    the X-Original-Content-Length header.
  </summary>
</histogram>

<histogram name="Net.HttpContentLengthWithValidOCL" units="bytes">
  <owner>bengr@chromium.org</owner>
  <summary>
    Size of the response body. Only includes resources that have the
    X-Original-Content-Length header.
  </summary>
</histogram>

<histogram name="Net.HttpHeaderParserEvent" enum="HttpHeaderParserEvent">
  <obsolete>
    Deprecated as of 12/2016.
  </obsolete>
  <owner>mmenke@chromium.org</owner>
  <summary>
    Records the frequency with which a number of hacky HTTP header parsing rules
    are invoked.  This histogram should be removed after we have enough data to
    know if we can remove the hacks.
  </summary>
</histogram>

<histogram name="net.HttpIdentSrcURL" units="requests">
  <owner>tsepez@chromium.org</owner>
  <summary>
    Count of requests which contained a basic auth username and password
    embedded in the URL itself.
  </summary>
</histogram>

<histogram name="Net.HttpJob.PrefilterBytesRead" units="bytes">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    Total prefilter (e.g., before decompression) bytes read for an HttpJob
    request.
  </summary>
</histogram>

<histogram name="Net.HttpJob.TotalTime" units="ms">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Time it takes to complete an HttpJob, from starting the transaction until we
    are done reading.
  </summary>
</histogram>

<histogram name="Net.HttpJob.TotalTimeCached" units="ms">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Time it takes to complete an HttpJob, from starting the transaction until we
    are done reading, for jobs served from the cache.
  </summary>
</histogram>

<histogram name="Net.HttpJob.TotalTimeCancel" units="ms">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Time it takes to complete an HttpJob, from starting the transaction until
    the job is killed. Note that we didn't detect the end of the data for this
    job.
  </summary>
</histogram>

<histogram name="Net.HttpJob.TotalTimeNotCached" units="ms">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Time it takes to complete an HttpJob, from starting the transaction until we
    are done reading, for jobs not served from the cache.
  </summary>
</histogram>

<histogram name="Net.HttpJob.TotalTimeSuccess" units="ms">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Time it takes to complete an HttpJob, from starting the transaction until we
    are done reading, for jobs when we read until no more data is available.
  </summary>
</histogram>

<histogram name="Net.HttpOriginalContentLength" units="bytes">
  <owner>bengr@chromium.org</owner>
  <summary>
    Size specified in the X-Original-Content-Length header. If this header is
    not present in the response, the size of the response body is used.
  </summary>
</histogram>

<histogram name="Net.HttpOriginalContentLengthWithValidOCL" units="bytes">
  <owner>bengr@chromium.org</owner>
  <summary>
    Size specified in the X-Original-Content-Length header. Only includes
    resources that have the X-Original-Content-Length header.
  </summary>
</histogram>

<histogram name="Net.HttpProxy.ConnectLatency" units="ms">
  <owner>tbansal@chromium.org</owner>
  <summary>Time taken to establish the connection to the HTTP proxy.</summary>
</histogram>

<histogram name="Net.HttpProxySocketRequestTime" units="ms">
  <obsolete>
    Deprecated as of 10/2016.
  </obsolete>
  <owner>mmenke@chromium.org</owner>
  <summary>Time it takes to request a new (unused) HTTP proxy socket.</summary>
</histogram>

<histogram name="Net.HttpRequest.ContainsInvalidHeaderValuesInRFC7230"
    enum="Boolean">
  <obsolete>
    Deprecated 06/2016 because this is not continuously tracked.
  </obsolete>
  <owner>hiroshige@chromium.org</owner>
  <summary>
    Whether a request contains invalid request header values in RFC 7230. This
    is counted once for every redirect leg. https://crbug.com/455099.
  </summary>
</histogram>

<histogram name="Net.HttpRequestCompletionErrorCodes" enum="NetErrorCodes">
  <owner>sclittle@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The network error code that the HTTP request completes with, including OK
    and ABORTED.
  </summary>
</histogram>

<histogram name="Net.HttpRequestCompletionErrorCodes.MainFrame"
    enum="NetErrorCodes">
  <owner>sclittle@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The network error code that the HTTP main frame resource request completes
    with, including OK and ABORTED.
  </summary>
</histogram>

<histogram name="Net.HttpResponse.ContainsInvalidHeaderValuesInRFC7230"
    enum="Boolean">
  <obsolete>
    Deprecated 06/2016 because this is not continuously tracked.
  </obsolete>
  <owner>hiroshige@chromium.org</owner>
  <summary>
    Whether a response contains invalid response header values in RFC 7230. This
    is counted once for every redirect leg. https://crbug.com/455099.
  </summary>
</histogram>

<histogram name="Net.HttpResponseCode">
  <owner>mmenke@chromium.org</owner>
  <summary>The count of HTTP Response codes encountered.</summary>
</histogram>

<histogram name="Net.HttpResponseCode_Nxx_MainFrame">
  <owner>mmenke@chromium.org</owner>
  <summary>
    The count of HTTP Response codes encountered, in response to MAIN_FRAME
    requests only; saving only the hundreds digit, e.g. 100-&gt;1, 300-&gt;3.
  </summary>
</histogram>

<histogram name="Net.HttpResponseInfo.ConnectionInfo" enum="ConnectionInfo">
  <obsolete>
    Deprecated as of 06/2016.
  </obsolete>
  <owner>bnc@chromium.org</owner>
  <summary>
    Application protocol used in HTTP response.  Recorded every time a
    URLRequest completes.
  </summary>
</histogram>

<histogram name="Net.HttpResponseInfo.ConnectionInfo.MainFrame"
    enum="ConnectionInfo">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Application protocol used in HTTP responses to requests for main frames.
    Only includes requests that went over the network.
  </summary>
</histogram>

<histogram name="Net.HttpResponseInfo.ConnectionInfo.SubResource"
    enum="ConnectionInfo">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Application protocol used in HTTP responses to requests for resources other
    than main frames. Does not include internal Chrome requests.  Only includes
    requests that went over the network.
  </summary>
</histogram>

<histogram name="Net.HttpServerProperties.UpdatePrefs"
    enum="HttpServerPropertiesUpdatePrefsLocation">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The location in http_server_properties_manager.cc where UpdatePrefs was
    called.
  </summary>
</histogram>

<histogram name="Net.HttpSocketType" enum="HttpSocketType">
  <obsolete>
    Deprecated as of 03/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The counts of the type of sockets (all HTTP sockets, regardless of any proxy
    used) used for HTTP[s].
  </summary>
</histogram>

<histogram name="Net.HttpStatusLineStatus" enum="HttpStatusLineStatus">
  <obsolete>
    Deprecated as of 12/2016.
  </obsolete>
  <owner>ellyjones@chromium.org</owner>
  <summary>
    Records how often violations of RFC 7230's header parsing rules are
    observed.
  </summary>
</histogram>

<histogram name="Net.HttpStreamFactoryJob.Alt.NextState"
    enum="HttpStreamFactoryJobState">
  <owner>xunjieli@chromium.org</owner>
  <summary>Reports the next state that the Alternative Job is in.</summary>
</histogram>

<histogram name="Net.HttpStreamFactoryJob.Alt.State"
    enum="HttpStreamFactoryJobState">
  <owner>xunjieli@chromium.org</owner>
  <summary>Reports the state that the Alternative Job is in.</summary>
</histogram>

<histogram name="Net.HttpStreamFactoryJob.Main.NextState"
    enum="HttpStreamFactoryJobState">
  <owner>xunjieli@chromium.org</owner>
  <summary>Reports the next state that the Main Job is in.</summary>
</histogram>

<histogram name="Net.HttpStreamFactoryJob.Main.State"
    enum="HttpStreamFactoryJobState">
  <owner>xunjieli@chromium.org</owner>
  <summary>Reports the state that the Main Job is in.</summary>
</histogram>

<histogram name="Net.HttpStreamFactoryJob.StreamReadyCallbackTime" units="ms">
  <owner>zhongyi@chromium.org</owner>
  <summary>Time it takes for OnStreamReadyCallback to be called.</summary>
</histogram>

<histogram name="Net.HttpTimeToFirstByte" units="ms">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Time from when an HTTP request is issued to when the first byte is
    processed.
  </summary>
</histogram>

<histogram name="Net.HttpTimeToFirstByte.LargeUpload" units="ms">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Time from when an HTTP request is issued to when the first byte is
    processed, for requests with an upload that is &gt; 1 MiB. Excludes chunked
    uploads.
  </summary>
</histogram>

<histogram name="Net.IOError_SocketReuseType" enum="HttpSocketType">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of handleable socket errors (connection abort/close/reset) per
    socket reuse type.
  </summary>
</histogram>

<histogram name="Net.IOError_SocketReuseType_disable_late_binding"
    enum="HttpSocketType">
  <obsolete>
    Late bindings are on by default now.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of handleable socket errors (connection abort/close/reset) per
    socket reuse type.  Socket late binding is disabled.
  </summary>
</histogram>

<histogram name="Net.IOError_SocketReuseType_enable_late_binding"
    enum="HttpSocketType">
  <obsolete>
    Late bindings are on by default now.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of handleable socket errors (connection abort/close/reset) per
    socket reuse type.  Socket late binding is enabled.
  </summary>
</histogram>

<histogram name="Net.IOThreadCreationToHttpRequestStart" units="ms">
  <obsolete>
    Deprecated 11/2014. No longer tracked.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <summary>
    Time from when the IOThread is created to when the first URL request is
    started. Only requests that are created for a profile while Chrome is
    starting up are considered.
  </summary>
</histogram>

<histogram name="Net.IPv6ConnectDuration" units="ms">
  <obsolete>
    Deprecated 1/2015. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Duration of time spent during the UDP-connect IPv6 probe.</summary>
</histogram>

<histogram name="Net.IPv6ConnectFailureMatch" enum="BooleanSuccess">
  <obsolete>
    Deprecated 03/2015. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Whether the interface-enumeration IPv6 probe method failed given that the
    UDP-connect IPV6 probe failed.
  </summary>
</histogram>

<histogram name="Net.IPv6ConnectSuccessMatch" enum="BooleanSuccess">
  <obsolete>
    Deprecated 03/2015. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Whether the interface-enumeration IPv6 probe method was successful given
    that the UDP-connect IPV6 probe was successful.
  </summary>
</histogram>

<histogram name="Net.IPv6Status" enum="IPV6ProbeResult">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The probe results when a test for IPv6 support is done.</summary>
</histogram>

<histogram name="Net.IPv6Status_retest" enum="IPV6ProbeResult">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The probe results when a test for IPv6 support is done, after a network
    change event.
  </summary>
</histogram>

<histogram name="Net.JobControllerSet.CountOfJobController"
    units="job_controllers">
  <owner>zhongyi@chromium.org</owner>
  <summary>
    This counts number of all the job controllers that are still alive if the
    count is a multiple of 100: 100, 200, 300, etc.
  </summary>
</histogram>

<histogram
    name="Net.JobControllerSet.CountOfJobController.NonPreconnect.PendingRequest"
    units="job_controllers">
  <owner>zhongyi@chromium.org</owner>
  <summary>
    This counts number of JobControllers that are still alive, not created for
    preconnect, and still have a HttpStreamFactoryImpl::Request pending.
  </summary>
</histogram>

<histogram
    name="Net.JobControllerSet.CountOfJobController.NonPreconnect.RequestGone"
    units="job_controllers">
  <owner>zhongyi@chromium.org</owner>
  <summary>
    This counts number of job controllers that are still alive, not created for
    preconnect but HttpStreamFactoryImpl::Request has completed.
  </summary>
</histogram>

<histogram name="Net.JobControllerSet.CountOfJobController.Preconnect"
    units="job_controllers">
  <owner>zhongyi@chromium.org</owner>
  <summary>
    This counts number of job controllers which are used for preconnect and are
    still alive.
  </summary>
</histogram>

<histogram name="Net.JobControllerSet.CountOfJobControllerAtShutDown"
    units="job_controllers">
  <owner>zhongyi@chromium.org</owner>
  <summary>
    This counts number of all the job controllers that are still alive.
  </summary>
</histogram>

<histogram name="Net.JobControllerSet.CountOfNonPreconnectAltJob"
    units="alt_jobs">
  <owner>zhongyi@chromium.org</owner>
  <summary>
    This counts number of alternative jobs which are still alive.
  </summary>
</histogram>

<histogram name="Net.JobControllerSet.CountOfNonPreconnectMainJob"
    units="main_jobs">
  <owner>zhongyi@chromium.org</owner>
  <summary>This counts number of main jobs which are still alive.</summary>
</histogram>

<histogram name="Net.JobControllerSet.CountOfPendingRequest" units="requests">
  <obsolete>
    Deprecated 04/2017, replaced by
    Net.JobController.CountOfJobController.NonPreconnect.PendingRequest.
  </obsolete>
  <owner>zhongyi@chromium.org</owner>
  <summary>
    This counts number of HttpStreamFactoryImpl::Request which are still alive.
  </summary>
</histogram>

<histogram name="Net.JobControllerSet.CountOfPreconnect"
    units="job_controllers">
  <obsolete>
    Deprecated 04/2017, replaced by
    Net.JobController.CountOfJobController.Preconnect.
  </obsolete>
  <owner>zhongyi@chromium.org</owner>
  <summary>
    This counts number of job controllers which are used for preconnect and are
    still alive.
  </summary>
</histogram>

<histogram name="Net.LoadPrefetch.Pattern" enum="PrefetchStatus">
  <owner>droger@chromium.org</owner>
  <owner>mattcary@chromium.org</owner>
  <owner>pasko@chromium.org</owner>
  <summary>
    The completion status of prefetches that have finished loading.
  </summary>
  <details>
    Measurement occurs at ResourceLoader::ResponseCompleted so requests canceled
    before that point are not registered.

    This applies to requests with net::LOAD_PREFETCH, used by various
    prefetching features such as no-state prefetch and RESOURCE_TYPE_PREFETCH.

    Note that &quot;success from cache&quot; means that the
    UrlRequest::was_cached() was true and unused_since_prefetch was false.
    &quot;success from network&quot; means that was_cached() was false.
    &quot;success already prefetched&quot; means that both was_cached() and
    unused_since_prefetch were true. Validated results are considered cached,
    even though a conditional network request is made.
  </details>
</histogram>

<histogram name="Net.MainFrameNoStore" enum="MainFrameStorable">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The distribution of storable vs &quot;cache-control: no-store&quot;
    main-frame resources.

    Counted after response headers have completed and before the content has
    completed. Redirects are counted. All HTTP cache transactions are counted,
    not just those that require the network.
  </summary>
</histogram>

<histogram name="Net.MTPR_GetProxyForUrl_Thread_Wait_Time" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time that a (non-cancelled) proxy resolution request was stalled waiting
    for an execution thread, for MultiThreadedProxyResolver.
  </summary>
</histogram>

<histogram name="Net.MTPR_GetProxyForUrl_Time" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The total time that it took for a (non-cancelled) proxy resolution request
    to complete, for MultiThreadedProxyResolver.
  </summary>
</histogram>

<histogram name="Net.NetInternalsUi.Feature" enum="NetInternalsUiFeature">
  <obsolete>
    Removed in Chrome 44.
  </obsolete>
  <owner>eroman@chromium.org</owner>
  <summary>
    Counts the number of browser launches where chrome://net-internals and
    chrome://net-internals/#tests are used.
  </summary>
</histogram>

<histogram name="Net.NetworkErrorsRecovered.MainFrame" enum="NetErrorCodes">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    How often automatically retrying to download the main frame of a page in
    response to specific HTTP network errors succeeds.
  </summary>
</histogram>

<histogram name="Net.NetworkErrorsRecovered.Subresource" enum="NetErrorCodes">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    How often automatically retrying to download a subresource in response to
    specific HTTP network errors succeeds.
  </summary>
</histogram>

<histogram name="Net.NetworkErrorsUnrecovered.MainFrame" enum="NetErrorCodes">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    How often automatically retrying to download the main frame of a page in
    response to specific HTTP network errors returns another network error.
    Histogram includes only the error code that triggered the retry.
  </summary>
</histogram>

<histogram name="Net.NetworkErrorsUnrecovered.Subresource" enum="NetErrorCodes">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    How often automatically retrying to download a subresource in response to
    specific HTTP network errors returns another network error.  Histogram
    includes only the error code that triggered the retry.
  </summary>
</histogram>

<histogram name="Net.NotifyAddrChangeFailures">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    On Windows, NetworkChangeNotifierWin calls NotifyAddrChange, which can fail
    for unknown reasons. This records the number of times it fails in a row
    before a successful call. If it never succeeds, or takes over 100 tries, a
    value of 100 is recorded. See http://crbug.com/69198
  </summary>
</histogram>

<histogram name="Net.NumDuplicateCookiesInDb">
  <obsolete>
    Deprecated 2015-08-17 as part of cookie histogram cleanup
    (https://crbug.com/521135).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of duplicate cookies that were present in the cookie store during
    startup.
  </summary>
</histogram>

<histogram name="Net.OCSPRequestFailedTimeMs" units="ms">
  <owner>rsleevi@chromium.org</owner>
  <summary>
    When validating an HTTPS certificate we may have to make one or more HTTP
    fetches to OCSP responders in order to get revocation information. This
    measures the amount of time that failures to get OCSP information take.
  </summary>
</histogram>

<histogram name="Net.OCSPRequestSuccess" enum="BooleanSuccess">
  <owner>rsleevi@chromium.org</owner>
  <summary>
    When validating an HTTPS certificate we may have to make one or more HTTP
    fetches to OCSP responders in order to get revocation information. This
    records the fraction of successful requests.
  </summary>
</histogram>

<histogram name="Net.OCSPRequestTimeMs" units="ms">
  <owner>rsleevi@chromium.org</owner>
  <summary>
    When validating an HTTPS certificate we may have to make one or more HTTP
    fetches to OCSP responders in order to get revocation information. This
    measures the amount of time that each of those requests takes.
  </summary>
</histogram>

<histogram name="Net.OCSPResponseStapled" enum="BooleanSuccess">
  <owner>rsleevi@chromium.org</owner>
  <summary>
    When connecting over HTTPS, a server may include an OCSP response as part of
    the TLS handshake so that clients do not have to fetch it, provided the
    client requested the server do so. This measures whether or not a server
    included an OCSP response when it was requested.
  </summary>
</histogram>

<histogram name="Net.OSErrorsForGetAddrinfo" enum="ErrorCodesGetaddrinfo_All">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Positive error code that was returned by the system library
    &quot;getaddrinfo()&quot;. This error code is platform specific, so when
    there is a Windows/Linux conflict, both decodings are shown.
  </summary>
</histogram>

<histogram name="Net.OSErrorsForGetAddrinfo_Linux"
    enum="ErrorCodesGetaddrinfo_Linux">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Positive error code that was returned by the system library
    &quot;getaddrinfo()&quot;.
  </summary>
</histogram>

<histogram name="Net.OSErrorsForGetAddrinfo_Mac"
    enum="ErrorCodesGetaddrinfo_Mac">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Positive error code that was returned by the system library
    &quot;getaddrinfo()&quot;.
  </summary>
</histogram>

<histogram name="Net.OSErrorsForGetAddrinfo_Win"
    enum="ErrorCodesGetaddrinfo_Win">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Positive error code that was returned by the system library
    &quot;getaddrinfo()&quot;.
  </summary>
</histogram>

<histogram name="Net.PacResultForStrippedUrl" enum="PacResultForStrippedUrl">
  <obsolete>
    Deprecated 4/27/2016. No longer tracked.
  </obsolete>
  <owner>eroman@chromium.org</owner>
  <summary>
    Proxy Auto Config (PAC) allows specifying an arbitrary javascript program to
    pick network proxies on a per-request basis (based on the URL). This works
    by calling the script's FindProxyForURL() function with the target URL as
    its first argument.

    Traditionally, the URL parameter passed into the script contains the exact
    URL being loaded, except maybe for having stripped the fragment and embedded
    identity portions of the URL.

    This histogram records what happens when the URL passed into
    FindProxyForURL() additionally has had its path component stripped. Does it
    return the same proxy list as when calling FindProxyForURL() with the
    original (unmodified) URL?

    This comparison is done only when the URL scheme implies a secure channel
    (i.e. https:// and wss://), in order to gather data for crbug.com/593759.
  </summary>
</histogram>

<histogram name="Net.Ping_ResponseStartedTime" units="ms">
  <obsolete>
    Deprecated 4/16/2014. No longer tracked.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    How long it took for an &lt;a ping&gt; request to receive a response. Only
    recorded if a response was received.
  </summary>
</histogram>

<histogram name="Net.Ping_Result" enum="PingResult">
  <obsolete>
    Deprecated 4/16/2014. No longer tracked.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    The result of an &lt;a ping&gt; request, whether it received a response or
    timed out or failed for some other reason.
  </summary>
</histogram>

<histogram name="Net.PreconnectedLinkNavigations" enum="PreconnectedNavigation">
  <obsolete>
    No longer tracked.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Indicate whether a link navigation was preceded by a recent pre-connect
    trigger (within 10 seconds). There is a high chance that loading the page
    used a preconnected TCP session.
  </summary>
</histogram>

<histogram name="Net.PreconnectedNavigation" enum="PreconnectedNavigation">
  <obsolete>
    No longer tracked.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Indicate whether a URLRequest was preceded by a recent pre-connect trigger
    (within 10 seconds). There is a high chance that loading the resource used a
    preconnected TCP session.
  </summary>
</histogram>

<histogram name="Net.PreconnectMotivation" enum="PreconnectMotivation">
  <owner>csharrison@chromium.org</owner>
  <summary>
    When a preconnection is made, indicate what the motivation was.
  </summary>
  <details>
    Currently, the most common (only?) motivations are SELF_REFERAL,
    LEARNED_REFERAL and OMNIBOX. The SELF_REFERAL indicates that we made sure a
    second connection was available for a resource that either was never before
    seen, or has historically had no subresources.  The LEARNED_REFERAL
    indicates that we &quot;learned&quot; that a subresource was commonly
    needed, and that motivated the TCP/IP preconnect. The OMNIBOX motivation
    happens when a search is being suggested, and we preconnect to the search
    provider. (WARNING: Prior to version 7.517.*, enums 7, 8, and 9 may be
    confused, as EARLY_LOAD_MOTIVATED was inserted new 6 value.)
  </details>
</histogram>

<histogram name="Net.PreconnectProxyStatus" enum="ProxyStatus">
  <obsolete>
    No longer tracked.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Indicate whether there was a proxy to preclude preconnection.
  </summary>
</histogram>

<histogram name="Net.PreconnectSkippedToProxyServers" units="count">
  <owner>tbansal@chromium.org</owner>
  <summary>
    Indicates number of times a preconnect to proxy server was skipped due to an
    existing pending preconnection request.
  </summary>
</histogram>

<histogram name="Net.PreconnectSubresourceEval"
    enum="PreconnectSubresourceEval">
  <owner>csharrison@chromium.org</owner>
  <summary>
    What did we decide to do about a predicted resource, based on the historical
    expected number of connection that this subresource will require.
  </summary>
  <details>
    This is basically the current thresholding of the SubresourceExpectation,
    relative to current static thresholds, and taking into account whether
    preconnection is enabled (i.e., if preconnection is disabled, we'll never
    decide to preconnect).
  </details>
</histogram>

<histogram name="Net.PreconnectSubresourceExpectation">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The expected number of connections, times 100, that we'll make to a given
    subresource, based on learned history.
  </summary>
  <details>
    By comparing this to thresholds, we decide if we will preconnect,
    preresolve, or do nothing. This histogram can be used to select those static
    thresholds.
  </details>
</histogram>

<histogram name="Net.PreconnectTriggerUsed" enum="PreconnectTriggerUsed">
  <obsolete>
    No longer tracked.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Indicate whether if a preconnect trigger is followed by a resource request
    (from link navigations) to the host or not. This is to measure precision of
    link-based preconnect triggers.
  </summary>
</histogram>

<histogram name="Net.PreconnectUtilization" enum="NetPreconnectUtilization">
  <obsolete>
    Sourced data corrected, and replaced by NetPreconnectUtilization2
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Indicate final utilization for each attempted socket connection.
  </summary>
  <details>
    We also include stats for non-speculative sockets. Some socket connections
    may never connect, and others may never be used (as the user may abort
    before then).
  </details>
</histogram>

<histogram name="Net.PreconnectUtilization2" enum="NetPreconnectUtilization">
  <owner>csharrison@chromium.org</owner>
  <summary>
    Indicate final utilization for each attempted socket connection.
  </summary>
  <details>
    We also include stats for non-speculative sockets. Some socket connections
    may never connect, and others may never be used (as the user may abort
    before then).
  </details>
</histogram>

<histogram name="Net.Predictor.MRUIndex">
  <obsolete>
    Dev data was collected which was good enough to make a decision on the size
    of the predictor database.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    The index into the predictor's MRU on navigation. This is the size the MRU
    had to be in order to effectively predict subresources for this navigation.
  </summary>
</histogram>

<histogram name="Net.Predictor.Startup.DBSize" units="bytes">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The approximate size in bytes of the predictor's database on startup.
  </summary>
</histogram>

<histogram name="Net.Prefetch.HitBytes" units="bytes">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    Bytes read for requests that were served from a cache entry whose
    unused_since_prefetch bit is true.
  </summary>
</histogram>

<histogram name="Net.Prefetch.Pattern" enum="PrefetchStatus">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The completion status of prefetches that have finished loading.
  </summary>
  <details>
    Measurement occurs at ResourceLoader::ResponseCompleted so requests canceled
    before that point are not registered.

    This applies to requests with RESOURCE_TYPE_PREFETCH.

    Note that &quot;success from cache&quot; means that the
    UrlRequest::was_cached() was true and unused_since_prefetch was false.
    &quot;success from network&quot; means that was_cached() was false.
    &quot;success already prefetched&quot; means that both was_cached() and
    unused_since_prefetch were true. Validated results are considered cached,
    even though a conditional network request is made.
  </details>
</histogram>

<histogram name="Net.Prefetch.PrefilterBytesReadFromNetwork" units="bytes">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    Number of bytes read from the network on behalf of prefetch requests.  This
    is prefilter, so before any decompression.
  </summary>
  <details>
    This applies to requests with RESOURCE_TYPE_PREFETCH.
  </details>
</histogram>

<histogram name="Net.Prefetch.TimeBeforeCancel" units="ms">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    Time spent on prefetch requests before the request was canceled.
  </summary>
  <details>
    This applies to requests with RESOURCE_TYPE_PREFETCH.
  </details>
</histogram>

<histogram name="Net.Prefetch.TimeSpentOnPrefetchHit" units="ms">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    Time spent on requests that were served from a cache entry whose
    unused_since_prefetch bit is true.
  </summary>
</histogram>

<histogram name="Net.Prefetch.TimeSpentPrefetchingFromCache" units="ms">
  <owner>jkarlin@chromium.org</owner>
  <summary>Time spent on prefetch requests when fetched from cache.</summary>
  <details>
    This applies to requests with RESOURCE_TYPE_PREFETCH.
  </details>
</histogram>

<histogram name="Net.Prefetch.TimeSpentPrefetchingFromNetwork" units="ms">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    Time spent on prefetch requests when fetched from the network, including
    validation time.
  </summary>
</histogram>

<histogram name="Net.PrefProxyConfig.GooglezipProxyRemovalCount">
  <owner>sclittle@chromium.org</owner>
  <summary>
    Records how many *.googlezip.net Data Reduction Proxies were removed from
    the effective proxy configuration when a proxy reconfiguration occurs.
  </summary>
</histogram>

<histogram name="Net.Priority_High_Latency" units="ms">
  <obsolete>
    Replaced by Net.Priority_High_Latency_b.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from the start of the http transaction until the first byte of the
    response for high priority (currently frame and subframe) requests.  Only
    times under 10 minutes are recorded.
  </summary>
</histogram>

<histogram name="Net.Priority_High_Latency_b" units="ms">
  <obsolete>
    Deprecated as of 11/2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from the start of the http transaction until the first byte of the
    response for high priority (currently frame and subframe) requests.
  </summary>
</histogram>

<histogram name="Net.Priority_Low_Latency" units="ms">
  <obsolete>
    Replaced by Net.Priority_Low_Latency_b.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from the start of the http transaction until the first byte of the
    response for low priority (non-frame/subframe) requests.   Only times under
    10 minutes are recorded.
  </summary>
</histogram>

<histogram name="Net.Priority_Low_Latency_b" units="ms">
  <obsolete>
    Deprecated as of 11/2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from the start of the http transaction until the first byte of the
    response for low priority (non-frame/subframe) requests.
  </summary>
</histogram>

<histogram name="Net.ProxyAuthRequested.HasConnection">
  <owner>rch@chromium.org</owner>
  <summary>
    When a PROXY_AUTH_REQUESTED error code is handled in
    net::HttpStreamFactoryImpl::Job::RunLoop, this is true if connection_ has an
    associated value.
  </summary>
</histogram>

<histogram name="Net.ProxyPollConfigurationTime">
  <obsolete>
    Removed at some time before 2014/09/15.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time in milliseconds spent fetch the system proxy configuration, when
    polling it for changes.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.AbandonedExecutionTotalTime" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The total amount of time that was spent executing the proxy script during
    &quot;tracing&quot; runs (executions of the script which discovered a new
    DNS dependency and were subsequently abandoned).
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.BlockingDNSMode.AbandonedExecutionTotalTime"
    units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The total amount of time that was spent executing the proxy script during
    &quot;tracing&quot; runs (executions of the script which discovered a new
    DNS dependency and were subsequently abandoned).
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.BlockingDNSMode.DnsWaitTotalTime" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The total amount of time that was spent in the non-blocking DNS bindings
    while executing PAC scripts. This includes the times for abandoned
    executions.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.BlockingDNSMode.ExecutionTime" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The amount of time inside of V8 that the proxy script spent executing for
    the final pass. This includes the time spent in the javascript bindings.
    This does not include the time spent in abandoned execution passes.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.BlockingDNSMode.NumAlerts">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of times that alert() was called in the final execution of the
    script.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.BlockingDNSMode.NumErrors">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of errors that were seen in the final execution of the script.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.BlockingDNSMode.NumRestarts">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of times that the PAC script execution was restarted.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.BlockingDNSMode.TotalTime" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The total time that the proxy resolution took. This includes all the time
    spent waiting for DNS, PAC script execution, and restarts.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.BlockingDNSMode.TotalTimeDNS" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The total time that proxy resolution spent waiting for DNS. This also
    includes any queuing delays on the origin thread waiting for the DNS result
    to be processed.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.BlockingDNSMode.UniqueDNS">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of unique DNS hostnames that the PAC script tried to resolve. The
    *Ex() versions of the bindings count separately.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.DnsWaitTotalTime" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The total amount of time that was spent in the non-blocking DNS bindings
    while executing PAC scripts. This includes the times for abandoned
    executions.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.ExecutionTime" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The amount of time inside of V8 that the proxy script spent executing for
    the final pass. This includes the time spent in the javascript bindings
    (which is probably dominated by Net.ProxyResolver.DnsWaitTotalTime). This
    does not include the time spent in abandoned execution passes.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.NumAlerts">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of times that alert() was called in the final execution of the
    script.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.NumErrors">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of errors that were seen in the final execution of the script.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.NumRestarts">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of times that the PAC script execution was restarted.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.OriginThreadLatency" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The amount of time it took upon completion to run the final task posted back
    to the IO thread.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.TotalTime" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The total time that the proxy resolution took. This includes all the time
    spent waiting for DNS, PAC script execution, and restarts.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.TotalTimeDNS" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The total time that proxy resolution spent waiting for DNS. This also
    includes any queuing delays on the origin thread waiting for the DNS result
    to be processed.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.TotalTimeWorkerThread" units="ms">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The total time that the proxy resolution took, not including the post back
    to the origin thread. This includes all the time spent waiting for DNS, PAC
    script execution, and restarts.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.UniqueDNS">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of unique DNS hostnames that the PAC script tried to resolve. The
    *Ex() versions of the bindings count separately.
  </summary>
</histogram>

<histogram name="Net.ProxyResolver.URLSize">
  <obsolete>
    Removed in Chrome 39.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The length of the URL that was passed into the PAC script.</summary>
</histogram>

<histogram name="Net.ProxyScriptFetcher.FirstByteDuration" units="ms">
  <owner>cbentzel@chromium.org</owner>
  <summary>
    The time taken from requesting a PAC script to receiving the first byte, on
    successful fetches. This does not include time spent doing proxy
    auto-discovery, or failed attempts at retrieving PAC  scripts.
  </summary>
</histogram>

<histogram name="Net.ProxyScriptFetcher.SuccessDuration" units="ms">
  <owner>cbentzel@chromium.org</owner>
  <summary>
    The time taken to successfully fetch a PAC script. This does not include
    time spent doing proxy auto-discovery, or failed attempts at retrieving PAC
    scripts.
  </summary>
</histogram>

<histogram name="Net.ProxyService.GetProxyUsingScriptResult"
    enum="NetErrorCodes">
  <owner>eroman@chromium.org</owner>
  <summary>
    The network error code of resolving a URL by forwarding the request to the
    proxy resolver and executing the PAC script.
  </summary>
</histogram>

<histogram name="Net.ProxyService.GetProxyUsingScriptTime"
    units="100s of microseconds">
  <owner>eroman@chromium.org</owner>
  <summary>
    The time taken to resolve a URL by forwarding the request to the proxy
    resolver and executing the PAC script. This includes PAC script execution,
    DNS queries, and internal retries. This does not include retries initiated
    by the user, such as by calling ProxyService::ReconsiderProxyAfterError().
  </summary>
</histogram>

<histogram name="Net.ProxyService.ResolvedUsingScript" enum="Boolean">
  <owner>eroman@chromium.org</owner>
  <summary>
    Whether proxy resolution occured by forwarding the request to the proxy
    resolver and executing the PAC script. This histogram records all URLs,
    regardless of whether a proxy configuration is set. Note that in some cases,
    the system proxy resolver is used. If so, this histogram indicates whether
    the request was forwarded to the system resolver. However, on desktop
    platforms, the number of users using the system resolver should be small
    since the default is to use V8. Hence, the count of emissions to the 'True'
    bucket on desktop caused by users of the system resolver should be small.
  </summary>
</histogram>

<histogram name="Net.ProxyService.ResolveProxyTime"
    units="100s of microseconds">
  <owner>eroman@chromium.org</owner>
  <summary>
    The total time taken to resolve a URL. This includes PAC script execution,
    DNS queries, and internal retries. This does not include retries initiated
    by the user, such as by calling ProxyService::ReconsiderProxyAfterError().
  </summary>
</histogram>

<histogram name="Net.ProxyService.ScriptTerminated" enum="BooleanTerminated">
  <owner>eroman@chromium.org</owner>
  <summary>
    Whether a proxy resolution resulted in the PAC script terminating
    unexpectedly. This does not include terminations that occured during
    initialization of a new proxy resolver. This only happens when the resolver
    process crashes when using out-of-process PAC.
  </summary>
</histogram>

<histogram name="Net.ProxyService.ScriptTerminatedOnInit"
    enum="BooleanTerminated">
  <owner>eroman@chromium.org</owner>
  <summary>
    Whether the creation of a new proxy resolver resulted in the PAC script
    terminating unexpectedly. This only happens when the resolver process
    crashes when using out-of-process PAC.
  </summary>
</histogram>

<histogram name="Net.PublicKeyPinFailureDomain" enum="PublicKeyPinFailedDomain">
  <obsolete>
    Deprecated as of November 2016 because of disuse. Historical data is likely
    inaccurate due to changes in the data structure that calculated domain IDs
    for this histogram.
  </obsolete>
  <owner>agl@chromium.org</owner>
  <summary>
    Second-level domains for which we have observed public key pinning failures.
  </summary>
</histogram>

<histogram name="Net.PublicKeyPinReportSendingFailure" enum="NetErrorCodes">
  <obsolete>
    Deprecated as of 07/2016. Replaced with
    Net.PublicKeyPinReportSendingFailure2.
  </obsolete>
  <owner>estark@chromium.org</owner>
  <summary>
    A validated certificate chain may be subject to additional pinning
    requirements on a per-domain basis. When pinning requirements are violated,
    Chrome attempts to send a report about the incident. This records the net
    error code when sending a pinning violation report fails.
  </summary>
</histogram>

<histogram name="Net.PublicKeyPinReportSendingFailure2" enum="NetErrorCodes">
  <owner>estark@chromium.org</owner>
  <summary>
    A validated certificate chain may be subject to additional pinning
    requirements on a per-domain basis. When pinning requirements are violated,
    Chrome attempts to send a report about the incident. This records the net
    error code when sending a pinning violation report fails.
  </summary>
</histogram>

<histogram name="Net.PublicKeyPinSuccess" enum="BooleanSuccess">
  <owner>agl@chromium.org</owner>
  <summary>
    A validated certificate chain may be subject to additional
    &quot;pinning&quot; requirements on a per-domain basis. This records the
    fraction of successful matches between a certificate chain and a pin list.
  </summary>
</histogram>

<histogram name="Net.QuicActiveSessions">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The number of active QUIC sessions before we activate a new QUIC session.
  </summary>
</histogram>

<histogram name="Net.QuicAlternativeProxy.Usage"
    enum="QuicAlternativeProxyUsage">
  <owner>tbansal@chromium.org</owner>
  <summary>
    Breakdown of how requests which could potentially make use of an alternative
    QUIC proxy server use or don't use the QUIC server.
  </summary>
</histogram>

<histogram name="Net.QuicClientHelloRejectReasons" enum="QuicRejectReasons">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The reject reasons for QUIC's CHLO (client hello) message from server
  </summary>
</histogram>

<histogram name="Net.QuicClientHelloServerConfig.HowExpired" units="ms">
  <obsolete>
    Deprecated 08/2014, and replaced by
    Net.QuicClientHelloServerConfig.InvalidDuration.
  </obsolete>
  <owner>rtenneti@chromium.org</owner>
  <summary>
    How expired server config is for sending inchoate ClientHello to the server.
  </summary>
</histogram>

<histogram name="Net.QuicClientHelloServerConfig.InvalidDuration" units="ms">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The time since expiration of server config when we sent inchoate ClientHello
    to the server.
  </summary>
</histogram>

<histogram name="Net.QuicClientHelloServerConfigState"
    enum="QuicServerConfigState">
  <obsolete>
    Deprecated as of 11/2014. Replaced by Net.QuicInchoateClientHelloReason.
  </obsolete>
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The reason (the state of the server config) for sending inchoate ClientHello
    to the server.
  </summary>
</histogram>

<histogram name="Net.QuicCloseConnection.NullVisitor" enum="BooleanNullVisitor">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The number of times Connection's visitor is a nullptr when CloseConnection
    is called.
  </summary>
</histogram>

<histogram name="Net.QuicCryptoClientConfig.PopulatedFromCanonicalConfig"
    enum="BooleanPopulated">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The number of times CryptoClientConfig's CachedState is populated from
    canonical config whenever we create a new CryptoClientConfig::CachedState.
  </summary>
</histogram>

<histogram name="Net.QuicDiskCache.APICall" enum="QuicDiskCacheAPICall">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    Tracks number of times data read/parse/write API calls of QuicServerInfo to
    and from disk cache is called.
  </summary>
</histogram>

<histogram name="Net.QuicDiskCache.EntryState" enum="QuicDiskCacheEntryState">
  <obsolete>
    Deprecated as of 10/2014.
  </obsolete>
  <owner>rtenneti@chromium.org</owner>
  <summary>
    Tracks the opening and closing of disk cache entries. Recorded each time a
    disk cache entry is either opened or closed.
  </summary>
</histogram>

<histogram name="Net.QuicDiskCache.FailureReason"
    enum="QuicDiskCacheFailureReason">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    Tracks failure reasons to read/load/write of QuicServerInfo to and from disk
    cache.
  </summary>
</histogram>

<histogram name="Net.QuicEphemeralPortsSuggested">
  <obsolete>
    Deprecated as of 04/2016.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>The number of ports suggested per server.</summary>
</histogram>

<histogram name="Net.QuicHandshakeNotConfirmedNumPacketsReceived">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of QUIC packets received by a QUIC connection whose handshake was
    not confirmed when that connection is closed.
  </summary>
</histogram>

<histogram name="Net.QuicHandshakeState" enum="QuicHandshakeState">
  <owner>rch@chromium.org</owner>
  <summary>
    The state of a QUIC connection's crypto hanshake as it progresses from
    starting to confirmation or failure.
  </summary>
</histogram>

<histogram name="Net.QuicHpackCompressionPercentage" units="%">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    The compression percentage, logged for each sent HPACK compressed header
    frame.
  </summary>
</histogram>

<histogram name="Net.QuicHpackDecoder.IndexedEntryAge" units="ms">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    For each indexed representation decoded, records the time since the
    corresponding entry was added to the dynamic table.  This data is being
    collected to help analyze a proposed solution to HPACK induced head of line
    blocking.
  </summary>
</histogram>

<histogram name="Net.QuicHpackDecompressionPercentage" units="%">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    The decompression percentage, logged for each received HPACK compressed
    header frame.
  </summary>
</histogram>

<histogram name="Net.QuicHpackEncoder.IndexedEntryAge" units="ms">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    For each indexed representation encoded, records the time since the
    corresponding entry was added to the dynamic table.  This data is being
    collected to help analyze a proposed solution to HPACK induced head of line
    blocking.
  </summary>
</histogram>

<histogram name="Net.QuicHttpStream::DoStreamRequest.IsNullSession"
    enum="Boolean">
  <obsolete>
    Deprecated 2016. No longer tracked.
  </obsolete>
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The number of times QuicHttpStream's session_ is a nullptr before
    StartRequest() is called.
  </summary>
</histogram>

<histogram name="Net.QuicInchoateClientHelloReason"
    enum="QuicServerConfigState">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The reason (the state of the server config) for sending inchoate ClientHello
    to the server.
  </summary>
</histogram>

<histogram name="Net.QuicNumSentClientHellos">
  <owner>rch@chromium.org</owner>
  <summary>The number of client hello messages sent.</summary>
</histogram>

<histogram name="Net.QuicNumSentClientHellosCryptoHandshakeConfirmed">
  <obsolete>
    see Net.QuicSession.Connect*PortForHTTP*
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    The number of client hello messages sent when the crypto handshake was
    confirmed.
  </summary>
</histogram>

<histogram name="Net.QuicNumServerConfig.UpdateMessagesIgnored"
    enum="BooleanIgnored">
  <owner>rtenneti@chromium.org</owner>
  <summary>The number of times ServerConfigUpdateMessages ignored.</summary>
</histogram>

<histogram name="Net.QuicNumStreamFramesInPacket">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of stream frames bundled within a received packet.
  </summary>
</histogram>

<histogram name="Net.QuicNumStreamFramesPerStreamInPacket">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of stream frames per stream ID within a received packet.
  </summary>
</histogram>

<histogram name="Net.QuicReadAvailableData.NullStream" enum="BooleanNullStream">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The number of times QuicHttpStream's stream_ is a nullptr before
    IsDoneReading() is called.
  </summary>
</histogram>

<histogram name="Net.QuicServerInfo.DiskCacheLoadTime" units="ms">
  <owner>rtenneti@chromium.org</owner>
  <summary>Time spent to load QUIC server information from disk cache.</summary>
</histogram>

<histogram name="Net.QuicServerInfo.DiskCacheReadTime" units="ms">
  <obsolete>
    Deprecated as of 10/2014. Replaced by DiskCacheWaitForDataReadyTime.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>Time spent to load QUIC server information from disk cache.</summary>
</histogram>

<histogram name="Net.QuicServerInfo.DiskCacheState"
    enum="QuicServerConfigState">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The state of the QUIC server information when it's loaded from the disk
    cache.
  </summary>
</histogram>

<histogram name="Net.QuicServerInfo.DiskCacheWaitForDataReadyTime" units="ms">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    Time spent waiting to load QUIC server information from disk cache.
  </summary>
</histogram>

<histogram name="Net.QuicServerInfo.ExpectConfigMissingFromDiskCache"
    enum="BooleanMissingFromDiskCache">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The number of times AlternateProtocolMap supports QUIC, but there is no QUIC
    server information in the disk cache. This is recorded whenever QUIC server
    information is loaded from the disk cache.
  </summary>
</histogram>

<histogram name="Net.QuicServerInfo.WaitForDataReady.HandshakeConfirmedTime"
    units="Milliseconds">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The elapsed time between waiting for reading of QUIC server information from
    disk cache, and receiving crypto handshake confirmation from the server.
    Will measure the impact of cancelling the WaitForDataReady callback. Logged
    after crypto handshake is confirmed.
  </summary>
</histogram>

<histogram name="Net.QuicServerInfo.WaitForDataReadyToRtt" units="%">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The ratio of the time spent waiting to load QUIC server information from
    disk cache to the min rtt. Logged when session is closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.21CumulativePacketsReceived"
    units="Received in Ranges">
  <obsolete>
    Deprecated 08/2016.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    This histogram summarizes information about a 21 packet sequence, indicating
    for each of the 21 possible prefixes of this pattern, how many packets were
    received in that prefix.  The first range uses buckets 0 and 1, and it
    describes the 1st packet in the sequence.  It indicates if the first packet
    was missing (bucket 0), or the first packet was present (bucket 1).  The
    second range uses buckets 2 through 4, and describes the first 2 packets in
    the prefix of this sequence.  It indicates if there were no packets received
    in the first two packets (bucket 2), or there was one out of two packets
    received (bucket 3), or if there was two out of tow received (bucket 4).
    etc. etc.  Reading this histogram may require post-processing in a spread
    sheet, but can indicate the potential value of using FEC packets to convey
    data.
  </summary>
</histogram>

<histogram name="Net.QuicSession.6PacketsPatternsReceived"
    units="Binay of Packets ACKed">
  <obsolete>
    Deprecated 08/2016.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    Each of the 64 buckets represents a different binary pattern of 6
    consecutive packets that were received by the client.  The LSB of the bucket
    number corresponds to the reception of the oldest packet.  A bit in the
    bucket-number being 1 indicates the packet was received, and a 0 means the
    packet was never received (by the client).
  </summary>
</histogram>

<histogram name="Net.QuicSession.AbortedPendingStreamRequests"
    units="stream requests">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    The number of pending stream requests aborted when the session is closed.
    Pending streams are those which could not be created immediately because
    there were too many active streams.
  </summary>
</histogram>

<histogram name="Net.QuicSession.AsyncRead" enum="Boolean">
  <owner>rch@chromium.org</owner>
  <summary>
    True if the result of reading a packet from the network was ERR_IO_PENDING.
    Recorded for each packet when Read() returns.
  </summary>
</histogram>

<histogram name="Net.QuicSession.BlockedFrames.Received">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The number of BLOCKED frames recevied by a QuicSession when the session is
    closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.BlockedFrames.Sent">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The number of BLOCKED frames sent by a QuicSession when the session is
    closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.CertVerifierJob.CompleteTime"
    units="Milliseconds">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    Time spent verifying a certificate when racing cert veriifcation with host
    resolution.
  </summary>
</histogram>

<histogram name="Net.QuicSession.ClientSideMtu" units="bytes">
  <owner>rch@chromium.org</owner>
  <summary>
    The final maximum packet size of the connection used by the client before
    the session is closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.CloseAllSessionsError" enum="NetErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    The network error code which resulted in all sessions being closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.ClosedDuringInitializeSession" enum="Boolean">
  <owner>rch@chromium.org</owner>
  <summary>
     True if the QUIC session is closed during the call to InitializeSession,
    logged for each session just after InitializeSession is called.
  </summary>
</histogram>

<histogram name="Net.QuicSession.CloseSessionOnError" enum="NetErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    The network error code which resulted in the session being closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.Connect" units="RTTs">
  <owner>rch@chromium.org</owner>
  <summary>
    Samples of the number of round-trips needed by a QUIC connection before a
    request could be sent by the client.
  </summary>
</histogram>

<histogram name="Net.QuicSession.ConnectAfterBroken" enum="BooleanSuccess">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    True if a QUIC connection connected successfully after having been broken.
    Only emitted after a QUIC connection attempt to a server that was previous
    marked as broken.
  </summary>
</histogram>

<histogram
    name="Net.QuicSession.ConnectionClose.HandshakeFailureBlackHole.QuicError"
    enum="QuicErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    The QUIC error which caused a QUIC connection to be closed before the
    hanshake was confirmed, in the case where no packets were received. This
    provides a breakdown of the entires in
    Net.QuicSession.ConnectionClose.HandshakeNotConfirmed.Reason where the value
    is BLACK_HOLE.
  </summary>
</histogram>

<histogram
    name="Net.QuicSession.ConnectionClose.HandshakeFailureUnknown.QuicError"
    enum="QuicErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    The QUIC error which caused a QUIC connection to be closed before the
    hanshake was confirmed, in the case where at least 1 packet was received.
    This provides a breakdown of the entires in
    Net.QuicSession.ConnectionClose.HandshakeNotConfirmed.Reason where the value
    is UNKNOWN.
  </summary>
</histogram>

<histogram name="Net.QuicSession.ConnectionClose.HandshakeNotConfirmed.Reason"
    enum="QuicHandshakeFailureReason">
  <owner>rch@chromium.org</owner>
  <summary>The reason a QUIC handshake failed.</summary>
</histogram>

<histogram
    name="Net.QuicSession.ConnectionClose.NumOpenStreams.HandshakeTimedOut">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of streams open when a QUIC session crypto handshake timed out.
  </summary>
</histogram>

<histogram name="Net.QuicSession.ConnectionClose.NumOpenStreams.TimedOut">
  <owner>rch@chromium.org</owner>
  <summary>The number of streams open when a QUIC session timed out.</summary>
</histogram>

<histogram
    name="Net.QuicSession.ConnectionClose.NumTotalStreams.HandshakeTimedOut">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of total streams created when a QUIC session crypto handshake
    timed out.
  </summary>
</histogram>

<histogram name="Net.QuicSession.ConnectionCloseErrorCode"
    enum="QuicErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    The QUIC error code which resulted in the connection being closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.ConnectionCloseErrorCodeClient"
    enum="QuicErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    The QUIC error code which resulted in the connection being closed by the
    client.
  </summary>
</histogram>

<histogram name="Net.QuicSession.ConnectionCloseErrorCodeServer"
    enum="QuicErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    The QUIC error code which resulted in the connection being closed by the
    server.
  </summary>
</histogram>

<histogram name="Net.QuicSession.ConnectionFlowControlBlocked"
    enum="BooleanBlocked">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    Whether QUIC session's connection is flow control blocked when a PING
    message is sent to server.
  </summary>
</histogram>

<histogram name="Net.QuicSession.ConnectionMigration"
    enum="QuicConnectionMigrationStatus">
  <owner>jri@chromium.org</owner>
  <summary>The result of a QUIC connection migration attempt.</summary>
</histogram>

<histogram name="Net.QuicSession.ConnectionTypeFromPeer" enum="AddressFamily">
  <owner>rch@chromium.org</owner>
  <summary>
    The IP Address family of this connection, as reported by the server.
  </summary>
</histogram>

<histogram name="Net.QuicSession.ConnectionTypeFromSelf" enum="AddressFamily">
  <owner>rch@chromium.org</owner>
  <summary>The IP Address family of this connection, as seen locally.</summary>
</histogram>

<histogram name="Net.QuicSession.ConnectRandomPortRequiringConfirmation"
    units="RTTs">
  <owner>jri@chromium.org</owner>
  <summary>
    Samples of the number of round-trips needed by a QUIC connection before a
    request could be sent by the client, when handshake confirmation was
    required. (The operating system randomly selected a source port for the
    connection.)
  </summary>
</histogram>

<histogram name="Net.QuicSession.CookieSentToAccountsOverChannelId"
    enum="BooleanUsage">
  <owner>rch@chromium.org</owner>
  <summary>
    Logs whether channel ID was used when a cookie is sent over QUIC to
    https://accounts.google.com.
  </summary>
</histogram>

<histogram name="Net.QuicSession.CreationError" enum="QuicSessionErrorCodes">
  <owner>jar@chromium.org</owner>
  <owner>rch@chromium.org</owner>
  <summary>
    Count of errors during attempts to create a QUIC session (before even using
    the session).
  </summary>
</histogram>

<histogram name="Net.QuicSession.DuplicatePacketsReceived">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of duplicate packets recevied by a QuicSession when the session
    is closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.FinalTcpCwnd">
  <owner>rch@chromium.org</owner>
  <summary>
    The value of the TCP cubic sender's CWND when the session is closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.GoAwayReceivedForConnectionMigration"
    enum="BooleanReceived">
  <owner>zhongyi@chromium.org</owner>
  <summary>
    Whether QuicGoAwayFrame is received from server for connection migration due
    to client's port change. Logged when a QuicGoAwayFrame with error code
    QUIC_ERROR_MIGRATING_PORT is received.
  </summary>
</histogram>

<histogram name="Net.QuicSession.HandshakeConfirmedTime" units="Milliseconds">
  <owner>rch@chromium.org</owner>
  <summary>
    The elapsed time between starting the crypto handshake, and receiving
    confirmation from the server.
  </summary>
</histogram>

<histogram name="Net.QuicSession.HandshakeRoundTrips" units="RTTs">
  <obsolete>
    see Net.QuicSession.Connect*PortForHTTP*
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    Samples of the number of round-trips needed by a QUIC connection before a
    request could be sent by the client.
  </summary>
</histogram>

<histogram name="Net.QuicSession.HeadersHOLBlockedTime" units="Milliseconds">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    The elapsed time that headers are head of line blocked on others, presumably
    due to lost headers stream packets.
  </summary>
</histogram>

<histogram name="Net.QuicSession.HeadersStream.EarlyFramesReceived">
  <obsolete>
    Deprecated 08/2016.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    The frames received on the headers stream which arrived early.
  </summary>
</histogram>

<histogram name="Net.QuicSession.HostResolution.HandshakeConfirmedTime"
    units="Milliseconds">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The elapsed time between the end of resolving the DNS name of the server for
    a QUIC connection, and receiving crypto handshake confirmation from the
    server. Logged after crypto handshake is confirmed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.HostResolutionTime" units="ms">
  <obsolete>
    Deprecated 08/2016. No longer tracked.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    Time spent resolving the DNS name of the server for a QUIC connection.
  </summary>
</histogram>

<histogram name="Net.QuicSession.IncorrectConnectionIDsReceived">
  <owner>rch@chromium.org</owner>
  <summary>
    The number packets recevied by a QuicSession with an incorrect connection id
    when the sesesion is closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.InitialRttEsitmateSource"
    enum="InitialRttEstimateSource">
  <owner>rch@chromium.org</owner>
  <summary>
    The source for the initial RTT estimate recorded when a QUIC session is
    created.
  </summary>
</histogram>

<histogram
    name="Net.QuicSession.LocallyTimedOutWithOpenStreams.TimeSinceLastReceived">
  <owner>rch@chromium.org</owner>
  <summary>
    If a QUIC connection timed out locally with open streams, this contains the
    time since any data was read from the network until the connection was
    closed. The suffix specifies whether there were any unacked packets pending
    when the connection timed out.
  </summary>
</histogram>

<histogram name="Net.QuicSession.MaxReordering">
  <owner>rch@chromium.org</owner>
  <summary>
    The maximum packet sequence number reordering observed by a QUIC connection.
  </summary>
</histogram>

<histogram name="Net.QuicSession.MaxReorderingTime" units="%">
  <owner>rch@chromium.org</owner>
  <summary>
    The ratio of the maximum reordering time of a QUIC packet to the min rtt.
  </summary>
</histogram>

<histogram name="Net.QuicSession.MaxReorderingTimeLongRtt" units="%">
  <owner>rch@chromium.org</owner>
  <summary>
    The ratio of the maximum reordering time of a QUIC packet to the min rtt,
    only for those sessions with a min rtt larger than 100 ms.
  </summary>
</histogram>

<histogram name="Net.QuicSession.MinRTT" units="ms">
  <owner>rch@chromium.org</owner>
  <summary>
    The minimum RTT observed during the life of a QUIC connection.
  </summary>
</histogram>

<histogram name="Net.QuicSession.MtuProbesSent">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of MTU probes sent by the client during the session.  Logged when
    the connection is destroyed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.NumOpenStreams">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of QUIC streams opened when a new QUIC stream is created.
  </summary>
</histogram>

<histogram name="Net.QuicSession.NumPendingStreamRequests"
    units="stream requests">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    The number of pending stream requests when a new stream request is added to
    the pending list.  Pending streams are those which could not be created
    immediately because there were too many active streams.
  </summary>
</histogram>

<histogram name="Net.QuicSession.NumTotalStreams">
  <owner>rch@chromium.org</owner>
  <summary>
    The total number of streams created by the client when the session is
    closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.OutOfOrderGapReceived">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of missing packets between the current received packet and the
    previously largest received packet sequence number, when the current
    received packet had a lower sequence number than the previously received
    packet sequence number.
  </summary>
</histogram>

<histogram name="Net.QuicSession.OutOfOrderLargePacketsReceived">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of times the current received packet had a lower sequence number
    than the previously received packet sequence number, and the size of the
    current packet is larger than the size of the previous packet.
  </summary>
</histogram>

<histogram name="Net.QuicSession.OutOfOrderPacketsReceived">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of times the current received packet had a lower sequence number
    than the previously received packet sequence number.
  </summary>
</histogram>

<histogram name="Net.QuicSession.PacketGapReceived">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of missing packets between the current received packet and the
    previously largest received packet sequence number.
  </summary>
</histogram>

<histogram name="Net.QuicSession.PacketGapReceivedNearPing" units="count">
  <owner>zhongyi@chromium.org</owner>
  <summary>
    The number of missing packets between the last received packet before a PING
    frame sent and the first packet received after PING sent.
  </summary>
</histogram>

<histogram name="Net.QuicSession.PacketGapSent">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of missing packets between the current received packet and the
    previously largest received packet sequence number, as reported by the
    remote end of the connection.
  </summary>
</histogram>

<histogram name="Net.QuicSession.PacketLossRate" units="1/10th Percent">
  <owner>rch@chromium.org</owner>
  <summary>
    The ratio of the number of missing packets, to the maximum packet sequence
    number received,  for QUIC connections longer than 21 packets received via
  </summary>
</histogram>

<histogram name="Net.QuicSession.PacketReceived" units="SequenceNumber">
  <obsolete>
    Deprecated 08/2016.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    Each bucket corresponds to a specific packet sequence number that was sent
    by a server to Chrome at the start of a QUIC connection. This histogram is
    compared, bucket by bucket, with a second histogram to compute the ratio for
    each bucket (each packet sequence number).
  </summary>
</histogram>

<histogram name="Net.QuicSession.PacketRetransmitsPerMille" units="permille">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    The number of packets retransmitted per 1000.  Only sessions with
    packets_sent &gt;= 100 are included.  Recorded in session destructor.
  </summary>
</histogram>

<histogram name="Net.QuicSession.PacketWriteTime">
  <owner>rch@chromium.org</owner>
  <summary>
    The time taken to Write() a QUIC packet to the socket. Recorded for each
    packet when it is sent. The suffix specifies if the write completed
    synchonously or asynchronously.
  </summary>
</histogram>

<histogram name="Net.QuicSession.PendingStreamsWaitTime" units="ms">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    The wait time of the pending stream when it is finally serviced. Pending
    streams are those which could not be created immediately because there were
    too many active streams.
  </summary>
</histogram>

<histogram name="Net.QuicSession.PreferAesGcm" enum="BooleanPreferred">
  <owner>rch@chromium.org</owner>
  <summary>
    True if the QUIC session prefers to use AES GCM because of hardware support.
  </summary>
</histogram>

<histogram name="Net.QuicSession.PublicResetAddressMismatch"
    enum="QuicAddressMismatch">
  <owner>wtc@chromium.org</owner>
  <summary>
    When a public reset packet is received, whether the client IP address and
    port number in it differ from the client IP address and port number in the
    ServerHello handshake message. In the comparison, the first address is the
    one in ServerHello and the second address is the one in public reset. Note:
    this histogram is obsolete because it failed to treat IPv4-mapped IPv6
    addresses as IPv4 addresses.
  </summary>
</histogram>

<histogram name="Net.QuicSession.PublicResetAddressMismatch2"
    enum="QuicAddressMismatch">
  <owner>wtc@chromium.org</owner>
  <summary>
    When a public reset packet is received, whether the client IP address and
    port number in it differ from the client IP address and port number in the
    ServerHello handshake message. In the comparison, the first address is the
    one in ServerHello and the second address is the one in public reset.
  </summary>
</histogram>

<histogram name="Net.QuicSession.Pushed" units="count">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    The number of push streams received when the session is closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.PushedAndClaimed" units="count">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    The number of pushed and used streams when the session is closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.PushedAndUnclaimedBytes" units="count">
  <owner>zhongyi@chromium.org</owner>
  <summary>
    The number of bytes that is pushed but not used when the session is closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.PushedBytes" units="count">
  <owner>zhongyi@chromium.org</owner>
  <summary>
    The number of bytes that is pushed when the session is closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.QuicVersion">
  <owner>rch@chromium.org</owner>
  <summary>Version of the QUIC protocol used for this connection.</summary>
</histogram>

<histogram name="Net.QuicSession.ReadError" enum="NetErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    The network error code returned when attempting to read from a QUIC
    connection.
  </summary>
</histogram>

<histogram name="Net.QuicSession.RejectHasProof" enum="Boolean">
  <owner>rch@chromium.org</owner>
  <summary>
    True if the QUIC REJ message received from the server contains a proof.
  </summary>
</histogram>

<histogram name="Net.QuicSession.RejectLength">
  <owner>rch@chromium.org</owner>
  <summary>
    The length in bytes of a QUIC REJ message received from the server.
  </summary>
</histogram>

<histogram name="Net.QuicSession.RstStreamErrorCodeClient"
    enum="QuicRstStreamErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    The QUIC error code which resulted in a stream being reset by the client.
  </summary>
</histogram>

<histogram name="Net.QuicSession.RstStreamErrorCodeServer"
    enum="QuicRstStreamErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    The QUIC error code which resulted in a stream being reset by the server.
  </summary>
</histogram>

<histogram name="Net.QuicSession.SecureResourceSecureSession">
  <owner>rch@chromium.org.</owner>
  <summary>
    The number of request for secure resources over QUIC sessions. True if the
    session is secure, false if it is not.
  </summary>
</histogram>

<histogram name="Net.QuicSession.ServerSideMtu" units="bytes">
  <owner>rch@chromium.org</owner>
  <summary>
    The largest packet which the client received from the server during the
    session.
  </summary>
</histogram>

<histogram name="Net.QuicSession.SmoothedRTT" units="ms">
  <owner>rch@chromium.org</owner>
  <summary>
    The final smoothed RTT observed during the life of a QUIC connection.
  </summary>
</histogram>

<histogram name="Net.QuicSession.StreamCloseErrorCodeClient.HandshakeConfirmed"
    enum="QuicErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    The QUIC error code which resulted in the stream (and connection) being
    closed by the client after the handshake was confirmed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.StreamCloseErrorCodeServer.HandshakeConfirmed"
    enum="QuicErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    The QUIC error code which resulted in the stream (and connection) being
    closed by the client after the handshake was confirmed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.StreamFlowControlBlocked"
    enum="BooleanBlocked">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    Whether any of QUIC session's streams are flow control blocked when a PING
    message is sent to server.
  </summary>
</histogram>

<histogram name="Net.QuicSession.StreamFrameDuplicatedLongConnection"
    units="1/10th Percent">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of stream frames received which were duplicates, out of every
    1000 stream frames received. Only for QUIC sessions which received at least
    100 packets.
  </summary>
</histogram>

<histogram name="Net.QuicSession.StreamFrameDuplicatedPercentLongConnection">
  <owner>rch@chromium.org</owner>
  <summary>
    The percentage of stream frames received which were duplicates. Only for
    QUIC sessions which received at least 100 packets.
  </summary>
</histogram>

<histogram name="Net.QuicSession.StreamFrameDuplicatedPercentShortConnection">
  <owner>rch@chromium.org</owner>
  <summary>
    The percentage of stream frames received which were duplicates. Only for
    QUIC sessions which received fewer than 100 packets.
  </summary>
</histogram>

<histogram name="Net.QuicSession.StreamFrameDuplicatedShortConnection"
    units="1/10th Percent">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of stream frames received which were duplicates, out of every
    1000 stream frames received. Only for QUIC sessions which received fewer
    than 100 packets.
  </summary>
</histogram>

<histogram name="Net.QuicSession.TimedOutWithOpenStreams.ConsecutiveRTOCount">
  <owner>rch@chromium.org</owner>
  <summary>
    If a QUIC connection timed out with open streams, this contains a count of
    consecutive RTOs.
  </summary>
</histogram>

<histogram name="Net.QuicSession.TimedOutWithOpenStreams.ConsecutiveTLPCount">
  <owner>rch@chromium.org</owner>
  <summary>
    If a QUIC connection timed out with open streams, this contains a count of
    consecutive TLPs.
  </summary>
</histogram>

<histogram name="Net.QuicSession.TimedOutWithOpenStreams.HasUnackedPackets">
  <owner>rch@chromium.org</owner>
  <summary>
    If a QUIC connection timed out with open streams, this will be true when the
    connection has unacked packets.
  </summary>
</histogram>

<histogram name="Net.QuicSession.TimedOutWithOpenStreams.LocalPort">
  <owner>rch@chromium.org</owner>
  <summary>
    If a QUIC connection timed out locally with open streams, this contains the
    local port number for the connection.
  </summary>
</histogram>

<histogram name="Net.QuicSession.TooManyOpenStream" enum="BooleanTooMany">
  <obsolete>
    Deprecated 04/2015. Tracked as Net.QuicSession.TooManyOpenStreams.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    True if more than 100 streams are open when a new stream is activated.
  </summary>
</histogram>

<histogram name="Net.QuicSession.TooManyOpenStreams" enum="BooleanTooMany">
  <owner>rch@chromium.org</owner>
  <summary>
    True if more than 100 streams are open when a new stream is activated.
  </summary>
</histogram>

<histogram name="Net.QuicSession.TruncatedAcksReceived">
  <obsolete>
    Deprecated 08/2016.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>The number of truncated ACK frames received.</summary>
</histogram>

<histogram name="Net.QuicSession.TruncatedAcksSent">
  <obsolete>
    Deprecated 08/2016.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>The number of truncated ACK frames sent.</summary>
</histogram>

<histogram name="Net.QuicSession.UndecryptablePacketsReceived">
  <owner>rch@chromium.org</owner>
  <summary>
    The number of undecryptable packets recevied by a QuicSession when the
    sesesion is closed.
  </summary>
</histogram>

<histogram name="Net.QuicSession.UnexpectedNotGoingAway"
    enum="QuicSessionLocations">
  <owner>rch@chromium.org</owner>
  <summary>
    The location in quic_client_session.cc where a session is unexpectedly not
    going away.
  </summary>
</histogram>

<histogram name="Net.QuicSession.UnexpectedObservers"
    enum="QuicSessionLocations">
  <owner>rch@chromium.org</owner>
  <summary>
    The location in quic_client_session.cc where there were unexpected
    observers.
  </summary>
</histogram>

<histogram name="Net.QuicSession.UnexpectedOpenStreams"
    enum="QuicSessionLocations">
  <owner>rch@chromium.org</owner>
  <summary>
    The location in quic_client_session.cc where there were unexpected open
    streams.
  </summary>
</histogram>

<histogram name="Net.QuicSession.VerifyProofTime" units="ms">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    Time spent verifying the signature and certificate chain. This is logged
    whenever QUIC verifies the certificate chain and signature during crypto
    handshake.
  </summary>
</histogram>

<histogram name="Net.QuicSession.WriteError" enum="NetErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    The network error code returned when attempting to write to a QUIC
    connection.
  </summary>
</histogram>

<histogram name="Net.QuicSession.WriteError.HandshakeConfirmed"
    enum="NetErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    The network error code returned when attempting to write to a QUIC
    connection after the handshake has been confirmed.
  </summary>
</histogram>

<histogram name="Net.QuicStreamFactory.BadPacketLossEvents5"
    enum="QuicBadPacketLossEvents">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    A count of how often a user hits 1, 2, 3, 4 and 5 bad packet loss events for
    port 443. Recorded whenever QUIC has bad packet loss (high packet loss on
    multiple consecutive connections).
  </summary>
</histogram>

<histogram name="Net.QuicStreamFactory.DisabledReasons"
    enum="QuicDisabledReason">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    Rrecords reasons QUIC is disabled (for all ports), if sufficent recent
    connections experience: public reset post crypto handshake, or timeouts with
    streams open. QUIC is disabled until the next reboot of Chrome. Logged
    during session close.
  </summary>
</histogram>

<histogram name="Net.QuicStreamFactory.PublicResetsPostHandshake"
    units="resets">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    Captures the maximum number of public resets post handshake that occurred
    within a window of recent connections (default 20). Will help inform the
    choice of threshold to disable QUIC for clients that experience pathalogical
    errors. Logged during session close.
  </summary>
</histogram>

<histogram name="Net.QuicStreamFactory.QuicIsDisabled" enum="Ports">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    Recorded whenever QUIC is disabled for a port due to repeated lossy
    connections (high packet loss on multiple consecutive connections). QUIC is
    disabled until next reboot of Chrome.
  </summary>
</histogram>

<histogram name="Net.QuicStreamFactory.TimeoutsWithOpenStreams"
    units="timeouts">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    Captures the maximum number of connection timeouts with streams open that
    occurred within a window of recent connections (default 20). Will help
    inform the choice of threshold to disable QUIC for clients that experience
    pathalogical errors. Logged during session close.
  </summary>
</histogram>

<histogram name="Net.QuicStreamFactory.TSVIPCliIsLoaded" enum="Boolean">
  <obsolete>
    Deprecated 06/2016. No longer tracked.
  </obsolete>
  <owner>rtenneti@chromium.org</owner>
  <summary>
    Whether TSVIPCli DLL is loaded or not on windows when the socket is
    configured.
  </summary>
</histogram>

<histogram name="Net.QuicTimeBetweenTwoPacketSent" units="ms">
  <obsolete>
    Deprecated 08/2016. No longer tracked.
  </obsolete>
  <owner>zhongyi@chromium.org</owner>
  <summary>
    Time duration from last packet sent to a new packet sent in QUIC connection.
  </summary>
</histogram>

<histogram name="Net.QuicVerifyProofFailed.HandshakeConfirmed"
    enum="BooleanHandshakeConfirmed">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    Logged whenever proof verification fails and if the failure occurred before
    or after the crypto handshake is confirmed.
  </summary>
</histogram>

<histogram name="Net.RenegotiationExtensionSupported">
  <obsolete>
    Deprecated 03/2015. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    True if the HTTP request was sent to a server which supports the TLS
    renegotiation extension.
  </summary>
</histogram>

<histogram name="Net.RequestTime">
  <obsolete>
    Replaced by Net.RequestTime2 due to bug in original implementation.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The amount of time between request initiation and request completion for
    success and various different errors.
  </summary>
</histogram>

<histogram name="Net.RequestTime2">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The amount of time between request initiation and request completion for
    success and various different errors.
  </summary>
</histogram>

<histogram name="Net.RequestTime2.ErrAborted.HttpScheme" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The amount of time between request initiation and request completion for
    ERR_ABORTED when the request's scheme is http/s.
  </summary>
</histogram>

<histogram name="Net.RequestTime2.ErrAborted.NetworkContent" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The amount of time between request initiation and request completion for
    ERR_ABORTED when the requests TotalReceivedBytes() &gt; 0.
  </summary>
</histogram>

<histogram name="Net.RequestTime2.ErrAborted.NoBytesRead" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The amount of time between request initiation and request completion for
    ERR_ABORTED when the requests TotalReceivedBytes() = 0 and
    received_response_content_length() = 0.
  </summary>
</histogram>

<histogram name="Net.RequestTime2.ErrAborted.NoNetworkContent.CachedContent"
    units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The amount of time between request initiation and request completion for
    ERR_ABORTED when the requests TotalReceivedBytes() = 0 and
    received_response_content_length() &gt; 0.
  </summary>
</histogram>

<histogram name="Net.RequestTime2.ErrAborted.NonHttpScheme" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The amount of time between request initiation and request completion for
    ERR_ABORTED when the request's scheme is not http/s.
  </summary>
</histogram>

<histogram name="Net.ResourceLoader.ExpectedContentSizeResult"
    enum="ResourceLoaderExpectedContentSizeResult">
  <owner>maksim.sisov@intel.com</owner>
  <owner>mmenke@chromium.org</owner>
  <summary>
    Records how many times expected content size equals/less/more than size of
    read body/buffer or content size is unkown. Recorded for each resource load.
  </summary>
</histogram>

<histogram name="Net.ResourceLoader.InliningStatus"
    enum="ResourceLoaderInliningStatus">
  <obsolete>
    This experiment was turned down, see https://crbug.com/703188.
  </obsolete>
  <owner>tzik@chromium.org</owner>
  <summary>
    Counts whether the chunk inlining is applicable or not to a resource
    loading. Counts the reason if inapplicable.
  </summary>
</histogram>

<histogram name="Net.ResourceLoader.ReadDeferral" units="ms">
  <owner>clamy@chromium.org</owner>
  <summary>
    When starting a cross-site navigation, the time between reading the headers
    and body of the response.
  </summary>
</histogram>

<histogram name="Net.ResourceLoader.ResponseStartToEnd" units="microseconds">
  <owner>tzik@chromium.org</owner>
  <summary>
    Time from the start to the end of receiving a response body. Recorded for
    each resource load.
  </summary>
</histogram>

<histogram name="Net.ResponseSizeByProcess.Browser" units="KB">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Count of (post-SSL/proxy, pre-filter) kilobytes received per request made by
    the browser process.
  </summary>
</histogram>

<histogram name="Net.ResponseSizeByProcess.Renderer" units="KB">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Count of (post-SSL/proxy, pre-filter) kilobytes received per request made by
    a renderer process.
  </summary>
</histogram>

<histogram name="Net.ResponseSizeByProcess.Unknown" units="KB">
  <owner>juliatuttle@chromium.org</owner>
  <summary>
    Count of (post-SSL/proxy, pre-filter) kilobytes received per request made by
    a process not covered by one of the other ResponseSizeByProcess histograms.
  </summary>
</histogram>

<histogram name="Net.Socket.IdleSocketFate" enum="IdleSocketFate">
  <owner>xunjieli@chromium.org</owner>
  <summary>
    Whether an idle socket is reused, timed out, or closed to make room for new
    sockets.
  </summary>
</histogram>

<histogram name="Net.Socket.IdleSocketReuseTime" units="seconds">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Seconds a socket was idle before it was reused. Emitted upon reuse. Does not
    record the times sockets were idle before first use.
  </summary>
</histogram>

<histogram name="Net.Socket.IdleSocketTimeSaving" units="ms">
  <obsolete>
    Deprecated as of 11/2016.
  </obsolete>
  <owner>xunjieli@chromium.org</owner>
  <summary>
    Number of milliseconds an idle socket saved in connection establishment
    because it is reused.
  </summary>
</histogram>

<histogram name="Net.Socket.NumIdleSockets">
  <owner>mmenke@chromium.org</owner>
  <summary>Number of idle sockets when one of them was reused.</summary>
</histogram>

<histogram name="Net.SocketIdleTimeBeforeNextUse_ReusedSocket">
  <obsolete>
    Deprecated as of 03/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The time an already used socket sat idle before being used.</summary>
</histogram>

<histogram name="Net.SocketIdleTimeBeforeNextUse_UnusedSocket">
  <obsolete>
    Deprecated as of 03/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time an unused socket (all HTTP sockets, regardless of any proxy used)
    sat idle before being used.
  </summary>
</histogram>

<histogram name="Net.SocketIdleTimeOnIOError2_ReusedSocket">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time a previously used socket sat idle before encountering a recoverable
    socket IO error (connection abort/reset/close).
  </summary>
</histogram>

<histogram name="Net.SocketIdleTimeOnIOError2_UnusedSocket">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time an unused socket sat idle before encountering a recoverable socket
    IO error (connection abort/reset/close).
  </summary>
</histogram>

<histogram name="Net.SocketInitErrorCodes" enum="NetErrorCodes">
  <obsolete>
    Deprecated as of 03/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Net error codes that socket initializations end with, including net::OK and
    net::ERR_ABORTED.
  </summary>
</histogram>

<histogram name="Net.SocketReceiveBufferUnchangeable" units="Bytes">
  <obsolete>
    Replaced by Net.SocketUnchangeableReceiveBuffer 3/31/2014.
  </obsolete>
  <owner>jar@chromium.org</owner>
  <summary>
    The size of a socket's receive buffer when the attempt to change it via
    setsockopt failed.
  </summary>
</histogram>

<histogram name="Net.SocketRequestTime">
  <obsolete>
    Deprecated as of 03/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time in milliseconds from initial RequestSocket() call until successfully
    acquiring a connected socket.
  </summary>
</histogram>

<histogram name="Net.SocketStream.ConnectionEstablish" units="ms">
  <obsolete>
    Deprecated 2014-10-28. No longer generated. No direct replacement.
  </obsolete>
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>The time from the connection start to connection establish.</summary>
</histogram>

<histogram name="Net.SocketStream.ConnectionLatency" units="ms">
  <obsolete>
    Deprecated 2014-10-28. No longer generated. No direct replacement.
  </obsolete>
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>The time waiting to be ready to start connecting.</summary>
</histogram>

<histogram name="Net.SocketStream.ConnectionType"
    enum="SocketStreamConnectionType">
  <obsolete>
    Deprecated 2014-10-28. No longer generated. No direct replacement.
  </obsolete>
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>
    Each bucket is the number of connection type of socket stream.
  </summary>
</histogram>

<histogram name="Net.SocketStream.Duration" units="ms">
  <obsolete>
    Deprecated 2014-10-28. No longer generated. Replaced by
    Net.WebSocket.Duration.
  </obsolete>
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>The time a socket stream was open.</summary>
</histogram>

<histogram name="Net.SocketStream.ProtocolType" enum="SocketStreamProtocolType">
  <obsolete>
    Deprecated 2014-10-28. No longer generated. No direct replacement.
  </obsolete>
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>
    Each bucket is the number of protocol type on socket stream.
  </summary>
</histogram>

<histogram name="Net.SocketStream.ReceivedBytes" units="bytes">
  <obsolete>
    Deprecated 2014-10-28. No longer generated. No direct replacement.
  </obsolete>
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>Number of bytes on a socket stream.</summary>
</histogram>

<histogram name="Net.SocketStream.ReceivedCounts">
  <obsolete>
    Deprecated 2014-10-28. No longer generated. No direct replacement.
  </obsolete>
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>Number of reads on a socket stream.</summary>
</histogram>

<histogram name="Net.SocketStream.SentBytes" units="bytes">
  <obsolete>
    Deprecated 2014-10-28. No longer generated. No direct replacement.
  </obsolete>
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>Number of bytes on a socket stream.</summary>
</histogram>

<histogram name="Net.SocketStream.SentCounts">
  <obsolete>
    Deprecated 2014-10-28. No longer generated. No direct replacement.
  </obsolete>
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>Number of Write on a socket stream.</summary>
</histogram>

<histogram name="Net.SocketType" enum="HttpSocketType">
  <obsolete>
    Deprecated as of 03/2015.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The counts of the type of sockets returned by the socket pools.
  </summary>
</histogram>

<histogram name="Net.SocketUnchangeableReceiveBuffer" units="Bytes">
  <owner>jar@chromium.org</owner>
  <summary>
    The size of a socket's receive buffer when the attempt to change it via
    setsockopt failed.
  </summary>
</histogram>

<histogram name="Net.SocketUnchangeableSendBuffer" units="Bytes">
  <owner>jar@chromium.org</owner>
  <summary>
    The size of a socket's send buffer when the attempt to change it via
    setsockopt failed.
  </summary>
</histogram>

<histogram name="Net.SOCKSSocketIdleTimeBeforeNextUse_ReusedSocket">
  <obsolete>
    see SocketIdleTimeBeforeNextUse_ReusedSocket_SOCK
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time an already used SOCKS socket sat idle before being used.
  </summary>
</histogram>

<histogram name="Net.SOCKSSocketIdleTimeBeforeNextUse_UnusedSocket">
  <obsolete>
    see SocketIdleTimeBeforeNextUse_UnusedSocket_SOCK
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The time an unused SOCKS socket sat idle before being used.</summary>
</histogram>

<histogram name="Net.SOCKSSocketRequestTime" units="ms">
  <obsolete>
    see SocketRequestTime_SOCK
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from initial SOCKSClientSocketPool::RequestSocket() call until
    successfully acquiring a connected SOCKS socket.
  </summary>
</histogram>

<histogram name="Net.SocksSocketRequestTime">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Time it takes to request a new (unused) SOCKS proxy socket.</summary>
</histogram>

<histogram name="Net.SOCKSSocketType" enum="HttpSocketType">
  <obsolete>
    see SocketType_SOCK
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The counts of the type of sockets returned by the SOCKS pool.
  </summary>
</histogram>

<histogram name="Net.SpdyConnectionLatency" units="ms">
  <obsolete>
    Replaced by Net.SpdyConnectionLatency_2 on 2014-10-21.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>Time from when the Connect() starts until it completes.</summary>
</histogram>

<histogram name="Net.SpdyConnectionLatency_2" units="ms">
  <owner>bnc@chromium.org</owner>
  <summary>Time from when the Connect() starts until it completes.</summary>
</histogram>

<histogram name="Net.SpdyFrameStreamAndSessionFlowControlState"
    enum="SpdyFrameFlowControlState">
  <owner>bnc@chromium.org</owner>
  <summary>
    The counts of the flow control state of each frame (with stream and session
    flow control on).
  </summary>
</histogram>

<histogram name="Net.SpdyFrameStreamFlowControlState"
    enum="SpdyFrameFlowControlState">
  <obsolete>
    The last protocol which would trigger this was deprecated in 2014 November.
    This histogram is deprecated in 2016 January.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    The counts of the flow control state of each frame (with stream flow control
    on).
  </summary>
</histogram>

<histogram name="Net.SpdyHeadersCompressionPercentage" units="%">
  <owner>bnc@chromium.org</owner>
  <summary>
    The percent compression achieved when compressing HEADERS frames.
  </summary>
</histogram>

<histogram name="Net.SpdyHpackDecompressionPercentage" units="%">
  <owner>ckrasic@chromium.org</owner>
  <summary>
    The compression percentage in received HPACK compressed header frames.
  </summary>
</histogram>

<histogram name="Net.SpdyHpackEncodedCharacterFrequency" units="ASCII codes">
  <obsolete>
    Obsolete as HTTP/2 standard is finalized.
  </obsolete>
  <owner>bnc@chromium.org</owner>
  <summary>
    Frequencies of characters observed in request and response headers.
    Temporarily being collected to inform the construction of an optimized
    Huffman code for the HTTP/2 specification. Buckets are ASCII codes offset by
    1.
  </summary>
</histogram>

<histogram name="Net.SpdyIPPoolDomainMatch" enum="SpdyIPPoolDomainMatch"
    units="count">
  <owner>bnc@chromium.org</owner>
  <summary>
    Status of checking if a SPDY domain can handle a IP match.  If a match is
    found, we successfully used the IP Pooling.  If a match is not found, we
    could have used IP Pooling, except the TLS Cert didn't match the IP-pooled
    domain.
  </summary>
</histogram>

<histogram name="Net.SpdyPing.RTT" units="ms">
  <owner>bnc@chromium.org</owner>
  <summary>The RTT for SPDY's PING.</summary>
</histogram>

<histogram name="Net.SpdyPriorityCount">
  <obsolete>
    Removed 2016-05-26.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>The count of streams at each priority over Spdy sessions.</summary>
</histogram>

<histogram name="Net.SpdyRecvBytes" units="bytes">
  <owner>bnc@chromium.org</owner>
  <summary>The number of bytes recevied per stream.</summary>
</histogram>

<histogram name="Net.SpdySendBytes" units="bytes">
  <owner>bnc@chromium.org</owner>
  <summary>The number of bytes sent per stream.</summary>
</histogram>

<histogram name="Net.SpdySession.BytesRead.EOF" units="bytes">
  <obsolete>
    Removed on 2016-10-10.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    Total number of bytes recevied per session before closing session due to
    EOF.
  </summary>
</histogram>

<histogram name="Net.SpdySession.BytesRead.OtherErrors" units="bytes">
  <obsolete>
    Removed on 2016-10-10.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    Total number of bytes recevied per session before closing session due to an
    error during read.
  </summary>
</histogram>

<histogram name="Net.SpdySession.ClosedOnError" enum="NetErrorCodes">
  <owner>rch@chromium.org</owner>
  <summary>
    Net error codes when SpdySession was closed, doesn't inlcuding net::OK.
  </summary>
</histogram>

<histogram name="Net.SpdySession.CreateStreamWithSocketConnected"
    enum="BooleanSuccess">
  <owner>bnc@chromium.org</owner>
  <summary>Socket connected status in SpdySession::CreateStream.</summary>
</histogram>

<histogram name="Net.SpdySession.PushedAndUnclaimedBytes" units="count">
  <owner>zhongyi@chromium.org</owner>
  <summary>
    The number of bytes that is pushed but not used when the session is closed.
  </summary>
</histogram>

<histogram name="Net.SpdySession.PushedBytes" units="count">
  <owner>zhongyi@chromium.org</owner>
  <summary>
    The number of bytes that is pushed when the session is closed.
  </summary>
</histogram>

<histogram name="Net.SpdySessionErrorDetails" enum="SpdyProtocolErrorDetails"
    units="count">
  <obsolete>
    Replaced by SpdySessionErrorDetails2 on 2013-04-19.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    WARNING: r181910 added an enum value in the middle, so don't trust the
    counts for values 9 and above for Chrome builds after that revision.

    The type of SPDY Protocol error encountered.
  </summary>
</histogram>

<histogram name="Net.SpdySessionErrorDetails2" enum="SpdyProtocolErrorDetails2"
    units="count">
  <owner>bnc@chromium.org</owner>
  <summary>The type of SPDY Protocol error encountered.</summary>
</histogram>

<histogram name="Net.SpdySessionErrorDetails_Google"
    enum="SpdyProtocolErrorDetails" units="count">
  <obsolete>
    Replaced by SpdySessionErrorDetails_Google2 on 2013-04-19.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    The type of SPDY Protocol error encountered when talking to a google.com
    server.
  </summary>
</histogram>

<histogram name="Net.SpdySessionErrorDetails_Google2"
    enum="SpdyProtocolErrorDetails2" units="count">
  <owner>bnc@chromium.org</owner>
  <summary>
    WARNING: r181910 added an enum value in the middle, so don't trust the
    counts for values 9 and above for Chrome builds after that revision.

    The type of SPDY Protocol error encountered when talking to a google.com
    server.
  </summary>
</histogram>

<histogram name="Net.SpdySessionGet" enum="SpdySessionGet" units="count">
  <owner>bnc@chromium.org</owner>
  <summary>The type of SPDY Session used when looking up a session.</summary>
</histogram>

<histogram name="Net.SpdySessionGetPeerAddressNotConnected"
    enum="BooleanSuccess">
  <owner>bnc@chromium.org</owner>
  <summary>
    Whether SpdySession::Get{Peer,Local}Address was called when the connection
    had no socket.
  </summary>
</histogram>

<histogram name="Net.SpdySessions_DataReductionProxy"
    enum="BooleanDataReductionProxy">
  <obsolete>
    Deprecated 7/21/2014. No longer tracked.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <owner>rch@chromium.org</owner>
  <summary>
    The count of SPDY sessions using the data reduction proxy and the count of
    other SPDY sessions.
  </summary>
</histogram>

<histogram name="Net.SpdySessionSocketNotConnectedGetLocalAddress"
    enum="BooleanSuccess">
  <obsolete>
    Removed on 2016-10-10.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    SpdySession::GetLocalAddress returned ERR_SOCKET_NOT_CONNECTED.
  </summary>
</histogram>

<histogram name="Net.SpdySessionSocketNotConnectedGetPeerAddress"
    enum="BooleanSuccess">
  <obsolete>
    Removed on 2016-10-10.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    SpdySession::GetPeerAddress returned ERR_SOCKET_NOT_CONNECTED.
  </summary>
</histogram>

<histogram name="Net.SpdySessionsWithStalls">
  <obsolete>
    Removed on 2016-10-10.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>The count of SPDY Sessions with or without stalls.</summary>
</histogram>

<histogram name="Net.SpdySettingsCwnd" units="packets">
  <obsolete>
    Removed on 2016-10-10.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    The congestion window (in pkts) received at the end of a SpdySession.
  </summary>
</histogram>

<histogram name="Net.SpdySettingsCwndSent" units="packets">
  <obsolete>
    Deprecated 2016 July with removal of SPDY/3.1.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    The congestion window (in pkts) sent at the beginning of a SpdySession.
  </summary>
</histogram>

<histogram name="Net.SpdySettingsReceived" enum="SpdySettingsReceived"
    units="%">
  <obsolete>
    Removed on 2016-10-10.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    Percentage of sessions which received settings from the server.
  </summary>
</histogram>

<histogram name="Net.SpdySettingsRetransRate" units="%">
  <obsolete>
    Removed on 2016-10-10.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    The Download Retransmission Rate (%) received at the end of a SpdySession.
  </summary>
</histogram>

<histogram name="Net.SpdySettingsRTT" units="ms">
  <obsolete>
    Removed on 2016-10-10.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>The RTT received at the end of a SpdySession.</summary>
</histogram>

<histogram name="Net.SpdySettingsSent" enum="SpdySettingsSent" units="%">
  <obsolete>
    Removed on 2016-10-10.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>Percentage of sessions which sent settings to the server.</summary>
</histogram>

<histogram name="Net.SpdyStreamDownloadTime" units="ms">
  <owner>bnc@chromium.org</owner>
  <summary>
    The time between receiving the first chunk and the last chunk of data on a
    Spdy stream.
  </summary>
</histogram>

<histogram name="Net.SpdyStreamsAbandonedPerSession">
  <owner>bnc@chromium.org</owner>
  <summary>
    The number of pushed, but abandoned streams over a single session.
  </summary>
</histogram>

<histogram name="Net.SpdyStreamsPerSession">
  <owner>bnc@chromium.org</owner>
  <summary>The number of streams issued over a single session.</summary>
</histogram>

<histogram name="Net.SpdyStreamsPushedAndClaimedPerSession">
  <owner>bnc@chromium.org</owner>
  <summary>
    The number of pushed, and used streams over a single session.
  </summary>
</histogram>

<histogram name="Net.SpdyStreamsPushedPerSession">
  <owner>bnc@chromium.org</owner>
  <summary>The number of push streams received over a single session.</summary>
</histogram>

<histogram name="Net.SpdyStreamStallsPerSession">
  <obsolete>
    Removed on 2016-10-10.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>The number of stream stalls per session.</summary>
</histogram>

<histogram name="Net.SpdyStreamTime" units="ms">
  <owner>bnc@chromium.org</owner>
  <summary>
    The time of a Spdy stream.  Measured from sending the first chunk to
    receiving the last chunk of data.
  </summary>
</histogram>

<histogram name="Net.SpdyStreamTimeToFirstByte" units="ms">
  <owner>bnc@chromium.org</owner>
  <summary>
    The time between sending the request and receiving the first chunk of data
    on a Spdy stream.
  </summary>
</histogram>

<histogram name="Net.SpdySynStreamCompressionPercentage" units="%">
  <obsolete>
    Deprecated on 2016-11-28, because SPDY/3 and, accordingly, SYN_STREAM frames
    are no longer used.  Compression values are now calculated slightly
    differently.  Replaced by Net.SpdyHeadersCompressionPercentage.
  </obsolete>
  <owner>bnc@chromium.org</owner>
  <summary>
    The percent compression achieved when compression SYN_STREAM frames.
  </summary>
</histogram>

<histogram name="Net.SpdyVersion" enum="ProtocolVersion">
  <obsolete>
    Deprecated on 2014-09-11, because the uploaded values were changing as
    protocols were removed, therefore statistics couldn't be combined across
    different builds.  Replaced by Net.SpdyVersion2.
  </obsolete>
  <owner>rch@chromium.org</owner>
  <summary>
    The SPDY protocol version that is used to talk to SPDY servers.
  </summary>
</histogram>

<histogram name="Net.SpdyVersion2" enum="SpdyProtocolVersion">
  <obsolete>
    Deprecated on 2016-02-01, because the incorrect bucket count caused data
    corruption.  Replaced by Net.SpdyVersion3.
  </obsolete>
  <owner>bnc@chromium.org</owner>
  <summary>
    The SPDY protocol version that is used to talk to SPDY servers.  Logged
    every time a SPDY session is initialized.
  </summary>
</histogram>

<histogram name="Net.SpdyVersion3" enum="SpdyProtocolVersion">
  <obsolete>
    Deprecated 2016 July with removal of SPDY/3.1.
  </obsolete>
  <owner>bnc@chromium.org</owner>
  <summary>
    The SPDY protocol version that is used to talk to SPDY servers.  Logged
    every time a SPDY session is initialized.
  </summary>
</histogram>

<histogram name="Net.SSL_AuthRootConsistency" enum="SSLAuthRootConsistency">
  <owner>rsleevi@chromium.org</owner>
  <summary>
    The results of comparing the built-in list of known Windows roots against
    the CERT_AUTH_ROOT_SHA256_HASH_PROP_ID certificate property. Recorded for
    each certificate verification on Windows.
  </summary>
</histogram>

<histogram name="Net.SSL_CipherSuite" enum="SSLCipherSuite">
  <owner>agl@chromium.org</owner>
  <owner>rsleevi@chromium.org</owner>
  <summary>
    The SSL/TLS cipher suite that was negotiated. Recorded for each SSL/TLS
    connection in the socket pool where Connect() succeeds.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_Error" enum="NetErrorCodes">
  <owner>agl@chromium.org</owner>
  <summary>
    Counts of specific error codes returned when opening an SSL connection.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_Error_FastRadioPadding"
    enum="NetErrorCodes">
  <obsolete>
    Removed 7/21/2015. No longer tracked.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <summary>
    Counts of specific error codes returned when opening an SSL connection for
    an endpoint which is eligible for fastradio padding.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_Error_Google" enum="NetErrorCodes">
  <owner>svaldez@chromium.org</owner>
  <summary>
    Counts of specific error codes returned when opening an SSL connection for
    google.com and any subdomain of it.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_Error_TLS13Experiment" enum="NetErrorCodes">
  <owner>svaldez@chromium.org</owner>
  <summary>
    Counts of specific error codes returned when opening an SSL connection for
    an endpoint we are using in the initial TLS 1.3 deployment.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_Latency" units="ms">
  <obsolete>
    Replaced by Net.SSL_Connection_Latency_2 on 2014-10-21.
  </obsolete>
  <owner>agl@chromium.org</owner>
  <summary>Time from when the Connect() starts until it completes.</summary>
</histogram>

<histogram name="Net.SSL_Connection_Latency_2" units="ms">
  <owner>agl@chromium.org</owner>
  <summary>Time from when the Connect() starts until it completes.</summary>
</histogram>

<histogram name="Net.SSL_Connection_Latency_DataReductionProxy" units="ms">
  <obsolete>
    Deprecated 7/21/2014. No longer tracked.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes when using the data
    reduction proxy. This includes certificate retrieval and verification.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_Latency_Full_Handshake" units="ms">
  <owner>agl@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes for full handshakes.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_Latency_Google" units="ms">
  <obsolete>
    Replaced by Net.SSL_Connection_Latency_Google2 on 2014-10-21.
  </obsolete>
  <owner>agl@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes for google.com and
    any subdomain of it.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_Latency_Google2" units="ms">
  <owner>agl@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes for google.com and
    any subdomain of it.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_Latency_Google_Full_Handshake" units="ms">
  <owner>agl@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes for google.com and
    any subdomain of it for full handshakes.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_Latency_Google_No_Revocation_Checking"
    units="ms">
  <obsolete>
    Removed in 2011.
  </obsolete>
  <owner>agl@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes for google.com and
    any subdomain of it. This only includes users in a 50% field trial that
    disables revocation checking for certificate pinned sites.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_Latency_Google_Resume_Handshake" units="ms">
  <owner>agl@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes for google.com and
    any subdomain of it for resumption handshakes.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_Latency_Google_Revocation_Checking"
    units="ms">
  <obsolete>
    Removed in 2011.
  </obsolete>
  <owner>agl@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes for google.com and
    any subdomain of it. This only includes users not in a 50% field trail that
    disables revocation for certificate pinned sites.
  </summary>
</histogram>

<histogram
    name="Net.SSL_Connection_Latency_PostQuantumSupported_Full_Handshake"
    units="ms">
  <obsolete>
    Deprecated as of 2016-12-01.
  </obsolete>
  <owner>mab@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes (full handshakes
    only), for a set of domains that we expect to always offer the experimental
    post-quantum (CECPQ1) ciphersuites.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_Latency_Resume_Handshake" units="ms">
  <owner>agl@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes for resumption
    handshakes.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_Latency_TLS13Experiment" units="ms">
  <owner>svaldez@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes for a set of domains
    that we are using in the initial TLS 1.3 deployment.
  </summary>
</histogram>

<histogram name="Net.SSL_Connection_PostQuantum_Negotiated"
    enum="BooleanSupported">
  <obsolete>
    Deprecated as of 2016-12-01.
  </obsolete>
  <owner>mab@chromium.org</owner>
  <summary>
    For only browsers in the post-quantum (CECPQ1) ciphersuite experiment,
    counts the full TLS handshakes where CECPQ1 was, or was not, negotiated on
    hosts where we expect it to be negotiated.
  </summary>
</histogram>

<histogram name="Net.SSL_EVCertificateCTCompliance"
    enum="CTRequirementCompliance">
  <obsolete>
    Deprecated as of 01/2016.
  </obsolete>
  <owner>eranm@chromium.org</owner>
  <owner>rsleevi@chromium.org</owner>
  <summary>
    The state of compliance with Certificate Transparency presence requirements
    for each EV certificate. An EV certificate could be non-compliant (in which
    case it loses the EV status), comply through inclusion in the EV whitelist
    or have the required number of Signed Certificate Timestamps. This metric
    will gauge adoption rate of Certificate Transparency and will help identify
    when the EV whitelist is no longer needed. Emitted during every SSL
    connection establishment, but only if the client is checking compliance with
    Certificate Transparency requirements (currently guarded by a Finch
    experiment).
  </summary>
</histogram>

<histogram name="Net.SSL_EVCertificateInWhitelist" enum="Boolean">
  <owner>eranm@chromium.org</owner>
  <owner>rsleevi@chromium.org</owner>
  <summary>
    Whether an EV certificate is present in the Certificate Transparency
    whitelist. Emitted once for every EV certificate encountered (during SSL
    connection establishment), but only if the client has a valid whitelist.
  </summary>
</histogram>

<histogram name="Net.SSL_EVCTCompliance" enum="EVCTCompliance">
  <owner>eranm@chromium.org</owner>
  <owner>rsleevi@chromium.org</owner>
  <summary>
    The state of compliance with Certificate Transparency presence requirements
    for each EV certificate. An EV certificate could be non-compliant (in which
    case it loses the EV status), comply through inclusion in the EV whitelist
    or comply with the CT certificate policy. This metric will gauge adoption
    rate of Certificate Transparency and will help identify when the EV
    whitelist is no longer needed. Emitted during every SSL connection
    establishment.
  </summary>
</histogram>

<histogram name="Net.SSL_EVWhitelistValidityForNonCompliantCert"
    enum="EVWhitelistStatus">
  <owner>eranm@chromium.org</owner>
  <owner>rsleevi@chromium.org</owner>
  <summary>
    Whether the client holds a valid EV Certificates whitelist or not. Only
    emitted when an EV cert that is not compliant with the Certificate
    Transparency requirement is encountered. This histogram is intended to be
    short-lived and help determine if EV certificates are considered
    non-compliant because they are not whitelisted or if the client does not
    hold a valid instance of the whitelist.
  </summary>
</histogram>

<histogram name="Net.SSL_KeyExchange.DHE">
  <obsolete>
    Removed September 2016.
  </obsolete>
  <owner>sigbjorn@opera.com</owner>
  <owner>agl@chromium.org</owner>
  <owner>rsleevi@chromium.org</owner>
  <summary>
    Bit strength of the key exchange for DHE. Recorded for each SSL/TLS
    connection in the socket pool where Connect() succeeds.
  </summary>
</histogram>

<histogram name="Net.SSL_KeyExchange.ECDHE" enum="ECDHECurves">
  <owner>sigbjorn@opera.com</owner>
  <owner>agl@chromium.org</owner>
  <owner>rsleevi@chromium.org</owner>
  <summary>
    The curve used for key exchange for ECDHE. Recorded for each SSL/TLS
    connection in the socket pool where Connect() succeeds.
  </summary>
</histogram>

<histogram name="Net.SSL_KeyExchange.RSA">
  <obsolete>
    Removed May 2016.
  </obsolete>
  <owner>sigbjorn@opera.com</owner>
  <owner>agl@chromium.org</owner>
  <owner>rsleevi@chromium.org</owner>
  <summary>
    Bit strength of the key exchange for RSA. Recorded for each SSL/TLS
    connection in the socket pool where Connect() succeeds. See |SSL_SESSION|'s
    key_exchange_info for more information.
  </summary>
</histogram>

<histogram name="Net.SSLCertBlacklisted">
  <obsolete>
    Removed on 01/2016. Only ever measured blacklisted Comodo serials, not any
    of the other blacklisted certificates and keys.
  </obsolete>
  <owner>agl@chromium.org</owner>
  <summary>
    Counts the number of times that users have hit blacklisted certificates. The
    indexes match up to the indexes in
    net/base/x509_certificate.cc:IsBlacklisted. The details of the certificates
    in question is confidential.
  </summary>
</histogram>

<histogram name="Net.SSLCertVerificationTime" units="ms">
  <owner>rsleevi@chromium.org</owner>
  <summary>Time to complete a certificate verification (success case).</summary>
</histogram>

<histogram name="Net.SSLCertVerificationTimeError" units="ms">
  <owner>rsleevi@chromium.org</owner>
  <summary>Time to complete a certificate verification (error case).</summary>
</histogram>

<histogram name="Net.SSLFallbackErrorCode" enum="NetErrorCodes">
  <obsolete>
    Removed June 2016.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    For each successful HTTPS request which used the TLS version fallback, the
    error code of the last failed attempt.
  </summary>
</histogram>

<histogram name="Net.SSLFallbackFailureState" enum="SSLFailureState">
  <obsolete>
    Removed June 2016.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    For each successful HTTPS request which used the TLS version fallback, the
    type of handshake failure of the last failed attempt.
  </summary>
</histogram>

<histogram name="Net.SSLHostInfoDNSLookup" units="ms">
  <obsolete>
    Removed in 2011.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Time to complete a DNS lookup for a DNS CAA record.</summary>
</histogram>

<histogram name="Net.SSLHostInfoDNSLookupDelayMs" units="ms">
  <obsolete>
    Removed in 2011.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time that we would have wasted had we waited for a CAA lookup in order to
    validate a certificate.
  </summary>
</histogram>

<histogram name="Net.SSLHostInfoVerificationTimeMs" units="ms">
  <obsolete>
    Removed in 2012.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Time to complete a speculative certificate verification.</summary>
</histogram>

<histogram name="Net.SSLNegotiatedAlpnProtocol"
    enum="SSLNegotiatedAlpnProtocol">
  <owner>bnc@chromium.org</owner>
  <summary>
    For each TLS handshake, whether ALPN was negotiated; and if so, the
    negotiated protocol.
  </summary>
</histogram>

<histogram name="Net.SSLProtocolErrorCipher" enum="SSLCipherSuite">
  <obsolete>
    Removed in March 2016.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    The cipher suite used when the corresponding operation on an SSLClientSocket
    fails with ERR_SSL_PROTOCOL_ERROR. This histogram will be removed when
    https://crbug.com/593963 is resolved.
  </summary>
</histogram>

<histogram name="Net.SSLProtocolErrorReason" enum="BoringSSLReasonCode">
  <obsolete>
    Removed in March 2016.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    The internal, version-specific BoringSSL error reason reported when the
    corresponding operation on an SSLClientSocket fails with
    ERR_SSL_PROTOCOL_ERROR. This histogram will be removed when
    https://crbug.com/593963 is resolved.
  </summary>
</histogram>

<histogram name="Net.SSLProtocolNegotiation" enum="SSLProtocolNegotiation">
  <obsolete>
    Superseded by Net.SSLNegotiatedAlpnProtocol in 2016 August.
  </obsolete>
  <owner>bnc@chromium.org</owner>
  <summary>
    TLS extension used to negotiate protocol (ALPN or NPN); in case of NPN,
    whether the protocol is indeed supported by both the client and the server
    or is a fallback because of no overlap; and the negotiated protocol itself.
  </summary>
</histogram>

<histogram name="Net.SSLServerKeyExchangeHash" enum="SSLHashAlgorithm">
  <obsolete>
    Replaced by Net.SSLSignatureAlgorithm.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    For each SSL connection with a full handshake using a DHE- or ECDHE-based
    key exchange, the hash function used in the ServerKeyExchange signature.
  </summary>
</histogram>

<histogram name="Net.SSLSessionConcurrentLookupCount">
  <owner>nharper@chromium.org</owner>
  <summary>
    For each SSL connection where we resume a session and negotiate HTTP/2, the
    simulated minimum number of sessions retained per host it would have
    required with TLS 1.3 single-use sessions. See https://crbug.com/631988.
  </summary>
</histogram>

<histogram name="Net.SSLSessionVersionMatch" enum="BooleanMatched">
  <obsolete>
    Removed on 2015-11-10.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    For each SSL connection that resumed a session, whether the session was
    resumed at the same version it was established at. This is only recorded in
    BoringSSL ports.
  </summary>
</histogram>

<histogram name="Net.SSLSignatureAlgorithm" enum="SSLSignatureAlgorithm">
  <owner>davidben@chromium.org</owner>
  <summary>
    For each SSL connection with a full handshake using a DHE- or ECDHE-based
    key exchange, the signature algorithm used to authenticate the peer. In TLS
    1.2, this is the signature on the ServerKeyExchange message. (Note: Although
    the ECDSA values specify a curve, the curve is only enforced in TLS 1.3.)
  </summary>
</histogram>

<histogram name="Net.SSLv3FallbackToRenegoPatchedServer"
    enum="TLSRenegotiationPatched">
  <obsolete>
    Removed on 2014-08-20.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of times that we have performed SSLv3 fallback and found a TLS
    renegotiation patched server.
  </summary>
</histogram>

<histogram name="Net.SSLVerificationMerged">
  <obsolete>
    Removed in 2012.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Was a speculative certificate verification used?</summary>
</histogram>

<histogram name="Net.SSLVerificationMergedMsSaved" units="ms">
  <obsolete>
    Removed in 2012.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Time saved by a speculative certificate vertification.</summary>
</histogram>

<histogram name="Net.SSLVersion" enum="SSLOrQUICVersion">
  <owner>davidben@chromium.org</owner>
  <summary>
    The SSL/TLS version that was negotiated. Recorded for each SSL/TLS
    connection in the socket pool where Connect() succeeds.
  </summary>
</histogram>

<histogram name="Net.SSLVersionInterferenceError" enum="NetErrorCodes">
  <owner>davidben@chromium.org</owner>
  <summary>
    For each detected SSL version interference, what network error the original
    failed connection reported.
  </summary>
</histogram>

<histogram name="Net.SSLVersionInterferenceProbeTrigger" enum="NetErrorCodes">
  <owner>davidben@chromium.org</owner>
  <summary>
    For each SSL version interference probe, what network error triggered it.
    Probes are only triggered for a small set of network errors.
  </summary>
</histogram>

<histogram name="Net.TCP_Connection_Idle_Sockets">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Number of idle sockets when the Connect() succeeded.</summary>
</histogram>

<histogram name="Net.TCP_Connection_Latency" units="ms">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes.  Only times under 10
    minutes are logged.
  </summary>
</histogram>

<histogram name="Net.TCP_Connection_Latency_IPv4_No_Race" units="ms">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes when the network
    address only contains IPv4 addresses.  Only times under 10 minutes are
    logged.
  </summary>
</histogram>

<histogram name="Net.TCP_Connection_Latency_IPv4_Wins_Race" units="ms">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes when the IPv4
    fallback connection won the race against IPv6.  Only times under 10 minutes
    are logged.
  </summary>
</histogram>

<histogram name="Net.TCP_Connection_Latency_IPv6_Raceable" units="ms">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes when we race an IPv6
    connection against an IPv4 connection with a 300ms delay.  Only times under
    10 minutes are logged.
  </summary>
</histogram>

<histogram name="Net.TCP_Connection_Latency_IPv6_Solo" units="ms">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Time from when the Connect() starts until it completes when the network
    address only contains IPv6 addresses.  Only times under 10 minutes are
    logged.
  </summary>
</histogram>

<histogram name="Net.TcpFastOpenSocketConnection" enum="TcpSocketStatus">
  <owner>jri@chromium.org</owner>
  <summary>
    For sockets for which a TCP Fast Open protocol might be used, the result of
    trying to use it.
  </summary>
</histogram>

<histogram name="Net.TCPForSOCKSSocketIdleTimeBeforeNextUse_ReusedSocket">
  <obsolete>
    see SocketIdleTimeBeforeNextUse_ReusedSocket_TCPforSOCKS
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time an already used TCP socket sat idle before being used for a SOCKS
    request.
  </summary>
</histogram>

<histogram name="Net.TCPForSOCKSSocketIdleTimeBeforeNextUse_UnusedSocket">
  <obsolete>
    see SocketIdleTimeBeforeNextUse_UnusedSocket_TCPforSOCKS
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time an unused TCP socket sat idle before being used for a SOCKS
    request.
  </summary>
</histogram>

<histogram name="Net.TCPForSOCKSSocketRequestTime" units="ms">
  <obsolete>
    see SocketRequestTime_TCPforSOCKS
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from initial SOCKSClientSocketPool::RequestSocket() call until
    successfully acquiring a connected TCP socket.
  </summary>
</histogram>

<histogram name="Net.TCPForSOCKSSocketType" enum="HttpSocketType">
  <obsolete>
    see SocketType_TCPforSOCKS
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The counts of the type of sockets returned by the TCP pool used by the SOCKS
    pool.
  </summary>
</histogram>

<histogram name="Net.TcpRtt.AtDisconnect" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    The kernel's estimated TCP round trip time. Recorded for each TCP socket, at
    the time it is disconnected.
  </summary>
</histogram>

<histogram name="Net.TCPSocketType" enum="HttpSocketType">
  <obsolete>
    Was only used for HTTP[S] connections, renamed to Net.HTTPSocketType.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The counts of the type of TCP socket returned.</summary>
</histogram>

<histogram name="Net.ThreadHopResourceThrottleTime" units="ms">
  <obsolete>
    Experiment complete, code removed.
  </obsolete>
  <owner>davidben@chromium.org</owner>
  <summary>
    The time it took to do an IO to UI round-trip in the
    ThreadHopResourceThrottle. This is part of an experiment to determine the
    feasibility to moving some high-level resource loading checks to the UI
    thread.
  </summary>
</histogram>

<histogram name="Net.TokenBinding.HeaderCreationTime" units="ms">
  <owner>nharper@chromium.org</owner>
  <summary>Time spent creating a Token-Binding header.</summary>
</histogram>

<histogram name="Net.TokenBinding.KeyMatch" enum="TokenBinding.KeyMatch">
  <owner>nharper@chromium.org</owner>
  <summary>
    Logs on each request that is sent on a connection where Channel ID was sent
    whether the key that would be used for Token Binding matches the key used
    for Channel ID.
  </summary>
</histogram>

<histogram name="Net.TokenBinding.StoreEphemerality"
    enum="TokenBinding.StoreEphemerality">
  <owner>nharper@chromium.org</owner>
  <summary>
    For each request to accounts.google.com on a connection where Channel ID was
    sent, this logs whether the Cookie store and the Channel ID store were
    ephemeral or persistent.
  </summary>
</histogram>

<histogram name="Net.TokenBinding.Support" enum="TokenBinding.Support">
  <owner>nharper@chromium.org</owner>
  <summary>
    The number of secure HTTP requests broken down by support for Token Binding,
    indicating if Token Binding was negotiated and supported by both client and
    server, or why it wasn't if not.
  </summary>
</histogram>

<histogram name="Net.Transaction_Bandwidth" units="KB/s">
  <obsolete>
    Discontinued as of 4/12/09
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Effective bandwidth in KByte/Second of transactions logged to
    Transaction_Latency histogram.  Note that only samples durations greater
    than zero ms, and less than 1 hour are tallied into this ratio.
  </summary>
</histogram>

<histogram name="Net.Transaction_Connected" units="ms">
  <obsolete>
    Deprecated as of 11/2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from the when the network transaction is requested, until the first
    byte of the header is received.
  </summary>
</histogram>

<histogram name="Net.Transaction_Connected_New" units="ms">
  <obsolete>
    Replaced by Net.Transaction_Connected_New_b.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    When a new connection is established, the time from the when the network
    transaction is requested, until the first byte of the header is received.
    Only items under 10 minutes are logged.
  </summary>
</histogram>

<histogram name="Net.Transaction_Connected_New_b" units="ms">
  <obsolete>
    Deprecated as of 11/2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    When a new connection is established, the time from the when the network
    transaction is requested, until the first byte of the header is received.
  </summary>
</histogram>

<histogram name="Net.Transaction_Connected_Under_10" units="ms">
  <obsolete>
    Replaced by Net.Transaction_Connected.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from the when the network transaction is requested, until the first
    byte of the header is received.  Only items under 10 minutes are logged.
  </summary>
</histogram>

<histogram name="Net.Transaction_Latency" units="ms">
  <obsolete>
    Replaced by Net.Transaction_Latency_b.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from first byte sent until last byte received by the new network stack.
    Only items under 1 hour are logged.
  </summary>
</histogram>

<histogram name="Net.Transaction_Latency_b" units="ms">
  <obsolete>
    Deprecated as of 11/2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from first byte sent until last byte received by the new network stack.
  </summary>
</histogram>

<histogram name="Net.Transaction_Latency_Total" units="ms">
  <obsolete>
    Deprecated as of 11/2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from when a network transaction is requested until last byte received
    by the new network stack.
  </summary>
</histogram>

<histogram name="Net.Transaction_Latency_Total_New_Connection" units="ms">
  <obsolete>
    Deprecated as of 11/2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    When an existing TCP/IP connection is NOT reused, the time from when a
    network transaction is requested until last byte received by the new network
    stack.
  </summary>
</histogram>

<histogram name="Net.Transaction_Latency_Total_New_Connection_Under_10"
    units="ms">
  <obsolete>
    Replaced by Net.Transaction_Latency_Total_New_Connection.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    When an existing TCP/IP connection is NOT reused, the time from when a
    network transaction is requested until last byte received by the new network
    stack.  Only items under 10 minutes are logged.
  </summary>
</histogram>

<histogram name="Net.Transaction_Latency_Total_Under_10" units="ms">
  <obsolete>
    Replaced by Net.Transaction_Latency_Total.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from when a network transaction is requested until last byte received
    by the new network stack.  Only items under 10 minutes are logged.
  </summary>
</histogram>

<histogram name="Net.Transaction_Latency_Under_10" units="ms">
  <obsolete>
    Replaced by Net.Transaction_Latency.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from first byte sent until last byte received by the new network stack.
    Only items under 10 minutes are logged.
  </summary>
</histogram>

<histogram name="Net.Transaction_Latency_WinHTTP" units="ms">
  <obsolete>
    Deprecated a long time ago.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from first byte sent until last byte received with old WinHTTP network
    stack.  Only items under 1 hour are logged.
  </summary>
</histogram>

<histogram name="Net.TransportSocketIdleTimeBeforeNextUse_ReusedSocket">
  <obsolete/>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time an already used TCP socket sat idle before being used (either for
    direct or non-socks use).
  </summary>
</histogram>

<histogram name="Net.TransportSocketIdleTimeBeforeNextUse_UnusedSocket">
  <obsolete/>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time an unused TCP socket sat idle before being used (either for direct
    or non-socks use).
  </summary>
</histogram>

<histogram name="Net.TransportSocketRequestTime" units="ms">
  <obsolete/>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from initial ClientSocketPool::RequestSocket() call until successfully
    acquiring a connected socket (either for direct or non-socks use).
  </summary>
</histogram>

<histogram name="Net.TransportSocketType" enum="HttpSocketType">
  <obsolete/>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The counts of the type of sockets returned by the TCP pool (either for
    direct or non-socks use).
  </summary>
</histogram>

<histogram name="Net.UdpSocketBindErrorFromPosix" units="PosixError">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Posix error code from call to bind() UDP socket.</summary>
</histogram>

<histogram name="Net.UdpSocketBindErrorFromWinOS" units="WinError">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Windows error code from call to bind() UDP socket.</summary>
</histogram>

<histogram name="Net.UdpSocketRandomBindErrorCode" enum="NetErrorCodes">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Chromium error code from call to RandomBind() UDP socket.</summary>
</histogram>

<histogram name="Net.UDPSocketWinClose" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The time spent in closesocket call in UDPSocketWin::Close.</summary>
</histogram>

<histogram name="Net.URLRequest.ReferrerPolicyHeaderPresentOnRedirect"
    enum="BooleanPresent">
  <owner>estark@chromium.org</owner>
  <summary>
    Records the usage of the Referrer-Policy header on redirect responses. This
    histogram is recorded on each HTTP redirect response, with the value true if
    a Referrer-Policy header was present and false otherwise.
  </summary>
</histogram>

<histogram name="Net.URLRequest_SetReferrer_IsEmptyOrValid" enum="Boolean">
  <obsolete>
    Deprecated 6/23/2014. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>True if a URLRequest's referrer is empty or valid when set.</summary>
</histogram>

<histogram name="Net.ValidDNSName" enum="Boolean">
  <owner>palmer@chromium.org</owner>
  <summary>
    True if a DNS name contains only characters for which
    |net::IsValidLabelCharacter| returns true. Used to see if we can deprecate
    and remove support for arbitrary bytes in DNS names. This histogram is
    recorded when converting dotted DNS names into DNS query form, in
    preparation for issuing a DNS request.
  </summary>
</histogram>

<histogram name="Net.WebSocket.DataUse.Downstream" units="bytes">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the downstream data use of WebSockets. Logged on every read
    operation in the WebSocket.
  </summary>
</histogram>

<histogram name="Net.WebSocket.DataUse.Upstream" units="bytes">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the upstream data use of WebSockets. Logged on every write operation
    in the WebSocket.
  </summary>
</histogram>

<histogram name="Net.WebSocket.DeflateMode"
    enum="WebSocketNewPerMessageDeflateContextTakeoverMode">
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>
    Count the number of WebSockets that accepted permessage-deflate extension
    for each context take over mode. Used by the new Chromium-based WebSocket
    implementation.
  </summary>
</histogram>

<histogram name="Net.WebSocket.Duration" units="ms">
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>
    The time from a WebSocket is successfully opened until it's closed. Used to
    study how WebSockets are used.
  </summary>
</histogram>

<histogram name="Net.WebSocket.ErrorCodes" enum="NetErrorCodes">
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>
    Positive net error codes that WebSockets end with, including OK and ABORTED.
  </summary>
</histogram>

<histogram name="Net.WebSocket.HandshakeResult"
    enum="WebSocketNewHandshakeResult">
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>
    Results of WebSocket handshakes. Use this histogram as a baseline for
    investigating feature usage counters.
  </summary>
</histogram>

<histogram name="Net.WebSocket.ResponseCode" enum="HttpResponseCode">
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>All HTTP status codes seen during WebSocket handshakes.</summary>
</histogram>

<histogram name="Net.Wifi.InterfaceCount">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>
    The number of Wi-fi adapters on the computer. Because the histogram is
    logged each time Chrome performs a Wi-fi scan, it's better to see results in
    the &quot;user count&quot; view.
  </summary>
</histogram>

<histogram name="Net.Wifi.LbsLatency" units="ms">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>The time that a request to Location Based Services takes.</summary>
</histogram>

<histogram name="Net.Wifi.ScanLatency" units="ms">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>The time that a Wi-fi scan takes.</summary>
</histogram>

<histogram name="Net.WpadQuickCheckFailure" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Duration of time that a failing WPAD QuickCheck takes. WPAD QuickCheck does
    a name lookup for &quot;wpad&quot; and times out quickly to fail fast when
    there's no WPAD server on the network.
  </summary>
</histogram>

<histogram name="Net.WpadQuickCheckSuccess" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Duration of time that a successful WPAD QuickCheck takes. WPAD QuickCheck
    does a name lookup for &quot;wpad&quot; and times out quickly to fail fast
    when there's no WPAD server on the network.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.0.NetworkError" enum="NetErrorCodes">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The network error, if any, of the first pipeline connectivity request.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.0.ResponseCode">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The HTTP response code, if any, of the first pipeline connectivity response.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.0.Status" enum="HttpPipelineStatus">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The result of the first pipeline connectivity request.</summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.1.NetworkError" enum="NetErrorCodes">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The network error, if any, of the second pipeline connectivity request.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.1.ResponseCode">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The HTTP response code, if any, of the second pipeline connectivity
    response.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.1.Status" enum="HttpPipelineStatus">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The result of the second pipeline connectivity request.</summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.2.NetworkError" enum="NetErrorCodes">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The network error, if any, of the third pipeline connectivity request.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.2.ResponseCode">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The HTTP response code, if any, of the third pipeline connectivity response.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.2.Status" enum="HttpPipelineStatus">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The result of the third pipeline connectivity request.</summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.3.NetworkError" enum="NetErrorCodes">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The network error, if any, of the fourth pipeline connectivity request.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.3.ResponseCode">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The HTTP response code, if any, of the fourth pipeline connectivity
    response.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.3.Status" enum="HttpPipelineStatus">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The result of the fourth pipeline connectivity request.</summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.4.NetworkError" enum="NetErrorCodes">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The network error, if any, of the fifth pipeline connectivity request.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.4.ResponseCode">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The HTTP response code, if any, of the fifth pipeline connectivity response.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.4.Status" enum="HttpPipelineStatus">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The result of the fifth pipeline connectivity request.</summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.5.NetworkError" enum="NetErrorCodes">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The network error, if any, of the stats pipeline connectivity request.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.5.ResponseCode">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The HTTP response code, if any, of the stats pipeline connectivity response.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.5.Status" enum="HttpPipelineStatus">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The result of the stats pipeline connectivity request.</summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.AllHTTP11" enum="BooleanSuccess">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    True if all requests received by the pipelining test server were HTTP/1.1.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.CanarySuccess" enum="BooleanSuccess">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    True if the non-pipelined canary request sent immediately before the
    pipelining test requests succeeded. Note that if this fails, the rest of the
    NetConnectivity.Pipeline.* stats are not collected.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.Depth">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The maximum depth of pipelined requests received by the test server.
  </summary>
</histogram>

<histogram name="NetConnectivity.Pipeline.Success" enum="BooleanSuccess">
  <obsolete>
    Deprecated 05/2014, related field trial already long expired.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>True if the entire pipeline connectivity trial passed.</summary>
</histogram>

<histogram name="NetConnectivity.Sent21">
  <obsolete>
    Deprecated 6/25/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    In this experiment, 21 packets were sent to Google via UDP at port 6121 as
    rapidly as possible, just after successfully sending an UMA upload. Each
    packet was numbered, as was its ACK sent back by Google. If no packets (of
    the 21) were ever ACKed, then the port is assumed to be blocked, and no data
    is recorded in this histogram. If the port is not blocked, then this
    histogram shows the number of echo responses received from the first
  </summary>
</histogram>

<histogram name="NetConnectivity.Sent21.AckReceivedForNthPacket">
  <obsolete>
    Deprecated 6/25/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    In this experiment, 21 packets were sent to Google via UDP at port 6121 as
    rapidly as possible, just after successfully sending an UMA upload. Each
    packet was numbered, as was its ACK sent back by Google. This histogram
    records, for each packet number, how often we received an ACK for that
    packet.
  </summary>
</histogram>

<histogram name="NetConnectivity.Sent21.GotAnAck" enum="BooleanSuccess">
  <obsolete>
    Deprecated 6/25/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    In this experiment, 21 packets were sent to Google via UDP at port 6121 as
    rapidly as possible, just after successfully sending an UMA upload. If no
    packets (of the 21) were ever ACKed, then the port is assumed to be blocked.
    The histogram shows if we ever got an ACK for a packet in our series of 21.
  </summary>
</histogram>

<histogram name="NetConnectivity.TCP.Fail.100B.RTT" units="ms">
  <obsolete>
    Deprecated 4/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The RTT for echoing 100 bytes of TCP data unsuccessfully.</summary>
</histogram>

<histogram name="NetConnectivity.TCP.Fail.1k.RTT" units="ms">
  <obsolete>
    Deprecated 4/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The RTT for echoing 1K bytes of TCP data successfully.</summary>
</histogram>

<histogram name="NetConnectivity.TCP.Status"
    enum="NetConnectivityProtocolStatus">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Status for TCP protocol for echoing</summary>
</histogram>

<histogram name="NetConnectivity.TCP.Status.100B" enum="NetConnectivityStatus">
  <obsolete>
    Deprecated 4/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Status for echoing 100 bytes of TCP data.</summary>
</histogram>

<histogram name="NetConnectivity.TCP.Status.1K" enum="NetConnectivityStatus">
  <obsolete>
    Deprecated 4/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Status for echoing 1K bytes of TCP data.</summary>
</histogram>

<histogram name="NetConnectivity.TCP.Success" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The RTT for TCP protocol for echoing</summary>
</histogram>

<histogram name="NetConnectivity.TCP.Success.100B.RTT" units="ms">
  <obsolete>
    Deprecated 4/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The RTT for echoing 100 bytes of TCP data successfully.</summary>
</histogram>

<histogram name="NetConnectivity.TCP.Success.1K.RTT" units="ms">
  <obsolete>
    Deprecated 4/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The RTT for echoing 1K bytes of TCP data successfully.</summary>
</histogram>

<histogram name="NetConnectivity.UDP.Fail.100B.RTT" units="ms">
  <obsolete>
    Deprecated 4/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The RTT for echoing 100 bytes of UDP data unsuccessfully.</summary>
</histogram>

<histogram name="NetConnectivity.UDP.Fail.1k.RTT" units="ms">
  <obsolete>
    Deprecated 4/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The RTT for echoing 1K bytes of UDP data successfully.</summary>
</histogram>

<histogram name="NetConnectivity.UDP.PacketLoss">
  <obsolete>
    Deprecated 6/25/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome sends 4 UDP packets in a row to test to see if there is a
    probabalistic dependency in packet loss for consecutive packets.  We record
    a bit vector of packets received, where the least significant bit is a 1 if
    the first packet was received, etc.  For example, if packets 1 and 3 are
    received, but packets 2 and 4 are lost, then we'd record a sample of binary
    0101B, or 5.
  </summary>
</histogram>

<histogram name="NetConnectivity.UDP.PacketLoss6">
  <obsolete>
    Deprecated 6/25/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome sends 6 UDP packets in a row to test to see if there is a
    probabalistic dependency in packet loss for consecutive packets.  We record
    a bit vector of packets received, where the least significant bit is a 1 if
    the first packet was received, etc.  For example, if all packets other than
    packet 2 and 4 are responded to, then we'd have a sample (in binary) of
    110101B, or 53.
  </summary>
</histogram>

<histogram name="NetConnectivity.UDP.Status"
    enum="NetConnectivityProtocolStatus">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Status for UDP protocol for echoing</summary>
</histogram>

<histogram name="NetConnectivity.UDP.Status.100B" enum="NetConnectivityStatus">
  <obsolete>
    Deprecated 4/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Status for echoing 100 bytes of UDP data.</summary>
</histogram>

<histogram name="NetConnectivity.UDP.Status.1K" enum="NetConnectivityStatus">
  <obsolete>
    Deprecated 4/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Status for echoing 1K bytes of UDP data.</summary>
</histogram>

<histogram name="NetConnectivity.UDP.Success" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The RTT for UDP protocol for echoing</summary>
</histogram>

<histogram name="NetConnectivity.UDP.Success.100B.RTT" units="ms">
  <obsolete>
    Deprecated 4/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The RTT for echoing 100 bytes of UDP data successfully.</summary>
</histogram>

<histogram name="NetConnectivity.UDP.Success.1K.RTT" units="ms">
  <obsolete>
    Deprecated 4/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The RTT for echoing 1k bytes of UDP data successfully.</summary>
</histogram>

<histogram name="NetConnectivity2.Send6.PacketsSent">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    This histogram records how many packets (out of 6 attempted) were sent via
    UDP as rapidly as possible, just after successfully sending an UMA upload.
  </summary>
</histogram>

<histogram name="NetConnectivity2.Send6.SeriesAcked">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome sends 6 UDP packets in a row to test to see if there is a
    probabalistic dependency in packet loss for consecutive packets.  We record
    a bit vector of packets received, where the least significant bit is a 1 if
    the first packet was received, etc.  For example, if all packets other than
    packet 2 and 4 are responded to, then we'd have a sample (in binary) of
    110101B, or 53.
  </summary>
</histogram>

<histogram name="NetConnectivity2.Sent21">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    In this experiment, 21 packets were sent to Google via UDP as rapidly as
    possible, just after successfully sending an UMA upload. Each packet was
    numbered, as was its ACK sent back by Google. If no packets (of the 21) were
    ever ACKed, then the port is assumed to be blocked, and no data is recorded
    in this histogram. If the port is not blocked, then this histogram shows the
    number of echo responses received from the first
  </summary>
</histogram>

<histogram name="NetConnectivity2.Sent21.AckReceivedForNthPacket">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    In this experiment, 21 packets were sent to Google via UDP as rapidly as
    possible, just after successfully sending an UMA upload. Each packet was
    numbered, as was its ACK sent back by Google. This histogram records, for
    each packet number, how often we received an ACK for that packet.
  </summary>
</histogram>

<histogram name="NetConnectivity2.Sent21.GotAnAck" enum="BooleanSuccess">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    In this experiment, 21 packets were sent to Google via UDP as rapidly as
    possible, just after successfully sending an UMA upload. If no packets (of
    the 21) were ever ACKed, then the port is assumed to be blocked. The
    histogram shows if we ever got an ACK for a packet in our series of 21.
  </summary>
</histogram>

<histogram name="NetConnectivity2.Sent21.PacketsSent">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    This histogram records how many packets (out of 21 attempted) were sent via
    UDP as rapidly as possible, just after successfully sending an UMA upload.
  </summary>
</histogram>

<histogram name="NetConnectivity3">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    In this experiment, 21 packets were sent to Google via UDP on port 443 or
    6121.
  </summary>
</histogram>

<histogram name="NetConnectivity3.NonPacedPacket.Sent21.443.100B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.NonPacedPacket.Sent21.443.1200B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.NonPacedPacket.Sent21.443.500B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.NonPacedPacket.Sent21.6121.100B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.NonPacedPacket.Sent21.6121.1200B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.NonPacedPacket.Sent21.6121.500B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.NonPacedPacket.Sent21.GotAnAck"
    enum="BooleanSuccess">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.NonPacedPacket.Sent21.Success.RTT" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.PacedPacket.Sent21.443.100B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.PacedPacket.Sent21.443.1200B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.PacedPacket.Sent21.443.500B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.PacedPacket.Sent21.6121.100B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.PacedPacket.Sent21.6121.1200B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.PacedPacket.Sent21.6121.500B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.PacedPacket.Sent21.GotAnAck"
    enum="BooleanSuccess">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.PacedPacket.Sent21.Success.RTT" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.StartPacket.Send6.PacketsSent">
  <obsolete>
    Deprecated 9/2012. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    This histogram records how many packets (out of 6 attempted) were sent via
    UDP as rapidly as possible, just after successfully sending an UMA upload.
  </summary>
</histogram>

<histogram name="NetConnectivity3.StartPacket.Sent21.443.100B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.StartPacket.Sent21.443.1200B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.StartPacket.Sent21.443.500B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.StartPacket.Sent21.6121.100B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.StartPacket.Sent21.6121.1200B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.StartPacket.Sent21.6121.500B.PacketDelay"
    units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.StartPacket.Sent21.GotAnAck"
    enum="BooleanSuccess">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity3.StartPacket.Sent21.Success.RTT" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="NetConnectivity4">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    In this experiment, a few packets were sent from Google to clients via UDP
    on port 443 or 80 to perform net connectivity test.
  </summary>
</histogram>

<histogram name="NetConnectivity5">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    In this experiment, a few packets were sent from Google to clients via UDP
    on port 443 or 80 to perform net connectivity test.
  </summary>
</histogram>

<histogram name="NetConnectivity5.TestFailed.WritePending"
    enum="BooleanSuccess">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Next NetConnectivity5 experiment weren't started because there is an
    outstading pending write.
  </summary>
</histogram>

<histogram name="Network.3G.Gobi.Activation" units="ms">
  <owner>benchan@chromium.org</owner>
  <summary>The time the Gobi modem takes to complete activation.</summary>
</histogram>

<histogram name="Network.3G.Gobi.Connect" units="ms">
  <owner>benchan@chromium.org</owner>
  <summary>
    The time the Gobi modem takes to connect to the cellular network.
  </summary>
</histogram>

<histogram name="Network.3G.Gobi.Disconnect" units="ms">
  <owner>benchan@chromium.org</owner>
  <summary>
    The time the Gobi modem takes to disconnect from the cellular network.
  </summary>
</histogram>

<histogram name="Network.3G.Gobi.FirmwareDownload.Attempts">
  <owner>benchan@chromium.org</owner>
  <summary>Number of attempts taken to install Gobi firmware.</summary>
</histogram>

<histogram name="Network.3G.Gobi.FirmwareDownload.Time" units="ms">
  <owner>benchan@chromium.org</owner>
  <summary>The time it takes to install Gobi firmware.</summary>
</histogram>

<histogram name="Network.3G.Gobi.Registration" units="ms">
  <owner>benchan@chromium.org</owner>
  <summary>
    The time the Gobi modem takes to register on the cellular network.
  </summary>
</histogram>

<histogram name="Network.3G.Gobi.SetPower" enum="Network3GGobiError">
  <owner>benchan@chromium.org</owner>
  <summary>Errors experienced during Gobi device powerup.</summary>
</histogram>

<histogram name="Network.Cellular.TimeOnline" units="seconds">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network metric sampling the time spent using Cellular to transport
    data.  These data are mostly useful when summed and compared to TimeOnline
    for other network technologies (e.g. WiFi vs Cellular).
  </summary>
</histogram>

<histogram name="Network.Cellular.TimeToConfig" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to join a 3G/Cellular
    network and configure Layer 3 state.
  </summary>
</histogram>

<histogram name="Network.Cellular.TimeToOnline" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to determine that a
    3G/Cellular network is online after configuring Layer 3 state.
  </summary>
</histogram>

<histogram name="Network.Cellular.TimeToPortal" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to determine that a
    3G/Cellular network is in a captive portal after configuring Layer 3 state.
  </summary>
</histogram>

<histogram name="Network.Cellular.UsageRequestStatus"
    enum="NetworkCellularUsageRequestStatus">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Chrome OS cellular usage API request status codes.</summary>
</histogram>

<histogram name="Network.Ethernet.TimeOnline" units="seconds">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network metric sampling the time spent using Ethernet to transport
    data.  These data are mostly useful when summed and compared to TimeOnline
    for other network technologies (e.g. WiFi vs Cellular).
  </summary>
</histogram>

<histogram name="Network.Ethernet.TimeToConfig" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to join a wired
    Ethernet network and configure Layer 3 state (typically acquire a DHCP
    lease).
  </summary>
</histogram>

<histogram name="Network.Ethernet.TimeToOnline" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to determine that an
    Ethernet network is online after configuring Layer 3 state.
  </summary>
</histogram>

<histogram name="Network.Ethernet.TimeToPortal" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to determine that an
    Ethernet network is in a captive portal after configuring Layer 3 state.
  </summary>
</histogram>

<histogram name="Network.MigrationNssToPem"
    enum="MigrationNssToPemNetworkTypes">
  <obsolete>
    Deprecated 8/2015.
  </obsolete>
  <owner>cschuet@chromium.org</owner>
  <summary>
    Chrome OS metric counting the number of network configurations that
    contained a NSS nickname identifying a CA certificate, which triggered the
    migration to PEM encoding. This metric doesn't consider whether the
    migration was successful but once a migration was successful the nickname is
    removed.
  </summary>
</histogram>

<histogram name="Network.ServiceErrors" enum="NetworkServiceError">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Chrome OS connection manager service errors seen.</summary>
</histogram>

<histogram name="Network.Shill.Cellular.3GPPRegistrationDelayedDrop"
    enum="NetworkCellular3GPPRegistrationDelayedDrop">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the number of cellular network
    flakes. A network flake occurs when the signal strength goes below detection
    level for a short duration.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.AutoConnectTotalTime" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the total amount of time spent
    from the start of the first auto-connect request until when the cellular
    modem successfully connects to the network.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.AutoConnectTries">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the number of auto-connect
    tries that were attempted before the cellular modem successfully connected
    to the network.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.DevicePresenceStatus"
    enum="BooleanPresent">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the presence of a Cellular device in
    the system. A sample is emitted once every 3 minutes.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.DHCPOptionFailureDetected"
    enum="NetworkDHCPOptionFailure">
  <obsolete>
    Deprecated 5/2014, and replaced by Network.Shill.DHCPOptionFailureDetected.
  </obsolete>
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the number of DHCP option failures
    encountered by Shill.  This indicates that Shill is using minimal DHCP
    options due to suspected MTU issues on the return path from the DHCP server
    back to the client.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.Disconnect"
    enum="NetworkDisconnectType">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric that tracks whether the cellular network was
    disconnected due to an error or was explicitly disconnected by the user.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.Drop" enum="NetworkCellularTechnology">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS cellular network metric that tracks the number of drops based on
    the network technology.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.ExpiredLeaseLengthSeconds"
    units="seconds">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the length of a lease for a
    cellular network at the time it expired without the DHCP client being able
    to renew it.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.IPv6ConnectivityStatus"
    enum="IPv6ConnectivityStatus">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the presence of complete IPv6
    configuration at the time when cellular connection is established.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.NetworkConnectionIPType"
    enum="NetworkConnectionIPType">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the types of IP configuration used for
    establishing cellular connections.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.OutOfCreditsReason"
    enum="NetworkCellularOutOfCreditsReason">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS cellular network metric that tracks the number of out-of-credits
    detected based on the cause that triggered the out-of-credits.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.PortalAttempts">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the number of portal detection
    attempts per pass for a cellular network. This includes failure, timeout and
    successful attempts.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.PortalAttemptsToOnline">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the total number of portal
    detection attempts performed for a cellular network between the Connected
    and Online state. This includes failure, timeout and successful attempts.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.PortalResult"
    enum="NetworkPortalResult">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the result of portal detections
    for a cellular network.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.SignalStrengthBeforeDrop">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network metric sampling the signal strength (0-100) of the
    cellular modem before it dropped from the network.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.TimeOnline" units="seconds">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network metric sampling the time spent using cellular to transport
    data.  These data are mostly useful when summed and compared to TimeOnline
    for other network technologies (e.g. WiFi vs Cellular).
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.TimeToConfig" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to join a cellular
    network and configure Layer 3 state.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.TimeToConnect" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to connect a cellular
    modem.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.TimeToDisable" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to disable a cellular
    modem.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.TimeToEnable" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to enable a cellular
    modem.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.TimeToInitialize" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to initialize a
    cellular modem.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.TimeToOnline" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to determine that a
    cellular network is online after configuring Layer 3 state.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.TimeToPortal" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to determine that a
    cellular network is in a captive portal after configuring Layer 3 state.
  </summary>
</histogram>

<histogram name="Network.Shill.Cellular.TimeToScan" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to scan a cellular
    network and register a modem.
  </summary>
</histogram>

<histogram name="Network.Shill.ConnectionDiagnosticsIssue"
    enum="ConnectionDiagnosticsIssue">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the connectivity issue diagnosed by the
    ConnectionDiagnostics class in Shill. This metric is logged each time a
    ConnectionDiagnostics object completes its diagnostics actions and reports
    the results to its caller.
  </summary>
</histogram>

<histogram name="Network.Shill.CorruptedProfile" enum="NetworkCorruptedProfile">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS cellular network metric that tracks the number of corrupted
    profiles encountered by Shill.
  </summary>
</histogram>

<histogram name="Network.Shill.DarkResumeActionResult"
    enum="ShillSuspendTerminationDarkResumeActionResult">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the number of dark resume
    actions that successfully complete or fail when shill suspends.
  </summary>
</histogram>

<histogram name="Network.Shill.DarkResumeActionsTimeTaken" units="ms">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the time in milliseconds it
    takes dark resume actions to complete when shill suspends.
  </summary>
</histogram>

<histogram name="Network.Shill.DarkResumeActionTime" units="ms">
  <obsolete>
    Deprecated 01/2015. Migrated to Network.Shill.DarkResumeActionsTimeTaken.
  </obsolete>
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the time in milliseconds it
    takes dark resume actions to complete when shill suspends.
  </summary>
</histogram>

<histogram name="Network.Shill.DarkResumeScanNumRetries">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network metric sampling the number of times a dark resume scan is
    retried in a single dark resume.
  </summary>
</histogram>

<histogram name="Network.Shill.DarkResumeScanRetryResult"
    enum="DarkResumeScanRetryResult">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks whether dark resume scan retries led to
    the system suspending from dark resume in a connected state. This metric is
    only recorded in dark resumes when at least one dark resume scan retry was
    launched.
  </summary>
</histogram>

<histogram name="Network.Shill.DeviceConnectionStatus" enum="ConnectionStatus">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the connection status of
    the device. A sample is emitted once every 3 minutes.
  </summary>
</histogram>

<histogram name="Network.Shill.DeviceRemovedEvent" enum="DeviceTechnologyType">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the network device removed events for
    each device type.
  </summary>
</histogram>

<histogram name="Network.Shill.DHCPClientMTUValue" units="bytes">
  <owner>pstew@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the MTU value proposed by the
    DHCP server.  A sample is emitted each time the DHCP client completes
    negotiation with a server.
  </summary>
</histogram>

<histogram name="Network.Shill.DHCPClientStatus" enum="NetworkDhcpClientStatus">
  <owner>pstew@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the current state of the DHCP
    client.  A sample is emitted each time the DHCP client state changes.
  </summary>
</histogram>

<histogram name="Network.Shill.DHCPOptionFailureDetected"
    enum="NetworkTechnology">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the number of DHCP option failures
    encountered by Shill for each network technology.  This indicates that Shill
    is using minimal DHCP options due to suspected MTU issues on the return path
    from the DHCP server back to the client.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.DevicePresenceStatus"
    enum="BooleanPresent">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the presence of an Ethernet device in
    the system. A sample is emitted once every 3 minutes.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.DHCPOptionFailureDetected"
    enum="NetworkDHCPOptionFailure">
  <obsolete>
    Deprecated 5/2014, and replaced by Network.Shill.DHCPOptionFailureDetected.
  </obsolete>
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the number of DHCP option failures
    encountered by Shill.  This indicates that Shill is using minimal DHCP
    options due to suspected MTU issues on the return path from the DHCP server
    back to the client.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.Disconnect"
    enum="NetworkDisconnectType">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric that tracks whether the Ethernet network was
    disconnected due to an error or was explicitly disconnected by the user.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.ExpiredLeaseLengthSeconds"
    units="seconds">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the length of a lease for
    an Ethernet network at the time it expired without the DHCP client being
    able to renew it.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.LinkMonitorBroadcastErrorsAtFailure">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the number of LinkMonitor
    broadcast errors that were accrued on an Ethernet network at the time that
    the link was declaired to be failed.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.LinkMonitorFailure"
    enum="LinkMonitorFailureType">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS metric that signals the type of failure the LinkMonitor
    encountered which caused it to stop monitoring an Ethernet network.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.LinkMonitorResponseTimeSample"
    units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the number of milliseconds
    between an ARP request and a received reply on an Ethernet network.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.LinkMonitorSecondsToFailure"
    units="seconds">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the number of seconds from
    the start of the LinkMonitor until failure on an Ethernet network.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.LinkMonitorUnicastErrorsAtFailure">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the number of LinkMonitor
    unicast errors that were accrued on an Ethernet network at the time that the
    link was declaired to be failed.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.PortalAttempts">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the number of portal detection
    attempts per pass for an Ethernet network. This includes failure, timeout
    and successful attempts.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.PortalAttemptsToOnline">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the total number of portal
    detection attempts performed for an Ethernet network between the Connected
    and Online state. This includes failure, timeout and successful attempts.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.PortalResult"
    enum="NetworkPortalResult">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the result of portal detections
    for an Ethernet network.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.TimeOnline" units="seconds">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network metric sampling the time spent using Ethernet to transport
    data.  These data are mostly useful when summed and compared to TimeOnline
    for other network technologies (e.g. WiFi vs Cellular).
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.TimeToConfig" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to join a wired
    Ethernet network and configure Layer 3 state (typically acquire a DHCP
    lease).
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.TimeToInitialize" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to initialize an
    Ethernet device.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.TimeToOnline" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to determine that an
    Ethernet network is online after configuring Layer 3 state.
  </summary>
</histogram>

<histogram name="Network.Shill.Ethernet.TimeToPortal" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to determine that an
    Ethernet network is in a captive portal after configuring Layer 3 state.
  </summary>
</histogram>

<histogram name="Network.Shill.PPPMTUValue" units="bytes">
  <owner>gdk@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the MTU value provided by the
    upstream PPP peer.  A sample is emitted each time the client successfully
    negotiates an MTU value via PPP.
  </summary>
</histogram>

<histogram name="Network.Shill.ServiceErrors" enum="NetworkServiceError">
  <owner>quiche@chromium.org</owner>
  <summary>Chrome OS connection manager service errors seen.</summary>
</histogram>

<histogram name="Network.Shill.ServicesOnSameNetwork">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric sampling the number of services that are connected
    to the currently connected network.
  </summary>
</histogram>

<histogram name="Network.Shill.SuspendActionResult"
    enum="ShillSuspendTerminationDarkResumeActionResult">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the number of suspend actions
    that successfully complete or fail when shill suspends.
  </summary>
</histogram>

<histogram name="Network.Shill.SuspendActionsTimeTaken" units="ms">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the time in milliseconds it
    takes suspend actions to complete when shill suspends.
  </summary>
</histogram>

<histogram name="Network.Shill.SuspendActionTime" units="ms">
  <obsolete>
    Deprecated 01/2015. Migrated to Network.Shill.SuspendActionsTimeTaken.
  </obsolete>
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the time in milliseconds it
    takes suspend actions to complete when shill suspends.
  </summary>
</histogram>

<histogram name="Network.Shill.TerminationActionResult"
    enum="ShillSuspendTerminationDarkResumeActionResult">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the number of termination
    actions that successfully complete or fail when shill terminates. Previously
    deprecated in 10/2012 and brought back in 10/2014.
  </summary>
</histogram>

<histogram name="Network.Shill.TerminationActionResult.OnSuspend"
    enum="ShillSuspendTerminationDarkResumeActionResult">
  <obsolete>
    Deprecated 10/2014. Migrated to Network.Shill.SuspendActionResult.
  </obsolete>
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the number of termination
    actions that successfully complete or fail when shill suspends.
  </summary>
</histogram>

<histogram name="Network.Shill.TerminationActionResult.OnTerminate"
    enum="ShillSuspendTerminationDarkResumeActionResult">
  <obsolete>
    Deprecated 10/2014. Migrated to Network.Shill.TerminationActionResult.
  </obsolete>
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the number of termination
    actions that successfully complete or fail when shill terminates.
  </summary>
</histogram>

<histogram name="Network.Shill.TerminationActionsTimeTaken" units="ms">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the time in milliseconds it
    takes termination actions to complete when shill terminates.
  </summary>
</histogram>

<histogram name="Network.Shill.TerminationActionTime" units="ms">
  <obsolete>
    Deprecated 01/2015. Migrated to Network.Shill.TerminationActionsTimeTaken.
  </obsolete>
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the time in milliseconds it
    takes termination actions to complete when shill terminates.
  </summary>
</histogram>

<histogram name="Network.Shill.TerminationActionTime.OnSuspend" units="ms">
  <obsolete>
    Deprecated 10/2014. Migrated to Network.Shill.SuspendActionTime.
  </obsolete>
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the time in milliseconds it
    takes termination actions to complete when shill suspends.
  </summary>
</histogram>

<histogram name="Network.Shill.TerminationActionTime.OnTerminate" units="ms">
  <obsolete>
    Deprecated 10/2014. Migrated to Network.Shill.TerminationActionTime.
  </obsolete>
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the time in milliseconds it
    takes termination actions to complete when shill terminates.
  </summary>
</histogram>

<histogram name="Network.Shill.TimeToDrop" units="seconds">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network stability metric sampling the time in seconds between the
    networking going online to going offline. Offline events due to device
    shutdown or suspend are ignored (along with the online time before that
    offline event).
  </summary>
</histogram>

<histogram name="Network.Shill.UserInitiatedEvents" enum="UserInitiatedEvent">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the number of user-initiated events.
  </summary>
</histogram>

<histogram name="Network.Shill.Vpn.Driver" enum="VPNDriver">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric sampled on each successful VPN connection
    that tracks the VPN connection type.
  </summary>
</histogram>

<histogram name="Network.Shill.Vpn.RemoteAuthenticationType"
    enum="VPNRemoteAuthenticationType">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric sampled on each successful VPN connection
    that tracks the remote authentication method.
  </summary>
</histogram>

<histogram name="Network.Shill.Vpn.TimeOnline" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network metric sampling the time spent using VPN to transport
    data.  These data are mostly useful when summed and compared to TimeOnline
    for other network technologies (e.g. WiFi vs Cellular).  A sample is emitted
    every time the system transitions from primary connectivity through a VPN to
    some other type of connectivity.  The value of the sample is the time delta
    in seconds from the instant the system transitioned to VPN connectivity.
  </summary>
</histogram>

<histogram name="Network.Shill.Vpn.TimeToConfig" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to configure Layer 3
    state on a VPN network (typically acquire a DHCP lease).
  </summary>
</histogram>

<histogram name="Network.Shill.Vpn.TimeToOnline" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to determine that a
    WiMax network is online after configuring Layer 3 state.
  </summary>
</histogram>

<histogram name="Network.Shill.Vpn.UserAuthenticationType"
    enum="VPNUserAuthenticationType">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric sampled on each successful VPN connection
    that tracks the user authentication method.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.ApDisconnectReason" enum="WiFiReasonCode">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric.  Reason code reported when the AP
    disconnects a WiFi connection.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.ApDisconnectType" enum="WiFiStatusType">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric.  Broad category of reason AP disconnected a
    WiFi connection.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.ApMode" enum="WiFiApMode">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric.  The AP mode setting for each successful
    WiFi connection.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.AutoConnectableServices">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric sampling the number of wifi services available for
    auto-connect when auto-connect is initiated for wifi device.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.AvailableBSSesAtConnect">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric sampling the number of BSSes (endpoints) available
    for the currently connecting wifi service.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.Channel" enum="NetworkChannelType">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric.  The channel used for each successful WiFi
    connection.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.ClientDisconnectReason"
    enum="WiFiReasonCode">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric.  Reason code reported when the client
    disconnects a WiFi connection.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.ClientDisconnectType" enum="WiFiStatusType">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric.  Broad category of reason client
    disconnected a WiFi connection.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.DarkResumeUnmatchedScanResultsReceived"
    enum="DarkResumeUnmatchedScanResultReceived">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks whether any unmatched scan results are
    received during dark resume cycles. An unmatched scan result is a set of
    scan results received by shill in response to a scan request that was not
    sent directly by shill in the same dark resume cycle.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.DarkResumeWakeReason"
    enum="DarkResumeWakeReason">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the wake reason for dark resume.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.DevicePresenceStatus" enum="BooleanPresent">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the presence of a WiFi device in the
    system. A sample is emitted once every 3 minutes.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.DHCPOptionFailureDetected"
    enum="NetworkDHCPOptionFailure">
  <obsolete>
    Deprecated 5/2014, and replaced by Network.Shill.DHCPOptionFailureDetected.
  </obsolete>
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the number of DHCP option failures
    encountered by Shill.  This indicates that Shill is using minimal DHCP
    options due to suspected MTU issues on the return path from the DHCP server
    back to the client.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.Disconnect" enum="NetworkDisconnectType">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric that tracks whether an 802.11 wireless
    network was disconnected due to an error or was explicitly disconnected by
    the user.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.EapInnerProtocol" enum="EAPInnerProtocol">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric sampled on each successful 802.1x wireless
    connection that tracks the configured inner authentication method.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.EapOuterProtocol" enum="EAPOuterProtocol">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric sampled on each successful 802.1x wireless
    connection that tracks the configured outer authentication method.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.ExpiredLeaseLengthSeconds" units="seconds">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the length of a lease for a
    WiFi network at the time it expired without the DHCP client being able to
    renew it.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.FallbackDNSTestResult"
    enum="FallbackDNSTestResult">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the result of the fallback
    DNS test. The fallback DNS test is performed when portal detection failed
    due to DNS failure.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.FrequenciesConnectedEver">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS metric sampling the number of different frequencies (i.e.
    channels) on which a device has connected to a WiFi network. This value is
    sampled every time a WiFi connection is established
    (WPASupplicant::kInterfaceStateCompleted). Note that the word
    &quot;Ever&quot; in the metric name is misleading. Chrome OS actually ages
    out historical information, currently after 3 weeks.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.IPv6ConnectivityStatus"
    enum="IPv6ConnectivityStatus">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the presence of complete IPv6
    configuration at the time when WiFi connection is established.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.LinkMonitorBroadcastErrorsAtFailure">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the number of LinkMonitor
    broadcast errors that were accrued on an 802.11 wireiless network at the
    time that the link was declaired to be failed.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.LinkMonitorFailure"
    enum="LinkMonitorFailureType">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS metric that signals the type of failure the LinkMonitor
    encountered which caused it to stop monitoring an 802.11 wireless network.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.LinkMonitorResponseTimeSample" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the number of milliseconds
    between an ARP request and a received reply on an 802.11 wireless network.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.LinkMonitorSecondsToFailure"
    units="seconds">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the number of seconds from
    the start of the LinkMonitor until failure on an 802.11 wireless network.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.LinkMonitorUnicastErrorsAtFailure">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the number of LinkMonitor
    unicast errors that were accrued on an 802.11 wireless network at the time
    that the link was declaired to be failed.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.NetworkConnectionIPType"
    enum="NetworkConnectionIPType">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the types of IP configuration used for
    establishing WiFi connections.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.NetworkProblemDetected"
    enum="NetworkProblemType">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the network problems
    encountered by TrafficMonitor after WiFi connection is established.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.PhyMode" enum="NetworkPhyModeType">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric.  The channel type used for each successful
    WiFi connection.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.PortalAttempts">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the number of portal detection
    attempts per pass for an 802.11 wireless network. This includes failure,
    timeout and successful attempts.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.PortalAttemptsToOnline">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the total number of portal
    detection attempts performed for an 802.11 wireless network between the
    Connected and Online state. This includes failure, timeout and successful
    attempts.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.PortalResult" enum="NetworkPortalResult">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the result of portal detections
    for an 802.11 wireless network.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.RememberedNetworkCount">
  <owner>pstew@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the number of 802.11 wireless
    networks known by the connection manager at the time a configuration profile
    has been loaded.  A configuration profile is loaded at each system startup,
    and when a user logs in.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.RememberedSystemNetworkCount">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network metric sampling the number of 802.11 wireless networks
    configured from the system configuration profile. This metric is sampled
    each time a user configuration profile is loaded, such as when a user logs
    in.

    It might be surprising to have a system configuration profile metric sampled
    when a user configuration profile is loaded. But this ensures that we have
    equal numbers of samples for system and user configuration profiles.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.RememberedUserNetworkCount">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network metric sampling the number of 802.11 wireless networks
    configured from a user configuration profile. This metric is sampled each
    time a user configuration profile is loaded, such as when a user logs in.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.ScanResult" enum="WiFiScanResult">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric describing, for a WiFi scan attempt, what
    scan method is used and whether it ends in a connection.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.ScanTimeInEbusy" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric describing, for a WiFi scan attempt, how many
    milliseconds were spent waiting to talk to the kernel/drivers.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.Security" enum="NetworkSecurityType">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network usage metric.  The security setting for each successful
    WiFi connection.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.SignalAtDisconnect" units="negative dBm">
  <owner>silberst@chromium.org</owner>
  <summary>
    Chrome OS network metric indicating the negative of the dBm received signal
    strength recorded at the time of a WiFi disconnect.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.SignalStrength" units="negative dBm">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network metric indicating the negative of the dBm received signal
    strength recorded at the time a successful WiFi connection started.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.StoppedTxQueueLength" units="frames">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network metric indicating the maximal length of any stopped
    mac80211 transmit queue. The metric is reported when a queue-status check
    determines that at least one transmit queue is stopped, and has more than a
    threshold number of frames queued.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.StoppedTxQueueReason"
    enum="NetworkQueueStopReason">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network metric indicating the reason that mac80211 transmit queues
    were stopped. The metric is reported when a queue-status check determines
    that at least one queue is stopped, and has more than a threshold number of
    frames queued.

    One measurement is reported per stop reason, per queue-status check. Reasons
    that apply to multiple queues are reported only once per queue-status check.
    Reasons that only apply to queues that have a below-threshold number of
    frames are skipped.

    Note that, because we may report multiple stop reasons for a single
    queue-status check, this histogram is not suitable for determining the
    number of times a queue-status check found that the queues were stopped. To
    determine that number, use the count of
    Network.Shill.WiFi.StoppedTxQueueLength reports.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.SuspendDurationWoWOffConnected"
    units="seconds">
  <owner>semenzato@chromium.org</owner>
  <owner>kirtika@chromium.org</owner>
  <summary>
    Time spent in suspended state, on a resume, for the case when wake on wifi
    is  disabled (WoWOff), and after resume, the NIC is found to be already
    connected.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.SuspendDurationWoWOffDisconnected"
    units="seconds">
  <owner>semenzato@chromium.org</owner>
  <owner>kirtika@chromium.org</owner>
  <summary>
    Time spent in suspended state, on a resume, for the case when wake on wifi
    is  enabled (WoWOff), and after resume, the NIC is found to be disconnected.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.SuspendDurationWoWOnConnected"
    units="seconds">
  <owner>semenzato@chromium.org</owner>
  <owner>kirtika@chromium.org</owner>
  <summary>
    Time spent in suspended state, on a resume, for the case when wake on wifi
    is  enabled (WoWOn), and after resume, the NIC is found to be already
    connected.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.SuspendDurationWoWOnDisconnected"
    units="seconds">
  <owner>semenzato@chromium.org</owner>
  <owner>kirtika@chromium.org</owner>
  <summary>
    Time spent in suspended state, on a resume, for the case when wake on wifi
    is  enabled (WoWOn), and after resume, the NIC is found to be disconnected.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.TimeOnline" units="seconds">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network metric sampling the time spent using WiFi to transport
    data.  These data are mostly useful when summed and compared to TimeOnline
    for other network technologies (e.g. WiFi vs Cellular).
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.TimeResumeToReady" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time from the resume event
    to the time when an 802.11 wireless network has configured its Layer 3
    state.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.TimeToConfig" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to configure Layer 3
    state on an 802.11 wireless network (typically acquire a DHCP lease).
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.TimeToConnect" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to connect to a WiFi
    Basic Service Set (which consists of the access point and associated
    stations on a particular WiFi channel for a specific network).
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.TimeToInitialize" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to initialize an
    802.11 wireless device.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.TimeToJoin" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to join (associate
    plus authenticate) an 802.11 wireless network.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.TimeToOnline" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to determine that an
    802.11 wireless network is online after configuring Layer 3 state.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.TimeToPortal" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to determine that an
    802.11 wireless network is in a captive portal after configuring Layer 3
    state.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.TimeToScan" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to scan WiFi until a
    connection is found.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.TimeToScanAndConnect" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time between the beginning
    of a WiFi scan (if the scan includes both a progressive scan and a full
    scan, the TimeToScanAndConnect starts with the first scan of the series) and
    the completion of a successful connection.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.TransmitBitrateMbps" units="Mbps">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the transmit bitrate in
    Mbps for the wifi device when it is connected to a network. The bitrate is
    reported once every minute after the wifi connection is established.
  </summary>
</histogram>

<histogram name="Network.Shill.Wifi.UnreliableLinkSignalStrength">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric sampling the signal strength (0-100) of the wifi
    network when it becomes unreliable (experiencing multiple link failures in a
    short period of time).
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.UserInitiatedConnectionFailureReason"
    enum="ConnectionFailureReason">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the reasons of failed
    user-initiated WiFi connection attempts. The result of the user-initiated
    WiFi connection attempts are being tracked by
    Network.Shill.WiFi.UserInitiatedConnectionResult.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.UserInitiatedConnectionResult"
    enum="ConnectionResult">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the result of
    user-initiated WiFi connection attempts.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.VerifyWakeOnWiFiSettingsResult"
    enum="VerifyWakeOnWiFiSettingsResult">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network diagnostic metric sampling the number of times NIC wake on
    WiFi settings verification succeeds or fails in shill. This metric is
    recorded every time wake on WiFi settings are requested and verified after
    the NIC is programmed with wake on WiFi settings.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.WakeOnWiFiFeaturesEnabledState"
    enum="WakeOnWiFiFeaturesEnabledState">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network usage metric that tracks the wake on WiFi features that
    are enabled in shill. Recorded once every 10 minutes.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.WakeOnWiFiThrottled"
    enum="WakeOnWiFiThrottled">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks whether wake on WiFi was disabled
    during a period of system suspension because of too many dark resume wakes.
    This metric is only recorded for system suspends where wake on WiFi
    functionality has been programmed into the NIC.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.WakeReasonReceivedBeforeOnDarkResume"
    enum="WakeReasonReceivedBeforeOnDarkResume">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks whether a wake reason was received
    during dark resume before executing WakeOnWiFi::OnDarkResume.
  </summary>
</histogram>

<histogram name="Network.Shill.WiFi.WiFiConnectionStatusAfterWake"
    enum="WiFiConnectionStatusAfterWake">
  <owner>samueltan@chromium.org</owner>
  <summary>
    Chrome OS network usage metric that tracks the WiFi connection status after
    waking from suspend, both when wake on WiFi is enabled and disabled.
    Recorded 1 second after waking from suspend.
  </summary>
</histogram>

<histogram name="Network.Shill.Wimax.DevicePresenceStatus"
    enum="BooleanPresent">
  <owner>zqiu@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the presence of a WiMax device in the
    system. A sample is emitted once every 3 minutes.
  </summary>
</histogram>

<histogram name="Network.Shill.Wimax.DHCPOptionFailureDetected"
    enum="NetworkDHCPOptionFailure">
  <obsolete>
    Deprecated 5/2014, and replaced by Network.Shill.DHCPOptionFailureDetected.
  </obsolete>
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network metric that tracks the number of DHCP option failures
    encountered by Shill.  This indicates that Shill is using minimal DHCP
    options due to suspected MTU issues on the return path from the DHCP server
    back to the client.
  </summary>
</histogram>

<histogram name="Network.Shill.Wimax.ExpiredLeaseLengthSeconds" units="seconds">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric that tracks the length of a lease for a
    WiMax network at the time it expired without the DHCP client being able to
    renew it.
  </summary>
</histogram>

<histogram name="Network.Shill.Wimax.TimeToConfig" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to configure Layer 3
    state on a WiMax network (typically acquire a DHCP lease).
  </summary>
</histogram>

<histogram name="Network.Shill.Wimax.TimeToInitialize" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to initialize a WiMax
    device.
  </summary>
</histogram>

<histogram name="Network.Shill.Wimax.TimeToOnline" units="ms">
  <owner>quiche@chromium.org</owner>
  <summary>
    Chrome OS network performance metric sampling the time to determine that a
    WiMax network is online after configuring Layer 3 state.
  </summary>
</histogram>

<histogram name="Network.TimeToConfig.Cellular" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to join a 3G/Cellular
    network and configure Layer 3 state. Note this metric is deprecated; see
    Network.Cellular.TimeToConfig.
  </summary>
</histogram>

<histogram name="Network.TimeToConfig.Ethernet" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to join a wired
    Ethernet network and configure Layer 3 state (typically acquire a DHCP
    lease). Note this metric is deprecated; see Network.Ethernet.TimeToConfig.
  </summary>
</histogram>

<histogram name="Network.TimeToConfig.Wifi" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to configure Layer 3
    state on an 802.11 wireless network (typically acquire a DHCP lease). Note
    this metric is deprecated; see Network.Wifi.TimeToConfig.
  </summary>
</histogram>

<histogram name="Network.TimeToDrop" units="seconds">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network stability metric sampling the time in seconds between the
    networking going online to going offline. Offline events due to device
    shutdown or suspend are ignored (along with the online time before that
    offline event).
  </summary>
</histogram>

<histogram name="Network.TimeToJoin.Wifi" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to join (associate
    plus authenticate) an 802.11 wireless network. Note this metric is
    deprecated; see Network.Wifi.TimeToJoin.
  </summary>
</histogram>

<histogram name="Network.Wifi.AuthMode" enum="NetworkAuthModeType">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to configure Layer 3
    state on an 802.11 wireless network (typically acquire a DHCP lease).
  </summary>
</histogram>

<histogram name="Network.Wifi.BitRate" units="bps">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Network metric reporting the download speed test results run at setup time.
    Recorded at least once per day.
  </summary>
</histogram>

<histogram name="Network.Wifi.Channel" enum="NetworkChannelType">
  <owner>cast-analytics@google.com</owner>
  <summary>
    Chrome OS network usage metric.  The channel used for each successful WiFi
    connection.
  </summary>
</histogram>

<histogram name="Network.Wifi.PhyMode" enum="NetworkPhyModeType">
  <owner>cast-analytics@google.com</owner>
  <summary>
    Chrome OS network usage metric.  The channel type used for each successful
    WiFi connection.
  </summary>
</histogram>

<histogram name="Network.Wifi.RoundTripTime" units="ms">
  <owner>cast-analytics@google.com</owner>
  <summary>
    Network metric reporting the average round trip time to the WiFi gateway.
    Recorded at least once per day.
  </summary>
</histogram>

<histogram name="Network.Wifi.Security" enum="NetworkSecurityType">
  <owner>cast-analytics@google.com</owner>
  <summary>
    Chrome OS network usage metric.  The security setting for each successful
    WiFi connection.
  </summary>
</histogram>

<histogram name="Network.Wifi.TimeOnline" units="seconds">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network metric sampling the time spent using WiFi to transport
    data.  These data are mostly useful when summed and compared to TimeOnline
    for other network technologies (e.g. WiFi vs Cellular).
  </summary>
</histogram>

<histogram name="Network.Wifi.TimeResumeToReady" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time from the resume event
    to the time when an 802.11 wireless network has configured its Layer 3
    state.
  </summary>
</histogram>

<histogram name="Network.Wifi.TimeToConfig" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to configure Layer 3
    state on an 802.11 wireless network (typically acquire a DHCP lease).
  </summary>
</histogram>

<histogram name="Network.Wifi.TimeToJoin" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to join (associate
    plus authenticate) an 802.11 wireless network.
  </summary>
</histogram>

<histogram name="Network.Wifi.TimeToOnline" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to determine that an
    802.11 wireless network is online after configuring Layer 3 state.
  </summary>
</histogram>

<histogram name="Network.Wifi.TimeToPortal" units="ms">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS network performance metric sampling the time to determine that an
    802.11 wireless network is in a captive portal after configuring Layer 3
    state.
  </summary>
</histogram>

<histogram name="Networks.RememberedShared">
  <owner>stevenjb@chromium.org</owner>
  <summary>
    Number of shared remembered (preferred) networks on Chrome OS. Updated any
    time the network list changes.
  </summary>
</histogram>

<histogram name="Networks.RememberedUnshared">
  <owner>stevenjb@chromium.org</owner>
  <summary>
    Number of private remembered (preferred) networks on Chrome OS. Updated any
    time the network list changes.
  </summary>
</histogram>

<histogram name="Networks.Visible">
  <owner>stevenjb@chromium.org</owner>
  <summary>
    Number of visible (in-range) networks on Chrome OS. Updated any time the
    network list changes.
  </summary>
</histogram>

<histogram name="NetworkTimeTracker.ClockDivergence.Negative" units="seconds">
  <owner>estark@chromium.org</owner>
  <owner>mab@chromium.org</owner>
  <summary>
    NetworkTimeTracker observes a tick clock and a wall clock to determine
    whether a timestamp retrieved from the network in the past can be used to
    compute a current timestamp. When the tick clock and wall clock diverge from
    each other, the NetworkTimeTracker must discard the network timestamp
    because it has no way to compute a reliable current timestamp. Whenever the
    NetworkTimeTracker discards a network timestamp due to the tick and wall
    clocks diverging, this histogram records the difference of the tick clock's
    delta minus the wall clock's delta since the network timestamp was
    retrieved. For cases where the the tick clock delta is bigger than the wall
    clock delta, see NetworkTimeTracker.ClockDivergence.Positive.
  </summary>
</histogram>

<histogram name="NetworkTimeTracker.ClockDivergence.Positive" units="seconds">
  <owner>estark@chromium.org</owner>
  <owner>mab@chromium.org</owner>
  <summary>
    NetworkTimeTracker observes a tick clock and a wall clock to determine
    whether a timestamp retrieved from the network in the past can be used to
    compute a current timestamp. When the tick clock and wall clock diverge from
    each other, the NetworkTimeTracker must discard the network timestamp
    because it has no way to compute a reliable current timestamp. Whenever the
    NetworkTimeTracker discards a network timestamp due to the tick and wall
    clocks diverging, this histogram records the difference of the tick clock's
    delta minus the wall clock's delta since the network timestamp was
    retrieved. For cases where the the wall clock delta is bigger than the tick
    clock delta, see NetworkTimeTracker.ClockDivergence.Negative.
  </summary>
</histogram>

<histogram name="NetworkTimeTracker.TimeBetweenFetches" units="ms">
  <owner>estark@chromium.org</owner>
  <owner>mab@chromium.org</owner>
  <summary>
    NetworkTimeTracker makes periodic queries to obtain a secure timestamp over
    the network. This histogram records the delta between each secure timestamp
    and the previous one, to measure how often time queries are made. The first
    time query is not recorded, because there is no previous query from which to
    compute a delta.
  </summary>
</histogram>

<histogram name="NetworkTimeTracker.TimeQueryLatency" units="ms">
  <owner>estark@chromium.org</owner>
  <owner>mab@chromium.org</owner>
  <summary>
    NetworkTimeTracker makes periodic queries to obtain a secure timestamp over
    the network. This histogram records the latency of each time query.
  </summary>
</histogram>

<histogram name="NetworkTimeTracker.UpdateTimeFetchAttempted">
  <obsolete>
    Deprecated 08/2016 because it does not provide additional information beyond
    NetworkTimeTracker.UpdateTimeFetchFailed and
    NetworkTimeTracker.UpdateTimeFetchValid.
  </obsolete>
  <owner>estark@chromium.org</owner>
  <owner>mab@chromium.org</owner>
  <summary>
    NetworkTimeTracker makes periodic queries to obtain a secure timestamp over
    the network. This histogram increments whenever such a query is attempted.
  </summary>
</histogram>

<histogram name="NetworkTimeTracker.UpdateTimeFetchFailed" enum="NetErrorCodes">
  <owner>estark@chromium.org</owner>
  <owner>mab@chromium.org</owner>
  <summary>
    NetworkTimeTracker makes periodic queries to obtain a secure timestamp over
    the network. This histogram records the request's net error code whenever a
    secure timestamp fetch results in a network error or a non-200 HTTP status
    code.
  </summary>
</histogram>

<histogram name="NetworkTimeTracker.UpdateTimeFetchValid" enum="BooleanValid">
  <owner>estark@chromium.org</owner>
  <owner>mab@chromium.org</owner>
  <summary>
    NetworkTimeTracker makes periodic queries to obtain a secure timestamp over
    the network. Whenever one of these requests results in a successful 200
    status code, this histogram records true if the response parsed and
    validated successfully, and false otherwise.
  </summary>
</histogram>

<histogram name="NetworkTimeTracker.WallClockRanBackwards" units="seconds">
  <owner>estark@chromium.org</owner>
  <owner>mab@chromium.org</owner>
  <summary>
    NetworkTimeTracker observes a tick clock and a wall clock to determine
    whether a timestamp retrieved from the network in the past can be used to
    compute a current timestamp. When the NetworkTimeTracker observes that the
    wall clock ran backwards, the NetworkTimeTracker must discard the network
    timestamp because it has no way to compute a reliable current timestamp.
    Whenever the NetworkTimeTracker discards a network timestamp due to the wall
    clock running backwards, this histogram records the magnitude of the
    difference of the current wall clock time minus the wall clock time when the
    network timestamp was retrieved.
  </summary>
</histogram>

<histogram name="NewTabPage.ActionAndroid" enum="NewTabPageActionAndroid">
  <obsolete>
    Deprecated as of 01/2017. Replaced by NewTabPage.ActionAndroid2.
  </obsolete>
  <owner>newt@chromium.org</owner>
  <summary>
    Actions taken by users from the new tab page on Android. These actions may
    navigate away from the NTP (e.g. searching in the omnibox or opening a
    bookmark), but can also happen without navigating away from the NTP (e.g.
    opening a bookmark in a new tab).
  </summary>
</histogram>

<histogram name="NewTabPage.ActionAndroid2" enum="NewTabPageActionAndroid2">
  <owner>finkm@chromium.org</owner>
  <summary>
    Actions taken from the new tab page on Android. These actions may navigate
    away from the NTP (e.g. searching in the omnibox or opening a bookmark), but
    can also happen without navigating away from the NTP (e.g. opening a content
    suggestion in a new tab).
  </summary>
</histogram>

<histogram name="NewTabPage.AnimatedLogoDownloadTime" units="ms">
  <owner>ianwen@chromium.org</owner>
  <summary>
    The amount of time it takes to download the animated logo. Android only.
  </summary>
</histogram>

<histogram name="NewTabPage.AppsPageDragSource" enum="AppsPageDragSource">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Histogram for the source of app page drags. For any succesful drop onto an
    apps pane of the NTP, this logs where the drag originated.
  </summary>
</histogram>

<histogram name="NewTabPage.BookmarkActionAndroid"
    enum="NewTabPageBookmarkActionAndroid">
  <obsolete>
    Deprecated on M33 with the change to native NTP.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Actions taken by users on partner bookmarks (editing / renaming) on the NTP
    on Android.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.ArticleFaviconFetchResult"
    enum="FaviconFetchResult">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: Result of fetching a favicon for an article suggestion on the New
    Tab Page.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.ArticleFaviconFetchTime"
    units="ms">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: Time it takes to fetch a favicon for an article suggestion on the
    New Tab Page.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.BackgroundFetchTrigger"
    enum="BackgroundFetchTrigger">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The type of trigger that caused a background fetch of NTP content
    suggestions from a suggestion server. Every background fetch is recorded.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.CategoryDismissed"
    enum="ContentSuggestionsCategory">
  <owner>treib@chromium.org</owner>
  <summary>
    Android: A category of content suggestions that was dismissed (by swiping
    away its empty state card).
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.CountOnNtpOpened">
  <owner>treib@chromium.org</owner>
  <summary>
    Android: The number of suggestion cards that were available at the time an
    NTP was opened.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.DismissedUnvisited"
    units="index">
  <owner>treib@chromium.org</owner>
  <summary>
    Android: The position of a suggestion card on the NTP that is dismissed,
    typically by swiping it away. The suggestion had a URL that was NOT visited
    before. We track the position the card had in the list when it was first
    seen by the user. This tracked position can be different from the position
    observed by the user, e.g. when the user dismissed some suggestions from the
    list or requested more that got inserted in the middle of the feed.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.DismissedVisited" units="index">
  <owner>treib@chromium.org</owner>
  <summary>
    Android: The position of a suggestion card on the NTP that is dismissed,
    typically by swiping it away. The suggestion had a URL that was visited
    before. We track the position the card had in the list when it was first
    seen by the user. This tracked position can be different from the position
    observed by the user, e.g. when the user dismissed some suggestions from the
    list or requested more that got inserted in the middle of the feed.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.MenuOpened" units="index">
  <owner>treib@chromium.org</owner>
  <summary>
    Android: The position of a suggestion card whose long-press menu was opened,
    analogous to NewTabPage.ContentSuggestions.Opened.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.MenuOpenedAge" units="ms">
  <owner>treib@chromium.org</owner>
  <summary>
    Android: The age of a suggestion card on the NTP whose long-press menu was
    opened, analogous to NewTabPage.ContentSuggestions.OpenedAge.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.MenuOpenedScore" units="score">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.MenuOpenedScoreNormalized.
  </obsolete>
  <owner>treib@chromium.org</owner>
  <summary>
    Android: The relevance score of a suggestion card on the NTP whose
    long-press menu was opened, analogous to
    NewTabPage.ContentSuggestions.OpenedScore.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.MenuOpenedScoreNormalized"
    enum="NormalizedScore">
  <owner>tschumann@chromium.org</owner>
  <summary>
    Android: The relevance score of a suggestion card on the NTP whose
    long-press menu was opened, analogous to
    NewTabPage.ContentSuggestions.OpenedScoreNormalized. Scores (which are
    typically floats within (0,1]) get reported as discrete integers within
    [1,10]. For instance, the discrete value 1 represents score values from
    (0.0, 0.1]. The discrete value 11 is the overflow bucket for unexpectedly
    high scores.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.MoreButtonClicked" units="index">
  <owner>treib@chromium.org</owner>
  <summary>
    Android: The position of a &quot;More&quot; suggestion card that was clicked
    on the NTP. A card is considered shown when at least 1/3 of its height is
    visible on the screen. We track the position the card had in the list when
    it was first seen by the user. This tracked position can be different from
    the position observed by the user, e.g. when the user dismissed some
    suggestions from the list or requested more that got inserted in the middle
    of the feed.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.MoreButtonShown" units="index">
  <owner>treib@chromium.org</owner>
  <summary>
    Android: The position of a &quot;More&quot; suggestion card that was shown
    on the NTP. A card is considered shown when at least 1/3 of its height is
    visible on the screen. For each card, at most one impression is recorded per
    NTP instance. We track the position the card had in the list when it was
    first seen by the user. This tracked position can be different from the
    position observed by the user, e.g. when the user dismissed some suggestions
    from the list or requested more that got inserted in the middle of the feed.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.MovedUpCategoryNewIndex"
    units="index">
  <owner>vitaliii@chromium.org</owner>
  <summary>
    Android: The new index of a category on the NTP after it has been moved up
    due to a click. The index of a category, which has been overtaken, is not
    recorded here. This tracked index can be different from the position
    observed by the user, e.g. empty categories are not shown. This metric
    ignores all other order changes (e.g. dismissing a category or clearing
    history).
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.Notifications.Actions"
    enum="ContentSuggestionsNotificationsAction">
  <owner>sfiera@chromium.org</owner>
  <summary>
    Android: The number of actions taken on displayed notifications, either
    user-initiated (tapping to open or swiping to dismiss), or automatic (hiding
    due to a change in circumstances).
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.Notifications.Impressions"
    enum="ContentSuggestionsNotificationsImpression">
  <owner>sfiera@chromium.org</owner>
  <summary>
    Android: The number of notifications that were shown, keyed by category. One
    bucket counts the server-provided ARTICLES category; the other counts
    everything else.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.Notifications.OptOuts"
    enum="ContentSuggestionsNotificationsOptOut">
  <owner>sfiera@chromium.org</owner>
  <summary>
    Android: The number of times a user opted out, keyed by method: IMPLICIT
    (user ignored enough notifications consecutively that we think they're not
    interested), or EXPLICIT (via explicit setting).
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.OpenDisposition"
    enum="WindowOpenDisposition">
  <owner>treib@chromium.org</owner>
  <summary>
    Android: How an article linked from a suggestion card on the NTP was opened
    (e.g. plain click, open in new tab, open in incognito).
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.Opened" units="index">
  <owner>treib@chromium.org</owner>
  <summary>
    Android: The position of the suggestion card on the NTP, that is clicked
    through to the host website of the content. We track the position the card
    had in the list when it was first seen by the user. This tracked position
    can be different from the position observed by the user, e.g. when the user
    dismissed some suggestions from the list or requested more that got inserted
    in the middle of the feed.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.OpenedAge" units="ms">
  <owner>treib@chromium.org</owner>
  <summary>
    Android: The age of a suggestion card on the NTP that is clicked through to
    the host website of the content. The age is measured from the moment the
    content has been published.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.OpenedCategoryIndex"
    units="index">
  <owner>vitaliii@chromium.org</owner>
  <summary>
    Android: The index of a category on the NTP, whose suggestion card is
    clicked through to the host website of the content. This tracked index can
    be different from the position observed by the user, e.g. for the user a
    category may be at the top of the NTP, but with index 1, because they
    dismissed the one that was previously at the top.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.OpenedScore" units="score">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.OpenedScoreNormalized.
  </obsolete>
  <owner>treib@chromium.org</owner>
  <summary>
    Android: The score of a suggestion card on the NTP that is clicked through
    to the host website of the content. The recorded score is from the moment
    the suggestion was fetched, it could have changed since.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.OpenedScoreNormalized"
    enum="NormalizedScore">
  <owner>tschumann@chromium.org</owner>
  <summary>
    Android: The score of a suggestion card on the NTP that is clicked through
    to the host website of the content. The recorded score is from the moment
    the suggestion was fetched, it could have changed since. Scores (which are
    typically floats within (0,1]) get reported as discrete integers within
    [1,10]. For instance, the discrete value 1 represents score values from
    (0.0, 0.1]. The discrete value 11 is the overflow bucket for unexpectedly
    high scores.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.Preferences.RemoteSuggestions"
    enum="BooleanEnabled">
  <owner>dgn@chromium.org</owner>
  <owner>finkm@chromium.org</owner>
  <summary>
    Whether content suggestions from the remote service are enabled. It is
    recored at startup. Note: This histogram is not specific to the New Tab
    Page.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.Shown" units="index">
  <owner>treib@chromium.org</owner>
  <summary>
    Android: The position of a suggestion card that was shown on the NTP. A card
    is considered shown when at least 1/3 of its height is visible on the
    screen. For each card, at most one impression is recorded per NTP instance.
    We track the position the card had in the list when it was first seen by the
    user. This tracked position can be different from the position observed by
    the user, e.g. when the user dismissed some suggestions from the list or
    requested more that got inserted in the middle of the feed.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.ShownAge" units="ms">
  <owner>treib@chromium.org</owner>
  <summary>
    Android: The age of a suggestion card that was shown on the NTP. A card is
    considered shown when at least 1/3 of its height is visible on the screen.
    For each card, at most one impression is recorded per NTP instance.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.ShownScore" units="score">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.ShownScoreNormalized.
  </obsolete>
  <owner>treib@chromium.org</owner>
  <summary>
    Android: The score of a suggestion card that was shown on the NTP. A card is
    considered shown when at least 1/3 of its height is visible on the screen.
    For each card, at most one impression is recorded per NTP instance.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.ShownScoreNormalized"
    enum="NormalizedScore">
  <owner>tschumann@chromium.org</owner>
  <summary>
    Android: The score of a suggestion card that was shown on the NTP. A card is
    considered shown when at least 1/3 of its height is visible on the screen.
    For each card, at most one impression is recorded per NTP instance. Scores
    (which are typically floats within (0,1]) get reported as discrete integers
    within [1,10]. For instance, the discrete value 1 represents score values
    from (0.0, 0.1]. The discrete value 11 is the overflow bucket for
    unexpectedly high scores.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.TimeSinceLastBackgroundFetch"
    units="ms">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.TimeSinceSuggestionFetched.
  </obsolete>
  <owner>markusheintz@chromium.org</owner>
  <summary>
    Android: The time since the last successful background fetch of remote
    content suggestions. Recorded when the user looks at content suggestions on
    the NTP.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.TimeSinceSuggestionFetched"
    units="ms">
  <owner>markusheintz@chromium.org</owner>
  <summary>
    Android: The time since the displayed content suggestions was fetched.
    Recorded when the user looks at content suggestions on the NTP. The metric
    is only recorded for suggestions of the Articles for you section.
  </summary>
</histogram>

<histogram base="true"
    name="NewTabPage.ContentSuggestions.TimeUntilFirstSoftTrigger" units="ms">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The time since the last fetch, recorded upon the first soft fetch
    trigger. The first soft trigger does not necessarily cause a fetch (if it
    comes before the end of the respective scheduling interval). This metric is
    recorded at most once (per lifetime of a Chrome instance) after each fetch.
    This is used to understand how changing scheduling intervals will impact
    traffic of background fetches.
  </summary>
</histogram>

<histogram base="true"
    name="NewTabPage.ContentSuggestions.TimeUntilPersistentFetch" units="ms">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The time since the last fetch, recorded upon a persistent fetch.
    This is used to understand what are the real persistent fetching intervals
    in the wild.
  </summary>
</histogram>

<histogram base="true" name="NewTabPage.ContentSuggestions.TimeUntilSoftFetch"
    units="ms">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The time since the last fetch, recorded upon a soft fetch. This is
    used to understand what are the real soft fetching intervals in the wild.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.UIUpdateResult"
    enum="ContentSuggestionsUIUpdateResult">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.UIUpdateResult2 in January 2017.
  </obsolete>
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The result of updating the list of content suggestions in the UI.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.UIUpdateResult2"
    enum="ContentSuggestionsUIUpdateResult2">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The result of updating the list of content suggestions in one UI
    section.
  </summary>
</histogram>

<histogram
    name="NewTabPage.ContentSuggestions.UIUpdateSuccessNumberOfSuggestionsSeen"
    units="suggestions">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The number of content suggestions that have been seen by the user
    in the UI section before the section was successfully updated. The seen
    suggestions were not removed in the update so that we do not change visible
    parts of the UI. This histogram is only recorded when the UIUpdateResult2 is
    &quot;Success (some suggestions replaced)&quot;.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.UsageTimeLocal">
  <owner>markusheintz@chromium.org</owner>
  <summary>
    Android: The time of day (in the local timezone) when the user used content
    suggestions. Recorded for example when the user scrolls to the articles
    suggestions or opens an article suggestions.
  </summary>
</histogram>

<histogram name="NewTabPage.ContentSuggestions.VisitDuration" units="ms">
  <owner>treib@chromium.org</owner>
  <summary>
    Android: Time spent reading the page linked by an opened suggestion card.
    Exit conditions include the tab not being in the foreground or starting a
    new navigation.
  </summary>
</histogram>

<histogram name="NewTabPage.DefaultPageType" enum="NtpPaneType">
  <obsolete>
    Deprecated 2016-02.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The default pane when the NTP is first opened.</summary>
</histogram>

<histogram name="NewTabPage.HoverTimeClicked">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Histogram of the time, in milliseconds, users have the cursor over a most
    visited thumbnail before clicking.
  </summary>
</histogram>

<histogram name="NewTabPage.HoverTimeNotClicked">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Histogram of the time, in milliseconds, users have the cursor over a most
    visited thumbnail before moving it away from the thumbnail without clicking.
  </summary>
</histogram>

<histogram name="NewTabPage.IconsColor">
  <obsolete>
    Deprecated 2017-04, replaced by NewTabPage.TileType and
    NewTabPage.SuggestionsImpression.IconsColor.
  </obsolete>
  <owner>newt@chromium.org</owner>
  <summary>
    The number of most visited tiles on the new tab page that are displayed
    using a fallback color (as opposed to having an icon, or simply being gray).
    Android only.
  </summary>
</histogram>

<histogram name="NewTabPage.IconsGray">
  <obsolete>
    Deprecated 2017-04, replaced by NewTabPage.TileType and
    NewTabPage.SuggestionsImpression.IconsGray.
  </obsolete>
  <owner>newt@chromium.org</owner>
  <summary>
    The number of most visited tiles on the new tab page that are displayed as
    gray (as opposed to having an icon, or a fallback color). Android only.
  </summary>
</histogram>

<histogram name="NewTabPage.IconsReal">
  <obsolete>
    Deprecated 2017-04, replaced by NewTabPage.TileType and
    NewTabPage.SuggestionsImpression.IconsReal.
  </obsolete>
  <owner>newt@chromium.org</owner>
  <summary>
    The number of most visited tiles on the new tab page that are displayed with
    the site's icon (as opposed using a fallback color or just gray). Android
    only.
  </summary>
</histogram>

<histogram name="NewTabPage.Interests.ImageDownloadSuccess"
    enum="BooleanSuccess">
  <owner>knn@chromium.org</owner>
  <summary>
    Android: Whether an attempt to download the image for an interest was
    successful.
  </summary>
</histogram>

<histogram name="NewTabPage.Interests.InterestsFetchSuccess"
    enum="BooleanSuccess">
  <owner>knn@chromium.org</owner>
  <summary>
    Android: Whether an attempt to fetch the interests for a user was
    successful.
  </summary>
</histogram>

<histogram name="NewTabPage.Interests.NumInterests" units="interests">
  <owner>knn@chromium.org</owner>
  <summary>
    Android: The number of interests fetched for a user to display on the NTP.
  </summary>
</histogram>

<histogram name="NewTabPage.Languages.UILanguageRatioInTwoTopLanguages"
    units="%">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: Percentage of how much in browsing is the UI language of Chrome
    used compared to overall use of the two top languages that are reported to
    Chrome content suggestion server.
  </summary>
</histogram>

<histogram name="NewTabPage.Layout" enum="NTPLayout">
  <owner>peconn@chromium.org</owner>
  <summary>
    Android: A histogram detailing how the NewTabPageLayout is laid out on the
    device (eg, whether it fits fully above the fold or not). This is logged
    once per NewTabPageLayout creation (so once per NTP).
  </summary>
</histogram>

<histogram name="NewTabPage.LoadTime" units="ms">
  <owner>fserb@chromium.org</owner>
  <summary>
    Histogram of the time, in milliseconds, it took for the NTP to load all of
    its tiles since navigation start.
  </summary>
</histogram>

<histogram name="NewTabPage.LoadType" enum="NTPLoadType">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>
    Android: the type of load for the NTP, such as cold or warm start. It's a
    warm start if the native library is already loaded and initialized at the
    time the activity is created. This might happen if for example a service was
    already running.
  </summary>
</histogram>

<histogram name="NewTabPage.LogoClick" enum="NewTabPageLogoClick">
  <owner>ianwen@chromium.org</owner>
  <summary>
    Histogram tracking how many users click on the static logo or animated logo
    on NTP. Android and iOS only.
  </summary>
</histogram>

<histogram name="NewTabPage.LogoDownloadOutcome"
    enum="NewTabPageLogoDownloadOutcome">
  <owner>ianwen@chromium.org</owner>
  <summary>
    Outcome of downloading search provider's logos. It measures whether
    download/parsing is successful, revalidation and parsing work properly, etc.
    Android and iOS only.
  </summary>
</histogram>

<histogram name="NewTabPage.LogoDownloadTime" units="ms">
  <owner>ianwen@chromium.org</owner>
  <summary>
    The amount of time it took to download the static logo. This includes
    requests where there was no logo, or where an existing logo was revalidated
    (so no new image data was downloaded), but it does not include failed
    requests. Android and iOS only.
  </summary>
</histogram>

<histogram name="NewTabPage.LogoImageDownloaded" enum="BooleanFromHTTPCache">
  <owner>treib@chromium.org</owner>
  <summary>
    A logo image (static or CTA) was downloaded. Recorded only when the image
    was downloaded and decoded without errors.
  </summary>
</histogram>

<histogram name="NewTabPage.LogoShown" enum="NewTabPageLogoShown">
  <owner>ianwen@chromium.org</owner>
  <summary>
    The number of static logos and animated logos shown to users. Android and
    iOS only.
  </summary>
</histogram>

<histogram name="NewTabPage.LogoShownTime" units="ms">
  <owner>treib@chromium.org</owner>
  <summary>
    The amount of time between opening an NTP and the logo appearing. Only
    recorded when there is a logo, and only recorded once per NTP. Android only.
  </summary>
</histogram>

<histogram name="NewTabPage.MobileIsUserOnline" enum="Boolean">
  <owner>fserb@chromium.org</owner>
  <owner>zmin@chromium.org</owner>
  <summary>
    Record the network status when a new tab page is opened. True if user is
    online and false for offline.
  </summary>
</histogram>

<histogram name="NewTabPage.MobilePromo" enum="NewTabPageMobilePromo">
  <obsolete>
    Deprecated on M33 with the change to native NTP.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Android: Tallies counts for how the user interacted with the NTP promo page.
  </summary>
</histogram>

<histogram name="NewTabPage.MostVisited" enum="MostVisitedTileIndex">
  <owner>beaudoin@chromium.org</owner>
  <owner>justincohen@chromium.org</owner>
  <owner>newt@chromium.org</owner>
  <summary>
    Histogram for user clicks of the most visited tile. The value is equal to
    the index of the tile.
  </summary>
</histogram>

<histogram name="NewTabPage.MostVisitedAction" enum="NtpFollowAction">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>beaudoin@chromium.org</owner>
  <owner>justincohen@chromium.org</owner>
  <owner>newt@chromium.org</owner>
  <summary>
    Action taken by the user on the Most Visited NTP pane.  If the user switches
    panes during this use of the NTP, this action is sometimes not recorded. Ask
    mpearson@ for details.
  </summary>
</histogram>

<histogram name="NewTabPage.MostVisitedScheme" enum="NtpMostVisitedScheme">
  <obsolete>
    Deprecated 2016-05.
  </obsolete>
  <owner>treib@chromium.org</owner>
  <summary>
    The schemes of URLs of most visited thumbnails that the user clicked on.
  </summary>
</histogram>

<histogram name="NewTabPage.MostVisitedTilePlacementExperiment"
    enum="NtpTileExperimentActions">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>beaudoin@chromium.org</owner>
  <owner>justincohen@chromium.org</owner>
  <owner>newt@chromium.org</owner>
  <summary>
    Records anomalous events for the Most Visited Tile Placement experiment,
    where it is unable to operate as expected. These are recorded during New Tab
    Page load time, once for every NTP.
  </summary>
</histogram>

<histogram name="NewTabPage.MostVisitedTime" units="ms">
  <owner>treib@chromium.org</owner>
  <summary>
    The time from the New Tab page being shown until the user to clicked on a
    most visited tile. Only recorded if the user clicked on a tile, as opposed
    to e.g. searching via the omnibox. Only measured on Android.
  </summary>
</histogram>

<histogram name="NewTabPage.NonVisibleScreenshots">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of screenshots that were cached for the non-visible but ranked
    suggestions on the Suggested NTP pane.
  </summary>
</histogram>

<histogram name="NewTabPage.NonVisibleSuggestedSiteRank">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Given that the user has typed a URL, and given that that specific URL was
    ranked but not visible on the Suggested pane of the NTP, this is the rank
    that the Suggested pane had for that URL.
  </summary>
</histogram>

<histogram name="NewTabPage.NumberOfExternalTileFallbacks">
  <obsolete>
    Deprecated 2016-07.
  </obsolete>
  <owner>beaudoin@chromium.org</owner>
  <summary>
    The number of tiles for which we relied on external tiles as a fallback
    because a local screenshot was not available to be used as a thumbnail.
    External tiles are those for which the visuals are handled by the page
    itself, not by the iframe. 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.NumberOfExternalTiles">
  <obsolete>
    Deprecated 2016-07.
  </obsolete>
  <owner>beaudoin@chromium.org</owner>
  <summary>
    The number of external tiles that are displayed on the NTP. External tiles
    are those for which the visuals are handled by the page itself, not by the
    iframe. 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.NumberOfGrayTileFallbacks">
  <obsolete>
    Deprecated 2016-07.
  </obsolete>
  <owner>beaudoin@chromium.org</owner>
  <summary>
    The number of tiles for which we displayed a gray tile with the domain name
    as a fallback because a local screenshot was not available to be used as a
    thumbnail. 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.NumberOfGrayTiles">
  <obsolete>
    Deprecated 2016-07.
  </obsolete>
  <owner>beaudoin@chromium.org</owner>
  <summary>
    The number of tiles for which no thumbnail was specified, but a domain was
    so we displayed a gray tile with the domain name in it. 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.NumberOfMouseOvers">
  <obsolete>
    Deprecated 2016-07.
  </obsolete>
  <owner>beaudoin@chromium.org</owner>
  <summary>
    The total number of times the user hovered the mouse over Most Visited tile
    or title elements before changing focus away from the NTP, be it by
    navigating to a URL, switching tabs, changing the active window or closing
    the tab/shutting down Chrome.
  </summary>
</histogram>

<histogram name="NewTabPage.NumberOfThumbnailAttempts">
  <obsolete>
    Deprecated 01/2014. Replaced by NewTabPage.NumberOfThumbnailTiles.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of tiles for which we attempted to use a local screenshot as a
    thumbnail. 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.NumberOfThumbnailErrors">
  <obsolete>
    Deprecated 2016-07.
  </obsolete>
  <owner>beaudoin@chromium.org</owner>
  <summary>
    The number of thumbnails for which a local screenshot was not available so
    we were not able to display them on the Most Visited section of the NTP.
    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.NumberOfThumbnailTiles">
  <obsolete>
    Deprecated 2016-07.
  </obsolete>
  <owner>beaudoin@chromium.org</owner>
  <summary>
    The number of tiles for which we attempted to use a local screenshot as a
    thumbnail. 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">
  <owner>beaudoin@chromium.org</owner>
  <summary>
    The number of tiles that are displayed on the NTP, no matter if they are
    thumbnails, gray tiles, or external tiles. 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.OfflineUrlsLoadTime" units="ms">
  <owner>dewittj@chromium.org</owner>
  <summary>
    The amount of time spent waiting for the offline page model to return which
    New Tab Page URLs are available offline.
  </summary>
</histogram>

<histogram name="NewTabPage.OtherSessionsMenu" enum="OtherSessionsActions">
  <obsolete>
    Deprecated 05/2015. Feature was removed.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Histogram for usage of the menu on the NTP that allows the user to access
    tabs from other devices.
  </summary>
</histogram>

<histogram name="NewTabPage.PreviousSelectedPageType" enum="NtpPaneType">
  <obsolete>
    Deprecated 2016-02.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The pane that had been previously selected when the user switches panes in
    the NTP.
  </summary>
</histogram>

<histogram name="NewTabPage.Promo.Bubble" enum="NtpPromoAction">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Histogram for NTP bubble promo activity.</summary>
</histogram>

<histogram name="NewTabPage.Promo.Notification" enum="NtpPromoAction">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Histogram for NTP notification promo activity.</summary>
</histogram>

<histogram name="NewTabPage.RecentTabsPage.TimeVisibleAndroid" units="ms">
  <owner>pkotwicz@chromium.org</owner>
  <summary>
    Records the amount of time that the &quot;Recent Tabs&quot; page is visible
    and Chrome is in the foreground on Android. The metric is recorded whenever
    the &quot;Recent Tabs&quot; page moves out of the foreground. The metric is
    recorded when the &quot;Recent Tabs&quot; page is closed, when the user
    switches from the &quot;Recent Tabs&quot; page to a different tab and when
    Chrome is backgrounded.
  </summary>
</histogram>

<histogram name="NewTabPage.RequestThrottler.PerDay" units="requests">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Records how many background requests of the given type the browser tried to
    perform each day where the type is specified by the _suffix of the
    histogram. The histogram is emitted only after midnight of the given day
    passes - right before the first following request (which can be several days
    later if the user does not use Chrome in the meantime). The histogram counts
    requests with both QUOTA_GRANTED and QUOTA_EXCEEDED status, i.e. the count
    can easily exceed the daily quota.
  </summary>
</histogram>

<histogram name="NewTabPage.RequestThrottler.PerDayInteractive"
    units="requests">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Records how many interactive requests of the given type the browser tried to
    perform each day where the type is specified by the _suffix of the
    histogram. The histogram is emitted only after midnight of the given day
    passes - right before the first following request (which can be several days
    later if the user does not use Chrome in the meantime). The histogram counts
    requests with both QUOTA_GRANTED and QUOTA_EXCEEDED status, i.e. the count
    can easily exceed the daily quota.
  </summary>
</histogram>

<histogram name="NewTabPage.RequestThrottler.RequestStatus"
    enum="NtpRequestThrottlerStatus">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Records the status w.r.t. the quota for all requests of the given type. The
    type of request is specified by the _suffix of the histogram.
  </summary>
</histogram>

<histogram name="NewTabPage.SearchAvailableLoadTime.ColdStart" units="ms">
  <obsolete>
    Deprecated February 2017.
  </obsolete>
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>
    The time until the search box became available on the NTP in a cold start.
    It's a cold start if the native library is not already loaded and
    initialized at the time the activity is created. Only measured on Android.
  </summary>
</histogram>

<histogram name="NewTabPage.SearchAvailableLoadTime.WarmStart" units="ms">
  <obsolete>
    Deprecated February 2017.
  </obsolete>
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>
    The time until the search box became available on the NTP in a warm start.
    It's a warm start if the native library is already loaded and initialized at
    the time the activity is created. This might happen if for example a service
    was already running. Only measured on Android.
  </summary>
</histogram>

<histogram name="NewTabPage.SearchAvailableLoadTime2.ColdStart" units="ms">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>
    The time until the search box became available on the NTP in a cold start.
    It's a cold start if the native library is not already loaded and
    initialized at the time the activity is created. Only measured on Android.
  </summary>
</histogram>

<histogram name="NewTabPage.SearchAvailableLoadTime2.WarmStart" units="ms">
  <owner>mvanouwerkerk@chromium.org</owner>
  <summary>
    The time until the search box became available on the NTP in a warm start.
    It's a warm start if the native library is already loaded and initialized at
    the time the activity is created. This might happen if for example a service
    was already running. Only measured on Android.
  </summary>
</histogram>

<histogram name="NewTabPage.SearchURLs.Total">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>TBD.</summary>
</histogram>

<histogram name="NewTabPage.SelectedPageType" enum="NtpPaneType">
  <obsolete>
    Deprecated 2016-02.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The pane selected when the user switches panes in the NTP.</summary>
</histogram>

<histogram name="NewTabPage.SessionRestore">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Histogram for user clicks of the Recently Closed items. The value is the
    recency of the entry being restored (0 is most recent).
  </summary>
</histogram>

<histogram name="NewTabPage.SingleSessionPageSwitches">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Histogram to track how many times a user switched pages in a single NTP
    session.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.CardClicked">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.Opened.
  </obsolete>
  <owner>knn@chromium.org</owner>
  <summary>
    Android: The position of the snippets card on the NTP, that is clicked
    through to the host website of the content. We track the position the
    snippet had in the list when NTP was loaded. This tracked position is thus
    different from the position observed by the user whenever before scrolling
    down to the given snippet, the user discards some snippets in the top of the
    list.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.CardClickedAge" units="ms">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.OpenedAge.
  </obsolete>
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The age of the snippets card on the NTP, that is clicked through to
    the host website of the content. The age is measured from the moment the
    content has been published. In each &quot;_x_y&quot; suffix of the
    histogram, only snippets on positions \gt;=x and \lt;=y are tracked. We
    track the position the snippet had in the list when NTP was loaded. This
    tracked position is thus different from the position observed by the user
    whenever before scrolling down to the given snippet, the user discards some
    snippets in the top of the list.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.CardClickedScore" units="score">
  <obsolete>
    Deprecated as of 6/2016
  </obsolete>
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The score of the snippets card on the NTP, that is clicked through
    to the host website of the content. The recorded score is from the moment
    the snippet was fetched, it could have changed since. In each &quot;_x&quot;
    suffix  of the histogram, only snippets on positions \lt;=x are tracked. We
    track the position the snippet had in the list when NTP was loaded. This
    tracked position is thus different from the position observed by the user
    whenever before scrolling down to the given snippet, the user discards some
    snippets in the top of the list.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.CardClickedScoreNew" units="score">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.OpenedScore.
  </obsolete>
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The score of the snippets card on the NTP, that is clicked through
    to the host website of the content. The recorded score is from the moment
    the snippet was fetched, it could have changed since. In each &quot;_x&quot;
    suffix  of the histogram, only snippets on positions \lt;=x are tracked. We
    track the position the snippet had in the list when NTP was loaded. This
    tracked position is thus different from the position observed by the user
    whenever before scrolling down to the given snippet, the user discards some
    snippets in the top of the list. In contrast to CardClickedScore, this
    histogram has a proper maximal value of 100 000.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.CardExpanded">
  <obsolete>
    Deprecated as of 4/2016
  </obsolete>
  <owner>knn@chromium.org</owner>
  <summary>
    Android: The position of the snippets card on the NTP, that is expanded to
    reveal more content.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.CardHidden">
  <obsolete>
    Deprecated as of 4/2016
  </obsolete>
  <owner>knn@chromium.org</owner>
  <summary>
    Android: The position of the snippets card on the NTP, for which the
    expanded content was minimized/hidden.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.CardLongPressed" units="index">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.MenuOpened.
  </obsolete>
  <owner>peconn@chromium.org</owner>
  <summary>
    Android: The position of a snippet card when it is long pressed, analagous
    to NewTabPage.Snippets.CardClicked.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.CardLongPressedAge" units="ms">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.MenuOpenedAge.
  </obsolete>
  <owner>peconn@chromium.org</owner>
  <summary>
    Android: The time difference between when a snippet card is long pressed and
    when its content was published. Analagous to
    NewTabPage.Snippets.CardClickedAge.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.CardLongPressedScoreNew" units="score">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.MenuOpenedScore.
  </obsolete>
  <owner>peconn@chromium.org</owner>
  <summary>
    Android: The relevance score of an interest card that is long pressed,
    analagous to NewTabPage.Snippets.CardClickedScoreNew.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.CardShown">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.Shown.
  </obsolete>
  <owner>knn@chromium.org</owner>
  <summary>
    Android: The position of the snippets card that is shown on the NTP. Each
    snippet (its position) is recorded whenever at least 1/3 of its height
    becomes visible by scrolling through the NTP. Each snippet is recorded at
    most once for a given instance of NTP and a given data set of snippets that
    is shown. We track the position the snippet had in the list when NTP was
    loaded. This tracked position is thus different from the position observed
    by the user whenever before scrolling down to the given snippet, the user
    discards some snippets in the top of the list. Previously (in the code
    before 2016/05/27), this histogram was recorded each time a snippet became
    visible (e.g. by scrolling up and down) at least by 1px; the first snippet
    was thus recorded even without scrolling down.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.CardShownAge" units="ms">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.ShownAge.
  </obsolete>
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The age of the snippets card that is shown on the NTP. Each snippet
    (its age) is recorded whenever at least 1/3 of its height becomes visible by
    scrolling through the NTP. Each snippet is recorded at most once for a given
    instance of NTP and a given data set of snippets that is shown. The age is
    measured from the moment the content has been published. In each
    &quot;_x_y&quot; suffix of the histogram, only snippets on positions \gt;=x
    and \lt;=y are tracked. By this, we mean the position the snippet had in the
    list when NTP was loaded. This tracked position is thus different from the
    position observed by the user whenever before scrolling down to the given
    snippet, the user discards some snippets in the top of the list.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.CardShownScore" units="score">
  <obsolete>
    Deprecated as of 6/2016
  </obsolete>
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The score of the snippets card that is shown on the NTP. Each
    snippet (its score) is recorded whenever at least 1/3 of its height becomes
    visible by scrolling through the NTP. Each snippet is recorded at most once
    for a given instance of NTP and a given data set of snippets that is shown.
    The recorded score is from the moment the snippet was fetched, it could have
    changed since. In each &quot;_x&quot; suffix  of the histogram, only
    snippets on positions \lt;=x are tracked. By this, we mean the position the
    snippet had in the list when NTP was loaded. This tracked position is thus
    different from the position observed by the user whenever before scrolling
    down to the given snippet, the user discards some snippets in the top of the
    list.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.CardShownScoreNew" units="score">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.ShownScore.
  </obsolete>
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The score of the snippets card that is shown on the NTP. Each
    snippet (its score) is recorded whenever at least 1/3 of its height becomes
    visible by scrolling through the NTP. Each snippet is recorded at most once
    for a given instance of NTP and a given data set of snippets that is shown.
    The recorded score is from the moment the snippet was fetched, it could have
    changed since. In each &quot;_x&quot; suffix  of the histogram, only
    snippets on positions \lt;=x are tracked. By this, we mean the position the
    snippet had in the list when NTP was loaded. This tracked position is thus
    different from the position observed by the user whenever before scrolling
    down to the given snippet, the user discards some snippets in the top of the
    list. In contrast to CardShownScore, this histogram has a proper maximal
    value of 100 000.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.DatabaseLoadTime" units="ms">
  <owner>treib@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">
  <owner>knn@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">
  <owner>mastiz@chromium.org</owner>
  <summary>
    Response or error codes encountered when attempting to fetch snippets.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.FetchResult" enum="NtpSnippetsFetchResult">
  <owner>mastiz@chromium.org</owner>
  <summary>
    Result of attempting a fetch, logged once per issued trigger.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.FetchTime" units="ms">
  <owner>mastiz@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">
  <owner>finkm@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">
  <owner>finkm@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">
  <owner>maybelle@chromium.org</owner>
  <summary>
    Whether we discarded any of the snippets after fetching them due to having
    incomplete metadata.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.Interactions" enum="SnippetsInteractions">
  <obsolete>
    Removed 2016-10.
  </obsolete>
  <owner>knn@chromium.org</owner>
  <summary>
    Android: A histogram giving an overall summary of important events like
    impressions, scroll events, clicks etc.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.NumArticles" units="articles">
  <owner>knn@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">
  <owner>mastiz@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.NumArticlesOnScrolledBelowTheFoldOnce"
    units="articles">
  <obsolete>
    Removed 2016-10.
  </obsolete>
  <owner>mastiz@chromium.org</owner>
  <summary>
    Android: The number of snippet articles available to the user in the UI,
    logged when the user scrolls below the fold (at max once per NTP load).
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.NumArticlesZeroDueToDiscarded"
    units="articles">
  <owner>mastiz@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">
  <owner>maybelle@chromium.org</owner>
  <summary>
    The number of snippets that we discard per fetch due to having incomplete
    data.
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.OpenMethod" enum="SnippetOpenMethod">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.OpenDisposition.
  </obsolete>
  <owner>peconn@chromium.org</owner>
  <summary>
    Android: A histogram detailing how the articles linked from snippets are
    opened (eg, plain click, open in new tab, open in incognito).
  </summary>
</histogram>

<histogram name="NewTabPage.Snippets.VisitDuration" units="ms">
  <obsolete>
    Replaced by NewTabPage.ContentSuggestions.VisitDuration.
  </obsolete>
  <owner>mastiz@chromium.org</owner>
  <summary>
    Android: Time spent reading the page linked by an opened (clicked) snippet
    card. Exit conditions include the tab not being in the foreground or
    starting a new navigation.
  </summary>
</histogram>

<histogram name="NewTabPage.SuggestedSite">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Histogram for user clicks of the suggested site thumbnails. The value is
    equal to the index of the thumbnail.
  </summary>
</histogram>

<histogram name="NewTabPage.SuggestedSitesAction" enum="NtpFollowAction">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Action taken by the user on the Suggested Sites NTP pane.</summary>
</histogram>

<histogram name="NewTabPage.SuggestedSitesLoadTime">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Time to load the Suggested Sites NTP pane, in milliseconds.</summary>
</histogram>

<histogram name="NewTabPage.SuggestedSitesViewTime">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Time spent on the Suggested Sites NTP pane, in seconds.</summary>
</histogram>

<histogram name="NewTabPage.SuggestionsImpression" enum="MostVisitedTileIndex">
  <owner>beaudoin@chromium.org</owner>
  <summary>
    Histogram for impressions on the various most visited tiles. The value is
    equal to the index of the thumbnail.
  </summary>
</histogram>

<histogram name="NewTabPage.SuggestionsType" enum="NtpSuggestionsType">
  <obsolete>
    Deprecated 2016-07.
  </obsolete>
  <owner>beaudoin@chromium.org</owner>
  <summary>
    Indicate, for each impression of the New Tab Page, whether the suggestions
    were obtained from the client or server. Recorded before changing focus away
    from the NTP, be it by navigating to a URL, switching tabs, changing the
    active window or closing the tab/shutting down Chrome.
  </summary>
</histogram>

<histogram name="NewTabPage.ThumbnailErrorRate">
  <obsolete>
    Deprecated 01/2014. Replaced by NewTabPage.NumberOfThumbnailAttempts and
    NewTabPage.NumberOfThumbnailErrors.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The percentage of errors per attempts to load image thumbnails on the New
    Tab Page. When an error occurs, a grey tile is shown instead of a thumbnail
    image. We measure the rate instead of the number of errors because multiple
    attempts are made to load images at different times during the NTP's
    lifetime. Each NTP session's error rate is logged after the user navigates
    to a new URL from that NTP.
  </summary>
</histogram>

<histogram name="NewTabPage.ThumbnailFallbackRate" units="%">
  <obsolete>
    Deprecated 01/2014. Replaced by NewTabPage.NumberOfGrayTileFallbacks and
    NewTabPage.NumberOfExternalFallbacks.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The percentage of times most visited tiles use the fallback thumbnail. Only
    requests that actually specify a fallback thumbnail are considered here. We
    measure the rate instead of the number of errors because multiple attempts
    are made to load thumbnails at different times during the NTP's lifetime.
    Each NTP session's error rate is logged after the user navigates to a new
    URL from that NTP.
  </summary>
</histogram>

<histogram name="NewTabPage.TileOfflineAvailable" enum="MostVisitedTileIndex">
  <owner>treib@chromium.org</owner>
  <summary>
    The number of times a tile was available offline, per tile index - compare
    to the NewTabPage.SuggestionsImpression.* histograms. This is recorded when
    the NTP finishes loading. Only measured on Android.
  </summary>
</histogram>

<histogram name="NewTabPage.TilesReceivedTime" units="ms">
  <owner>treib@chromium.org</owner>
  <summary>
    Histogram of the time, in milliseconds since navigation start, it took for
    the NTP most visited iframe to receive the data for all of its tiles. This
    does not include actually loading the DOM elements for the tiles, in
    particular the thumbnail images; see NewTabPage.LoadTime for that.
  </summary>
</histogram>

<histogram name="NewTabPage.TileType" enum="NTPTileVisualType">
  <owner>mastiz@chromium.org</owner>
  <summary>
    The visual type of each most visited tile displayed on the new tab page,
    e.g. actual thumbnail or placeholder thumbnail. This is recorded for each
    most visited item when the NTP is opened.
  </summary>
</histogram>

<histogram name="NewTabPage.TileTypeClicked" enum="NTPTileVisualType">
  <owner>mastiz@chromium.org</owner>
  <summary>
    The visual type of the most visited item that the user clicked on, e.g.
    actual thumbnail or placeholder thumbnail.
  </summary>
</histogram>

<histogram name="NewTabPage.TimeSpent" units="ms">
  <owner>knn@chromium.org</owner>
  <summary>
    The time spent on the new tab page as measured from when it was loaded or
    last brought to the foreground until it was navigated away from or hidden.
    Only measured on Android.
  </summary>
</histogram>

<histogram name="NewTabPage.URLState" enum="NewTabURLState">
  <owner>beaudoin@chromium.org</owner>
  <summary>
    Records the status of the New Tab page URL when an NTP is opened.
  </summary>
</histogram>

<histogram name="NewTabPage.UserClassifier.AverageHoursToOpenNTP" units="hours">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The estimated average number of hours between two successive times
    when a new tab page is opened. Recorded after each opening of a NTP (and
    after updating the model used for the estimate).
  </summary>
</histogram>

<histogram name="NewTabPage.UserClassifier.AverageHoursToShowSuggestions"
    units="hours">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The estimated average number of hours between two successive times
    when the list of content suggestions on a new tab page is shown (i.e. when
    the user scrolls below the fold). Recorded after each time the suggestions
    are shown (and after updating the model used for the estimate).
  </summary>
</histogram>

<histogram name="NewTabPage.UserClassifier.AverageHoursToUseSuggestions"
    units="hours">
  <owner>jkrcal@chromium.org</owner>
  <summary>
    Android: The estimated average number of hours between two successive times
    when the user opens a content suggestion or clicks on the &quot;More&quot;
    button. Recorded after each time a suggestion or a More button is clicked
    (and after updating the model used for the estimate).
  </summary>
</histogram>

<histogram name="NewTabPage.VisibleScreenshots">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of screenshots that were cached for the visible suggestions on
    the Suggested NTP pane.
  </summary>
</histogram>

<histogram name="NewTabPage.VisibleSuggestedSiteRank">
  <obsolete>
    Deprecated 2016-02 (and not recorded for some time before that).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Given that the user has typed a URL, and given that that specific URL was
    visible on the Suggested pane of the NTP, this is the rank that the
    Suggested pane had for that URL.
  </summary>
</histogram>

<histogram name="Notifications.Actions" enum="NotificationActionType">
  <owner>dewittj@chromium.org</owner>
  <summary>
    The actions taken on notifications, recorded every time they happen.  This
    histogram will record every single event that happens separately.
  </summary>
</histogram>

<histogram name="Notifications.AppNotificationStatus"
    enum="NotificationAppStatus">
  <owner>peter@chromium.org</owner>
  <summary>
    Records whether notifications are enabled for Chrome, as the Android app,
    for each Web Notification that is being shown to the user.
  </summary>
</histogram>

<histogram name="Notifications.AuthorDataSize" units="bytes">
  <owner>peter@chromium.org</owner>
  <summary>
    The size, in bytes, of the author-provided data associated with a Web
    Notification. Recorded when a persistent Web Notification is being shown by
    the developer.
  </summary>
</histogram>

<histogram name="Notifications.AuthorDataSizeKB" units="KB">
  <obsolete>
    Replaced by Notifications.AuthorDataSize in February 2016.
  </obsolete>
  <owner>peter@chromium.org</owner>
  <summary>
    The size, in kilobytes, of the author-provided data associated with a Web
    Notification. Recorded when a persistent Web Notification is being shown by
    the developer.
  </summary>
</histogram>

<histogram name="Notifications.Database.DeleteBeforeWriteResult"
    enum="NotificationDatabaseStatus">
  <owner>peter@chromium.org</owner>
  <summary>
    Records the result status codes of deleting notification data from the Web
    Notification database that share their tag (replacement identifier) with a
    notification that's about to be shown.
  </summary>
</histogram>

<histogram name="Notifications.Database.DeleteResult"
    enum="NotificationDatabaseStatus">
  <owner>peter@chromium.org</owner>
  <summary>
    Records the result status codes of deleting notification data from the Web
    Notification database.
  </summary>
</histogram>

<histogram name="Notifications.Database.DeleteServiceWorkerRegistrationResult"
    enum="NotificationDatabaseStatus">
  <owner>peter@chromium.org</owner>
  <summary>
    Records the result status codes of deleting all notification data associated
    with a Service Worker registration ID.
  </summary>
</histogram>

<histogram name="Notifications.Database.DestroyResult"
    enum="NotificationDatabaseStatus">
  <owner>peter@chromium.org</owner>
  <summary>
    Records the result status codes of destroying the Web Notification database
    altogether.
  </summary>
</histogram>

<histogram name="Notifications.Database.OpenAfterCorruptionResult"
    enum="NotificationDatabaseStatus">
  <owner>peter@chromium.org</owner>
  <summary>
    Records the result status codes of opening the Web Notification database
    after it has been destroyed in response to data corruption.
  </summary>
</histogram>

<histogram name="Notifications.Database.OpenResult"
    enum="NotificationDatabaseStatus">
  <owner>peter@chromium.org</owner>
  <summary>
    Records the result status codes of opening the Web Notification database.
  </summary>
</histogram>

<histogram name="Notifications.Database.ReadForServiceWorkerResult"
    enum="NotificationDatabaseStatus">
  <owner>peter@chromium.org</owner>
  <summary>
    Records the result status codes of reading data of all notifications
    associated with a Service Worker from the Web Notification database.
  </summary>
</histogram>

<histogram name="Notifications.Database.ReadResult"
    enum="NotificationDatabaseStatus">
  <owner>peter@chromium.org</owner>
  <summary>
    Records the result status codes of reading data of a single notification
    from the Web Notification database.
  </summary>
</histogram>

<histogram name="Notifications.Database.WriteResult"
    enum="NotificationDatabaseStatus">
  <owner>peter@chromium.org</owner>
  <summary>
    Records the result status codes of writing data for a notification to the
    Web Notification database.
  </summary>
</histogram>

<histogram name="Notifications.DifferentRequestingEmbeddingOrigins"
    enum="Boolean">
  <obsolete>
    Deprecated July 2015. No longer tracked since M42.
  </obsolete>
  <owner>peter@chromium.org</owner>
  <summary>
    Records if the requesting and embedding origins are different when
    requesting permission to display Web Notifications.
  </summary>
</histogram>

<histogram name="Notifications.Display" enum="NotifierType">
  <owner>bmalcolm@chromium.org</owner>
  <summary>
    Counts the number of times a notification was shown for the various types of
    sources. The suffix distinguishes between the window state of the app or
    webpage that sent the notification. This will be used to determine whether a
    legacy mode is required when we allow apps or webpages to display
    notifications over fullscreen content in the future.
  </summary>
</histogram>

<histogram name="Notifications.ExtensionNotificationActionCount"
    units="buttons">
  <owner>dewittj@chromium.org</owner>
  <owner>peter@chromium.org</owner>
  <summary>
    The number of action buttons the developer provided for a notification
    created using the extensions notification API. Logged when creating the
    notification.
  </summary>
</histogram>

<histogram name="Notifications.ExtensionNotificationType"
    enum="ExtensionNotificationType">
  <owner>dewittj@chromium.org</owner>
  <owner>peter@chromium.org</owner>
  <summary>
    The type of a notification created using the extensions notification API.
    Logged when creating the notification.
  </summary>
</histogram>

<histogram name="Notifications.Icon.FileSize" units="bytes">
  <obsolete>
    Deprecated Nov 2016 in favor of Notifications.LoadFileSize.*
  </obsolete>
  <owner>peter@chromium.org</owner>
  <summary>The number of bytes loaded for a Web Notification icon.</summary>
</histogram>

<histogram name="Notifications.Icon.LoadFailTime" units="ms">
  <obsolete>
    Deprecated Nov 2016 in favor of Notifications.LoadFailTime.*
  </obsolete>
  <owner>peter@chromium.org</owner>
  <summary>
    The number of milliseconds it took to fail loading an icon for a Web
    Notification.
  </summary>
</histogram>

<histogram name="Notifications.Icon.LoadFinishTime" units="ms">
  <obsolete>
    Deprecated Nov 2016 in favor of Notifications.LoadFinishTime.*
  </obsolete>
  <owner>peter@chromium.org</owner>
  <summary>
    The number of milliseconds it took to finish successfully loading an icon
    for a Web Notification.
  </summary>
</histogram>

<histogram name="Notifications.Icon.ScaleDownTime" units="ms">
  <obsolete>
    Deprecated Nov 2016 in favor of Notifications.LoadScaleDownTime.*
  </obsolete>
  <owner>peter@chromium.org</owner>
  <summary>
    The number of milliseconds it took to scale down an icon for a Web
    Notification.
  </summary>
</histogram>

<histogram name="Notifications.LoadFailTime" units="ms">
<!-- Name completed by histogram_suffixes name="NotificationImageTypes" -->

  <owner>johnme@chromium.org</owner>
  <summary>
    The number of milliseconds it took to fail loading an icon/image for a Web
    Notification.
  </summary>
</histogram>

<histogram name="Notifications.LoadFileSize" units="bytes">
<!-- Name completed by histogram_suffixes name="NotificationImageTypes" -->

  <owner>johnme@chromium.org</owner>
  <summary>
    The number of bytes loaded for a Web Notification icon/image.
  </summary>
</histogram>

<histogram name="Notifications.LoadFinishTime" units="ms">
<!-- Name completed by histogram_suffixes name="NotificationImageTypes" -->

  <owner>johnme@chromium.org</owner>
  <summary>
    The number of milliseconds it took to finish successfully loading an
    icon/image for a Web Notification.
  </summary>
</histogram>

<histogram name="Notifications.LoadScaleDownTime" units="ms">
<!-- Name completed by histogram_suffixes name="NotificationImageTypes" -->

  <owner>johnme@chromium.org</owner>
  <summary>
    The number of milliseconds it took to scale down an icon/image for a Web
    Notification.
  </summary>
</histogram>

<histogram name="Notifications.PerNotificationActions"
    enum="NotificationActionType">
  <owner>dewittj@chromium.org</owner>
  <summary>
    The actions taken on notifications, recorded once per notification, when it
    is closed.  This differs from the Notifications.Actions histogram in that
    multiple events of the same type on a single notification will only record a
    single UMA event.
  </summary>
</histogram>

<histogram name="Notifications.PersistentNotificationActionCount"
    units="buttons">
  <owner>johnme@chromium.org</owner>
  <summary>
    The number of action buttons the developer provided for a persistent Web
    Notification. Logged whenever showNotification is called.
  </summary>
</histogram>

<histogram name="Notifications.PersistentNotificationDataDeleted"
    enum="BooleanSuccess">
  <obsolete>
    Deprecated 01/2016, no longer used.
  </obsolete>
  <owner>peter@chromium.org</owner>
  <owner>deepak.m1@samsung.com</owner>
  <summary>
    Recorded when the data associated with a persistent Web Notification gets
    deleted. The value will be true if data deletion succeeded, and false if
    there was an error.
  </summary>
</histogram>

<histogram name="Notifications.PersistentWebNotificationClickResult"
    enum="PlatformNotificationStatus">
  <owner>peter@chromium.org</owner>
  <owner>deepak.m1@samsumg.com</owner>
  <summary>
    Recorded delivery status for persistent notification clicks to a Service
    Worker when handling a click on a persistent WebNotification has finished.
  </summary>
</histogram>

<histogram name="Notifications.PersistentWebNotificationCloseResult"
    enum="PlatformNotificationStatus">
  <owner>peter@chromium.org</owner>
  <owner>nsatragno@chromium.org</owner>
  <summary>
    Records delivery status for persistent notification close events sent to a
    Service Worker when the event has been handled.
  </summary>
</histogram>

<histogram name="Notifications.XPCConnectionEvent" enum="XPCConnectionEvent">
  <owner>miguelg@chromium.org</owner>
  <owner>rsesek@chromium.org</owner>
  <summary>
    Mac only. Records the different events of a Notification XPC connection.
    These are recorded by monitoring the different error callbacks provided by
    the XPC connection object.
  </summary>
</histogram>

<histogram name="NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff"
    units="kbps">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the difference between the estimated downstream throughput (in
    kilobits per second) and the observed downstream throughput (in kilobits per
    second). Downstream throughput estimated by the network quality estimator at
    the time of navigation start is compared with the downstream throughput
    observed during the specified time interval following the start of the
    navigation.
  </summary>
</histogram>

<histogram name="NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff"
    units="Effective connection type">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the difference between the estimated effective connection type and
    the observed effective connection type. Effective connection type is
    estimated by the network quality estimator at the time of navigation start
    is compared with the effective connection type observed during the specified
    time interval following the start of the navigation.
  </summary>
</histogram>

<histogram name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff" units="ms">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the difference between the estimated HTTP RTT and the observed HTTP
    RTT. HTTP RTT estimated by the network quality estimator at the time of
    navigation start is compared with the HTTP RTT observed during the specified
    time interval following the start of the navigation.
  </summary>
</histogram>

<histogram name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff" units="ms">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the difference between the estimated transport RTT and the observed
    transport RTT. Transport RTT estimated by the network quality estimator at
    the time of navigation start is compared with the transport RTT observed
    during the specified time interval following the start of the navigation.
  </summary>
</histogram>

<histogram name="NQE.CachedNetworkQualityAvailable" enum="BooleanAvailable">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records if the cached network quality (from memory or from a persistent
    source) was available. Recorded right after connection change event.
  </summary>
</histogram>

<histogram name="NQE.CellularSignalStrengthAvailable" enum="BooleanAvailable">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Whether the signal strength for the cellular network was available or not.
    Recorded right before a connection change event. Recorded only on cellular
    connections on Android platform.
  </summary>
</histogram>

<histogram name="NQE.CellularSignalStrengthDifference" units="dBm">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Difference between the minimum and the maximum received signal strength
    since the last connection change event. Recorded only on cellular
    connections on Android platform when the cellular signal strength was
    available. Recorded right before a connection change event.
  </summary>
</histogram>

<histogram name="NQE.Correlation.ResourceLoadTime.0Kb_128Kb">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records estimated network quality (estimated RTT, estimated downlink
    bandwidth), resource load size, and the resource load time in a single UMA
    sample. This metric is recorded randomly when a resource load finishes. Each
    sample in this sparse histogram consists of multiple metrics (each occupying
    few bits in the sample). The data in the histogram would be analyzed using
    custom scripts. A sample is recorded only when the resource size is between
    0 Kilobits (inclusive) and 128 Kilobits (exclusive).
  </summary>
</histogram>

<histogram name="NQE.DifferenceRTTActualAndEstimated" units="ms">
  <obsolete>
    Replaced in June 2016 by NQE.Accuracy.HttpRTT.* metrics.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Difference between the actual RTT observation and the estimated RTT. This
    metric is recorded on every request when the actual observation is higher
    than the estimated value.
  </summary>
</histogram>

<histogram name="NQE.DifferenceRTTEstimatedAndActual" units="ms">
  <obsolete>
    Replaced in June 2016 by NQE.Accuracy.HttpRTT.* metrics.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Difference between the estimated RTT and the actual RTT observation. This
    metric is recorded on every request when the estimated value is higher than
    the actual observation.
  </summary>
</histogram>

<histogram name="NQE.EffectiveConnectionType.OnECTComputation"
    enum="NQEEffectiveConnectionType">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Effective connection type estimated by the network quality estimator.
    Recorded every time the effective connection type is computed.
  </summary>
</histogram>

<histogram name="NQE.EstimateAvailable.MainFrame" enum="Boolean">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    This histogram records whether the estimate of the network quality metric
    was available or not. Recorded at every main frame request.
  </summary>
</histogram>

<histogram name="NQE.ExternalEstimateProvider.DownlinkBandwidth" units="Kbps">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Records the estimate of the downlink bandwidth (in Kbps) provided by the
    external estimate provided. Recorded every time the external estimate
    provider provides a valid downlink bandwidth estimate to the network quality
    estimator.
  </summary>
</histogram>

<histogram name="NQE.ExternalEstimateProvider.RTT" units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Records the estimate of the RTT provided by the external estimate provided.
    Recorded every time the external estimate provider provides a valid RTT
    estimate to the network quality estimator.
  </summary>
</histogram>

<histogram
    name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff"
    units="ms">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the difference between the HTTP RTT estimated by the external
    estimate provider and the observed HTTP RTT. The HTTP RTT estimated by the
    external estimate provider at the time of navigation start is compared with
    the HTTP RTT observed during the specified time interval following the start
    of the navigation.
  </summary>
</histogram>

<histogram name="NQE.ExternalEstimateProviderStatus"
    enum="NQEExternalEstimateProviderStatus">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Records the interaction (availability and query count) of Network Quality
    Estimator with external estimates provider. Logged on network change events,
    everytime external estimate provider is queried for an updated estimate, and
    when it proactively notifies that an updated estimate is available.
  </summary>
</histogram>

<histogram name="NQE.FastestRTT" units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Rough estimate of the fastest round-trip-time, before a connectivity change
    is detected.

    This metric is recorded when a connectivity change is detected. This will
    miss data from users whose connection type never changes and will be biased
    to users whose connection type changes frequently.
  </summary>
</histogram>

<histogram name="NQE.Kbps.ObservationSource" enum="NQEObservationSource">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Number of Kbps observations indexed by the source of the observation.
    Recorded by the network quality estimator every time a new observation is
    made or synthesized.
  </summary>
</histogram>

<histogram name="NQE.Kbps.OnECTComputation" units="Kbps">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Rough estimate of the downstream peak throughput (in kilobits per second).
    Recorded by the network quality estimator every time the effective
    connection type is computed.
  </summary>
</histogram>

<histogram name="NQE.MainFrame.EffectiveConnectionType"
    enum="NQEEffectiveConnectionType">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Effective connection type estimated by network quality estimator. Suffixed
    with the connection type reported by the operating system.

    This metric is recorded on main-frame requests.
  </summary>
</histogram>

<histogram name="NQE.MainFrame.Kbps" units="Kbps">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Rough estimate of the downstream peak throughput at different percentiles.

    This metric is recorded on main-frame requests.
  </summary>
</histogram>

<histogram name="NQE.MainFrame.RTT" units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Rough estimate of the computed round trip time at the URLRequest layer at
    different percentiles.

    This metric is recorded on main-frame requests.
  </summary>
</histogram>

<histogram name="NQE.MainFrame.TransportRTT" units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Rough estimate of the computed round trip time at the transport layer at
    different percentiles.

    This metric is recorded on main-frame requests.
  </summary>
</histogram>

<histogram name="NQE.NetworkIdAvailable" enum="BooleanAvailable">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Whether the NetworkID (SSID of the Wi-Fi network, or the MCC/MNC operator of
    the cellular network) was available or not. Recorded only on Wi-Fi and
    cellular networks. Recorded right after the connection type changes.
  </summary>
</histogram>

<histogram name="NQE.PeakKbps" units="Kbps">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Rough estimate of downstream peak throughput, before a connectivity change
    is detected.

    This metric is recorded when a connectivity change is detected. This will
    miss data from users whose connection type never changes and will be biased
    to users whose connection type changes frequently.
  </summary>
</histogram>

<histogram name="NQE.Prefs.ReadCount" units="count">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Number of times the network quality prefs were read by the network quality
    estimator.
  </summary>
</histogram>

<histogram name="NQE.Prefs.ReadSize" units="count">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Count of the number of network IDs in the prefs read by the network quality
    estimator.
  </summary>
</histogram>

<histogram name="NQE.Prefs.WriteCount" units="count">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Number of times the network quality prefs were written by the network
    quality estimator.
  </summary>
</histogram>

<histogram name="NQE.RatioEstimatedToActualRTT" units="100 times">
  <obsolete>
    Replaced in June 2016 by NQE.Accuracy.HttpRTT.* metrics.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Ratio of the estimated RTT to the actual RTT observation multiplied by 100.
  </summary>
</histogram>

<histogram name="NQE.RTT" units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Rough estimate of the computed round trip time at the URLRequest layer at
    different percentiles.

    This metric is recorded immediately after a connectivity change is detected.
    The metric name is suffixed with the connection type before the connectivity
    change was detected. This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NQE.RTT.ObservationSource" enum="NQEObservationSource">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Number of RTT observations indexed by the source of the observation.
    Recorded by the network quality estimator every time a new observation is
    made or synthesized.
  </summary>
</histogram>

<histogram name="NQE.RTT.OnECTComputation" units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Rough estimate of the round trip time at the URLRequest layer.  Recorded by
    the network quality estimator every time the effective connection type is
    computed.
  </summary>
</histogram>

<histogram name="NQE.RTTObservations" units="ms">
  <obsolete>
    Replaced in May 2016 by NQE.MainFrame.RTT.* metrics.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    RTT observations at the URLRequest layer made by network quality estimator,
    recorded on every request.
  </summary>
</histogram>

<histogram name="NQE.TransportRTT" units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Rough estimate of the computed round trip time at the transport layer at
    different percentiles.

    This metric is recorded immediately after a connectivity change is detected.
    The metric name is suffixed with the connection type before the connectivity
    change was detected. This will miss data from users whose connection type
    never changes and will be biased to users whose connection type changes
    frequently.
  </summary>
</histogram>

<histogram name="NQE.TransportRTT.OnECTComputation" units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Rough estimate of the computed round trip time at the transport layer.
    Recorded by the network quality estimator every time the effective
    connection type is computed.
  </summary>
</histogram>

<histogram name="NQE.UnweightedAverage.Accuracy.HttpRTT.EstimatedObservedDiff"
    units="ms">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the difference between the estimated HTTP RTT and the observed HTTP
    RTT. HTTP RTT estimated by the network quality estimator at the time of
    navigation start is compared with the HTTP RTT observed during the specified
    time interval following the start of the navigation. Both the estimated and
    the observed RTT are computed using average algorithm that assigns equal
    weight to all observations.
  </summary>
</histogram>

<histogram name="NQE.UnweightedAverage.MainFrame.RTT" units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Rough estimate of the computed round trip time at the URLRequest layer
    computed using average algorithm that assigns equal weight to all
    observations.

    This metric is recorded on main-frame requests.
  </summary>
</histogram>

<histogram name="NQE.WeightedAverage.Accuracy.HttpRTT.EstimatedObservedDiff"
    units="ms">
  <owner>tbansal@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Records the difference between the estimated HTTP RTT and the observed HTTP
    RTT. HTTP RTT estimated by the network quality estimator at the time of
    navigation start is compared with the HTTP RTT observed during the specified
    time interval following the start of the navigation. Both the estimated and
    the observed RTT are computed using weighted average algorithm.
  </summary>
</histogram>

<histogram name="NQE.WeightedAverage.MainFrame.RTT" units="ms">
  <owner>bengr@chromium.org</owner>
  <owner>tbansal@chromium.org</owner>
  <summary>
    Rough estimate of the computed round trip time at the URLRequest layer
    computed using weighted average algorithm.

    This metric is recorded on main-frame requests.
  </summary>
</histogram>

<histogram name="ntp.searchurls.total">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>TBD</summary>
</histogram>

<histogram name="NtpHandler.AttachShownPageType" enum="NtpPaneType">
  <obsolete>
    Deprecated 10/2011. No longer tracked, replaced with
    NewTabPage.DefaultPageType
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The default pane when the NTP is first opened.</summary>
</histogram>

<histogram name="NtpHandler.SelectedShownPageType" enum="NtpPaneType">
  <obsolete>
    Deprecated 10/2011. No longer tracked, replaced with
    NewTabPage.SelectedPageType
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The pane selected when the user switches panes in the NTP.</summary>
</histogram>

<histogram name="OAuth2Login.AccountRevoked.IsEmailId" enum="Boolean">
  <owner>knn@chromium.org</owner>
  <summary>
    This histogram records whether the account ID is actually an email if we
    detect an account that has an account ID but not email.
  </summary>
</histogram>

<histogram name="OAuth2Login.AccountRevoked.MigrationState"
    enum="OAuth2LoginAccountRevokedMigrationState">
  <owner>knn@chromium.org</owner>
  <summary>
    This histogram records the account ID migration status from email to GAIA ID
    if we detect an account that has an account ID but not email.
  </summary>
</histogram>

<histogram name="OAuth2Login.GetOAuth2AccessTokenFailure"
    enum="GoogleServiceAuthError">
  <owner>zelidrag@chromium.org</owner>
  <summary>
    Failure reason of final OAuth2 access token retrieval call during Chrome OS
    login.
  </summary>
</histogram>

<histogram name="OAuth2Login.GetOAuth2AccessTokenRetry"
    enum="GoogleServiceAuthError">
  <owner>zelidrag@chromium.org</owner>
  <summary>
    Retry reason of failed OAuth2 access token retrieval call during Chrome OS
    login.
  </summary>
</histogram>

<histogram name="OAuth2Login.ListAccountsFailure" enum="GoogleServiceAuthError">
  <obsolete>
    Deprecated 2015-05-22. Replaced by Signin.ListAccountsFailure.
  </obsolete>
  <owner>zelidrag@chromium.org</owner>
  <summary>
    Failure reason of final ListAccounts call failure during Chrome OS login.
    This data is now included in Signin.ListAccountsFailure.
  </summary>
</histogram>

<histogram name="OAuth2Login.ListAccountsRetry" enum="GoogleServiceAuthError">
  <obsolete>
    Deprecated 2015-05-22. Replaced by Signin.ListAccountsRetry.
  </obsolete>
  <owner>zelidrag@chromium.org</owner>
  <summary>
    Retry reason of failed ListAccounts call during Chrome OS login. This data
    is now included in Signin.ListAccountsRetry.
  </summary>
</histogram>

<histogram name="OAuth2Login.MergeSessionFailure" enum="GoogleServiceAuthError">
  <owner>zelidrag@chromium.org</owner>
  <summary>
    Failure reason of MergeSession call during Chrome OS login, Chrome Signin or
    account addition. On all OSes as of M44 (previously CrOS only).
  </summary>
</histogram>

<histogram name="OAuth2Login.MergeSessionRetry" enum="GoogleServiceAuthError">
  <owner>zelidrag@chromium.org</owner>
  <summary>
    Retry reason of failed MergeSession call during Chrome OS login, Chrome
    Signin or account addition. On all OSes as of M44 (previously CrOS only).
  </summary>
</histogram>

<histogram name="OAuth2Login.OAuthLoginGaiaCredFailure"
    enum="GoogleServiceAuthError">
  <owner>zelidrag@chromium.org</owner>
  <summary>
    Failure reason of final OAuthLogin (with SID+LSID) call during Chrome OS
    login.
  </summary>
</histogram>

<histogram name="OAuth2Login.OAuthLoginGaiaCredRetry"
    enum="GoogleServiceAuthError">
  <owner>zelidrag@chromium.org</owner>
  <summary>
    Retry reason of failed OAuthLogin (with SID+LSID) call during Chrome OS
    login.
  </summary>
</histogram>

<histogram name="OAuth2Login.OAuthLoginUberTokenFailure"
    enum="GoogleServiceAuthError">
  <obsolete>
    Deprecated 2015-05-22
  </obsolete>
  <owner>zelidrag@chromium.org</owner>
  <summary>
    Failure reason of final OAuthLogin (with uber token) call during Chrome OS
    login. This data is now (M44+) included in Signin.UberTokenFailure.
  </summary>
</histogram>

<histogram name="OAuth2Login.OAuthLoginUberTokenRetry"
    enum="GoogleServiceAuthError">
  <obsolete>
    Deprecated 2015-05-22
  </obsolete>
  <owner>zelidrag@chromium.org</owner>
  <summary>
    Retry reason of failed OAuthLogin (with uber token) call during Chrome OS
    login. This data is now (M44+) included in Signin.UberTokenRetry.
  </summary>
</histogram>

<histogram name="OAuth2Login.PostMergeVerification"
    enum="PostMergeVerificationOutcome">
  <owner>zelidrag@chromium.org</owner>
  <summary>
    Outcome of Chrome OS GAIA cookie post-merge session verification process. It
    measures how often /MergeSession request collided with browser session
    restore process resulting in partially authenticated primary GAIA session.
  </summary>
</histogram>

<histogram name="OAuth2Login.PreMergeVerification"
    enum="PostMergeVerificationOutcome">
  <owner>zelidrag@chromium.org</owner>
  <summary>
    Outcome of Chrome OS GAIA cookie pre-merge session verification process. It
    measures how often we need to perform /MergeSession request to
    re-authenticated exisitng user with GAIA.
  </summary>
</histogram>

<histogram name="OAuth2Login.SeedState" enum="OAuth2LoginSeedState">
  <owner>knn@chromium.org</owner>
  <summary>
    Only applicable on M47 on Android. Measure the frequency of a suppressed
    error state when the account is not seeded.
  </summary>
</histogram>

<histogram name="OAuth2Login.SessionRestore" enum="GaiaSessionRestoreOutcome">
  <owner>zelidrag@chromium.org</owner>
  <summary>Outcome of Chrome OS GAIA cookie session restore process.</summary>
</histogram>

<histogram name="OAuth2Login.SessionRestoreTimeToFailure" units="ms">
  <owner>zelidrag@chromium.org</owner>
  <summary>How long it takes for the session restore to fail.</summary>
</histogram>

<histogram name="OAuth2Login.SessionRestoreTimeToSuccess" units="ms">
  <owner>zelidrag@chromium.org</owner>
  <summary>
    How long it takes for the session restore to finish succeessfully.
  </summary>
</histogram>

<histogram name="OfflinePages.AggregatedRequestResult"
    enum="OfflinePagesAggregatedRequestResult">
  <obsolete>
    Deprecated 2016-10, and replaced by OfflinePages.AggregatedRequestResult2.
  </obsolete>
  <owner>dimich@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>Result of servicing requests that may contain offline page.</summary>
</histogram>

<histogram name="OfflinePages.AggregatedRequestResult2"
    enum="OfflinePagesAggregatedRequestResult">
  <owner>dimich@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>Result of servicing requests that may contain offline page.</summary>
</histogram>

<histogram name="OfflinePages.Background.BackgroundLoadingFailedCode"
    enum="NetErrorCodes">
  <owner>chili@chromium.org</owner>
  <summary>The error codes that caused a page load failure.</summary>
</histogram>

<histogram name="OfflinePages.Background.CctApiDisableStatus"
    enum="OfflinePagesCctApiPrerenderAllowedStatus">
  <owner>petewil@chromium.org</owner>
  <summary>
    Reason for the Chrome Custom Tabs API prerender call to be ignored.

    There are several causes for the Chrome Custom Tabs API calls to be ignored,
    this tracks the potential causes so we can see how often the prerenderer
    doesn't prerender due to these being switched off.  Since this is checked
    elsewhere (CCTAPI), this only catches the user switching off the third party
    cookies or navigation prediction after the CCT API has checked.
  </summary>
</histogram>

<histogram name="OfflinePages.Background.EffectiveConnectionType.PauseRequests"
    enum="NQEEffectiveConnectionType">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Effective connection type when pausing one or more background loads is
    requested.

    This metric is recorded for RequestCoordinator::PauseRequests API calls.
  </summary>
</histogram>

<histogram
    name="OfflinePages.Background.EffectiveConnectionType.RemoveRequests"
    enum="NQEEffectiveConnectionType">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Effective connection type when removing one or more background loads is
    requested.

    This metric is recorded for RequestCoordinator::RemoveRequests API calls.
  </summary>
</histogram>

<histogram
    name="OfflinePages.Background.EffectiveConnectionType.ResumeRequests"
    enum="NQEEffectiveConnectionType">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Effective connection type when resuming one or more background loads is
    requested.

    This metric is recorded for RequestCoordinator::ResumeRequests API calls.
  </summary>
</histogram>

<histogram name="OfflinePages.Background.EffectiveConnectionType.SavePageLater"
    enum="NQEEffectiveConnectionType">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Effective connection type when a background load is requested.

    This metric is recorded for RequestCoordinator::SavePageLater API calls.
  </summary>
</histogram>

<histogram name="OfflinePages.Background.FinalSavePageResult"
    enum="OfflinePagesBackgroundSavePageResult">
  <owner>chili@chromium.org</owner>
  <summary>
    Status code of background offlining requests at the final step.
  </summary>
</histogram>

<histogram name="OfflinePages.Background.ImmediateStart.AvailableRequestCount">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Number of queued background load requests available for processing when
    processing starts immediately (vs. scheduled). This is for non-svelte
    devices (where svelte is determined by base::SysInfo::IsLowEnd()).
  </summary>
</histogram>

<histogram
    name="OfflinePages.Background.ImmediateStart.AvailableRequestCount.Svelte">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Number of queued background load requests available for processing when
    processing starts immediately (vs. scheduled). This is for svelte devices
    (where svelte is determined by base::SysInfo::IsLowEnd()).
  </summary>
</histogram>

<histogram
    name="OfflinePages.Background.ImmediateStart.UnavailableRequestCount">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Number of queued background load requests unavailable for processing when
    processing starts immediately (vs. scheduled). This is for non-svelte
    devices (where svelte is determined by base::SysInfo::IsLowEnd()).
  </summary>
</histogram>

<histogram
    name="OfflinePages.Background.ImmediateStart.UnavailableRequestCount.Svelte">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Number of queued background load requests unavailable for processing when
    processing starts immediately (vs. scheduled). This is for svelte devices
    (where svelte is determined by base::SysInfo::IsLowEnd()).
  </summary>
</histogram>

<histogram name="OfflinePages.Background.ImmediateStartStatus"
    enum="OfflinePagesBackgroundImmediateStartStatus">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Status of attempt to immediately start offlining a page in the background
    while application is still concurrently using the foreground. This may be
    attempted when an web page download is initially requested or resumed.
  </summary>
</histogram>

<histogram name="OfflinePages.Background.OfflinerRequestStatus"
    enum="OfflinePagesBackgroundOfflinerRequestStatus">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Status code of background offlining (loading and saving) requests.
  </summary>
</histogram>

<histogram name="OfflinePages.Background.RequestFailure.StartedAttemptCount">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Number of started attempts by failed background load requests.
  </summary>
</histogram>

<histogram name="OfflinePages.Background.RequestSuccess.StartedAttemptCount">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Number of started attempts by successful background load requests.
  </summary>
</histogram>

<histogram name="OfflinePages.Background.ScheduledStart.AvailableRequestCount">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Number of queued background load requests available for processing when
    background scheduled processing starts. This is for non-svelte devices
    (where svelte is determined by base::SysInfo::IsLowEnd()).
  </summary>
</histogram>

<histogram
    name="OfflinePages.Background.ScheduledStart.AvailableRequestCount.Svelte">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Number of queued background load requests available for processing when
    background scheduled processing starts. This is for svelte devices (where
    svelte is determined by base::SysInfo::IsLowEnd()).
  </summary>
</histogram>

<histogram
    name="OfflinePages.Background.ScheduledStart.UnavailableRequestCount">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Number of queued background load requests unavailable for processing when
    background scheduled processing starts. This is for non-svelte devices
    (where svelte is determined by base::SysInfo::IsLowEnd()).
  </summary>
</histogram>

<histogram
    name="OfflinePages.Background.ScheduledStart.UnavailableRequestCount.Svelte">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Number of queued background load requests unavailable for processing when
    background scheduled processing starts. This is for svelte devices (where
    svelte is determined by base::SysInfo::IsLowEnd()).
  </summary>
</histogram>

<histogram name="OfflinePages.Background.TimeToCanceled" units="seconds">
  <owner>dougarnett@chromium.org</owner>
  <summary>Time from background request until it was canceled.</summary>
</histogram>

<histogram name="OfflinePages.Background.TimeToSaved" units="seconds">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Time from background request until it was successfully saved.
  </summary>
</histogram>

<histogram name="OfflinePages.Background.TimeToStart" units="ms">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Time from background request until processing it was first started. This is
    for non-svelte devices.
  </summary>
</histogram>

<histogram name="OfflinePages.Background.TimeToStart.Svelte" units="ms">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Time from background request until processing it was first started on svelte
    device. Svelte is determined by base::SysInfo::IsLowEnd().
  </summary>
</histogram>

<histogram name="OfflinePages.Background.UnsupportedScheme.ConnectionType"
    enum="NetworkConnectionType">
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Connection type when prerenderer reports Unsupported Scheme error.

    To give insight about Unsupported Scheme errors that may be due to lost
    network connection (as data URL used for rendering an error page will
    manifest as an Unsupported Scheme error by the prerenderer).
  </summary>
</histogram>

<histogram name="OfflinePages.BatchDelete.Count">
  <owner>jianli@chromium.org</owner>
  <summary>Number of offline pages that are deleted in a batch.</summary>
</histogram>

<histogram name="OfflinePages.BatchDelete.TotalPageSize" units="KB">
  <owner>jianli@chromium.org</owner>
  <summary>
    Total size, in kilobytes, of all offline pages that are deleted in a batch.
  </summary>
</histogram>

<histogram name="OfflinePages.CanSaveRecentPage" enum="Boolean">
  <owner>fgorski@chromium.org</owner>
  <summary>
    Can a recent page be saved or not? Logged for all attempts to save
  </summary>
</histogram>

<histogram name="OfflinePages.ClearAllStatus" enum="OfflinePagesClearAllStatus">
  <obsolete>
    Deprecated 3/2016, and replaced by OfflinePages.ClearAllStatus2.
  </obsolete>
  <owner>jianli@chromium.org</owner>
  <summary>Status code of wiping out the offline page data.</summary>
</histogram>

<histogram name="OfflinePages.ClearAllStatus2"
    enum="OfflinePagesClearAllStatus">
  <owner>jianli@chromium.org</owner>
  <summary>Status code of wiping out the offline page data.</summary>
</histogram>

<histogram name="OfflinePages.ClearStorageBatchSize" units="pages">
  <owner>romax@chromium.org</owner>
  <summary>
    Number of pages deleted in a batch during one clear-storage request.
  </summary>
</histogram>

<histogram name="OfflinePages.ClearStorageResult"
    enum="OfflinePagesClearStorageResult">
  <owner>romax@chromium.org</owner>
  <summary>Result of asking storage manager to clear storage.</summary>
</histogram>

<histogram name="OfflinePages.Consistency.DeleteOrphanedArchivesResult"
    enum="BooleanSuccess">
  <owner>romax@chromium.org</owner>
  <summary>
    Whether an attempt to delete archive files without metadata was successful.
  </summary>
</histogram>

<histogram name="OfflinePages.Consistency.DeletePagesMissingArchiveFileResult"
    enum="OfflinePagesDeletePageResult">
  <owner>romax@chromium.org</owner>
  <summary>
    Whether an attempt to delete pages without archives was successful.
  </summary>
</histogram>

<histogram name="OfflinePages.Consistency.ExpirePagesMissingArchiveFileResult"
    enum="BooleanSuccess">
  <obsolete>
    Deprecated 11/2016, replaced by
    OfflinePages.Consistency.DeletePagesMissingArchiveFileResult.
  </obsolete>
  <owner>romax@chromium.org</owner>
  <summary>
    Whether an attempt to expire pages without archives was successful.
  </summary>
</histogram>

<histogram name="OfflinePages.Consistency.OrphanedArchivesCount">
  <owner>romax@chromium.org</owner>
  <summary>
    Number of archives without metadata entry when checking consistency.
  </summary>
</histogram>

<histogram name="OfflinePages.Consistency.PagesMissingArchiveFileCount">
  <owner>romax@chromium.org</owner>
  <summary>
    Number of offline pages without archive file when checking consistency.
  </summary>
</histogram>

<histogram name="OfflinePages.DeletePage.AccessCount">
  <owner>jianli@chromium.org</owner>
  <summary>
    Number of accesses to the offline page since its creation. This is reported
    when the offline page was deleted.
  </summary>
</histogram>

<histogram name="OfflinePages.DeletePage.FreeSpaceMB" units="MB">
  <owner>jianli@chromium.org</owner>
  <summary>
    The amount of free space available, in megabytes, on the user's device after
    the page is deleted.

    Note that before M52 this operation was started before delete operation.
  </summary>
</histogram>

<histogram name="OfflinePages.DeletePage.FreeSpacePercentage" units="%">
  <obsolete>
    Deprecated as of 5/2016. Marginal applicability.
  </obsolete>
  <owner>jianli@chromium.org</owner>
  <summary>
    The percentage of free space available on the user's device when the page is
    being deleted.
  </summary>
</histogram>

<histogram name="OfflinePages.DeletePage.LastOpenToCreated" units="minutes">
  <owner>jianli@chromium.org</owner>
  <summary>
    Length of time between when an offline page was created and was opened last
    time. This is reported when the page was deleted.
  </summary>
</histogram>

<histogram name="OfflinePages.DeletePage.PageSize" units="KB">
  <owner>jianli@chromium.org</owner>
  <summary>Size of the offline page, in kilobytes, that was deleted.</summary>
</histogram>

<histogram name="OfflinePages.DeletePage.TimeSinceLastOpen" units="minutes">
  <owner>jianli@chromium.org</owner>
  <summary>
    Length of time between when an offline page was last opened and was deleted.
  </summary>
</histogram>

<histogram name="OfflinePages.DeletePage.TotalPageSizeAsPercentageOfFreeSpace"
    units="%">
  <owner>fgorski@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>
    The percentage of space taken by offline pages from the free space that
    could be available, if the feature was not present. I.e. considering
    situation where the user has: Free Space, Offline content, other apps and
    data. This is a percentage of: Offline content / (Offline content + Free
    Space).

    The value will be recorded after user deletes a single or multiple offline
    pages. In case pages are removed in bulk, this value will be reported once.
    This value is only reported with deleting, as we are trying to infer if lack
    of free space might have caused the user to delete.
  </summary>
</histogram>

<histogram name="OfflinePages.DeletePageResult"
    enum="OfflinePagesDeletePageResult">
  <owner>jianli@chromium.org</owner>
  <summary>Result of removing an offline copy for a page.</summary>
</histogram>

<histogram name="OfflinePages.DownloadDeletedPageDuplicateCount" units="pages">
  <owner>dewittj@chromium.org</owner>
  <owner>dimich@chromium.org</owner>
  <summary>
    The number of downloaded pages with the same URL that exist at the time that
    we delete a downloaded page.
  </summary>
</histogram>

<histogram name="OfflinePages.DownloadRequestTimeSinceDuplicateRequested"
    units="seconds">
  <owner>dewittj@chromium.org</owner>
  <owner>fgorski@chromium.org</owner>
  <summary>
    If at request time there is another request with the same URL, this tracks
    this amount of time between creation of the most recent request and the
    current request.
  </summary>
</histogram>

<histogram name="OfflinePages.DownloadRequestTimeSinceDuplicateSaved"
    units="seconds">
  <owner>dewittj@chromium.org</owner>
  <owner>fgorski@chromium.org</owner>
  <summary>
    If at request time there is another downloaded page with the same URL, this
    tracks this amount of time between creation of the most recent existing page
    and the current request.
  </summary>
</histogram>

<histogram name="OfflinePages.DownloadSavedPageDuplicateCount" units="pages">
  <owner>dewittj@chromium.org</owner>
  <owner>dimich@chromium.org</owner>
  <summary>
    The number of downloaded pages with the same URL that exist at the time that
    we save a downloaded page.
  </summary>
</histogram>

<histogram name="OfflinePages.DownloadSavedPageTimeSinceDuplicateSaved"
    units="seconds">
  <owner>dewittj@chromium.org</owner>
  <owner>dimich@chromium.org</owner>
  <summary>
    If at save time there is another downloaded page with the same URL, this
    tracks this amount of time between creation of the most recent existing page
    and the current page.
  </summary>
</histogram>

<histogram name="OfflinePages.Edit.BookmarkUrlChangedForOfflinePage"
    enum="BooleanMatched">
  <obsolete>
    Deprecated 5/2016. Offline pages no longer depend on bookmarks UI.
  </obsolete>
  <owner>dougarnett@chromium.org</owner>
  <summary>
    Whether a user-edited bookmark URL had a saved offline page.
  </summary>
</histogram>

<histogram name="OfflinePages.ExpirePage.BatchSize">
  <obsolete>
    Deprecated 11/2016. Offline pages no longer use two-step expiration.
  </obsolete>
  <owner>romax@chromium.org</owner>
  <summary>Number of pages that are expired in a batch.</summary>
</histogram>

<histogram name="OfflinePages.ExpirePage.PageLifetime" units="minutes">
  <obsolete>
    Deprecated 11/2016. Offline pages no longer use two-step expiration.
  </obsolete>
  <owner>romax@chromium.org</owner>
  <summary>
    Length of time between when an offline page was created and was expired.
  </summary>
</histogram>

<histogram name="OfflinePages.ExpirePage.StoreUpdateResult"
    enum="BooleanSuccess">
  <obsolete>
    Deprecated 11/2016. Offline pages no longer use two-step expiration.
  </obsolete>
  <owner>romax@chromium.org</owner>
  <summary>Result of updating expired page in store.</summary>
</histogram>

<histogram name="OfflinePages.ExpirePage.TimeSinceLastAccess" units="minutes">
  <obsolete>
    Deprecated 11/2016. Offline pages no longer use two-step expiration.
  </obsolete>
  <owner>romax@chromium.org</owner>
  <summary>
    Length of time between when an offline page was last opened and was expired.
  </summary>
</histogram>

<histogram name="OfflinePages.Filter.OnlineWhenEntering" enum="Boolean">
  <obsolete>
    Deprecated 5/2016. Offline pages no longer depend on bookmarks UI.
  </obsolete>
  <owner>fgorski@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>
    Whether user is connected when entering the filter with offline only
    content.
  </summary>
</histogram>

<histogram name="OfflinePages.Filter.OnlineWhenLeaving" enum="Boolean">
  <obsolete>
    Deprecated 5/2016. Offline pages no longer depend on bookmarks UI.
  </obsolete>
  <owner>fgorski@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>
    Whether user is connected when leaving the filter with offline only content.
  </summary>
</histogram>

<histogram name="OfflinePages.FirstOpenSinceCreated" units="minutes">
  <owner>jianli@chromium.org</owner>
  <summary>
    The time elapsed between creation of the offline page and the first time it
    was opened.
  </summary>
</histogram>

<histogram name="OfflinePages.IncognitoSave" enum="Boolean">
  <obsolete>
    Deprecated 5/2016. Not longer needed.
  </obsolete>
  <owner>jianli@chromium.org</owner>
  <summary>
    Whether the page that was being saved offline was in incognito mode.
  </summary>
</histogram>

<histogram name="OfflinePages.LaunchLocation" enum="StarsLaunchLocation">
  <obsolete>
    Deprecated 5/2016. Offline pages no longer depend on bookmarks UI.
  </obsolete>
  <owner>fgorski@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>Logs a UI location from which an offline page is launched.</summary>
</histogram>

<histogram name="OfflinePages.LoadStatus" enum="OfflinePagesLoadStatus">
  <owner>jianli@chromium.org</owner>
  <summary>
    Status code of loading from the offline pages metadata store.
  </summary>
</histogram>

<histogram name="OfflinePages.LoadSuccess" enum="BooleanSuccess">
  <obsolete>
    Deprecated 10/2015, and replaced by OfflinePages.LoadStatus.
  </obsolete>
  <owner>jianli@chromium.org</owner>
  <summary>
    Whether an attempt to load the offline pages metadata store was successful.
  </summary>
</histogram>

<histogram name="OfflinePages.Model.ArchiveDirCreationTime" units="ms">
  <owner>dewittj@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>
    The amount of time to create the offline pages archive directory.
  </summary>
</histogram>

<histogram name="OfflinePages.Model.ConstructionToLoadedEventTime" units="ms">
  <owner>dewittj@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>
    The amount of time to create the offline pages archive directory and load
    the offline page model.
  </summary>
</histogram>

<histogram name="OfflinePages.OfflinePageCount">
  <obsolete>
    Deprecated 5/2016. This was the dup of OfflinePages.SavedPageCount.
  </obsolete>
  <owner>fgorski@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>Number of offline pages the user has. Android only.</summary>
</histogram>

<histogram name="OfflinePages.OnlineOnOpen" enum="Boolean">
  <obsolete>
    Deprecated 5/2016. Offline pages no longer depend on bookmarks UI.
  </obsolete>
  <owner>jianli@chromium.org</owner>
  <summary>
    Whether the user was online when a saved page with offline copy was opened.
  </summary>
</histogram>

<histogram name="OfflinePages.OpenSinceLastOpen" units="minutes">
  <owner>jianli@chromium.org</owner>
  <summary>Length of time between two consecutive opens.</summary>
</histogram>

<histogram name="OfflinePages.PageLifetime" units="minutes">
  <owner>jianli@chromium.org</owner>
  <summary>
    Length of time between when an offline page was created and was removed.
  </summary>
</histogram>

<histogram name="OfflinePages.PageSize" units="KB">
  <owner>jianli@chromium.org</owner>
  <summary>Size of the saved copy of an offline page.</summary>
</histogram>

<histogram name="OfflinePages.RedirectResult" enum="OfflinePagesRedirectResult">
  <obsolete>
    Deprecated 8/2016. Use OfflinePages.RequestResult instead.
  </obsolete>
  <owner>dimich@chromium.org</owner>
  <summary>
    Result of automatic redirect to offline version of the page or back. Emitted
    exactly once when offline-to-online or online-to-offline redirect is
    determined to be needed and conveys the outcome of redirect.
  </summary>
</histogram>

<histogram name="OfflinePages.RedirectToOfflineCount" units="count">
  <obsolete>
    Deprecated 6/2016. Refactored into OfflinePages.RedirectResult.
  </obsolete>
  <owner>jianli@chromium.org</owner>
  <summary>
    Number of times an offline copy was loaded instead when the user is trying
    to load the online version of a saved page and there is no network
    connection.
  </summary>
</histogram>

<histogram name="OfflinePages.RedirectToOnlineCount" units="count">
  <obsolete>
    Deprecated 6/2016. Refactored into OfflinePages.RedirectResult.
  </obsolete>
  <owner>jianli@chromium.org</owner>
  <summary>
    Number of times an online version was loaded instead when the user is trying
    to load the offline copy of a saved page and there is network connection.
    connection.
  </summary>
</histogram>

<histogram name="OfflinePages.RequestJob.OpenFileErrorCode"
    enum="NetErrorCodes">
  <owner>jianli@chromium.org</owner>
  <summary>
    Positive net error code for opening the underlying file to serve the offline
    page, including net::OK.
  </summary>
</histogram>

<histogram name="OfflinePages.RequestJob.ReadFileErrorCode"
    enum="NetErrorCodes">
  <owner>jianli@chromium.org</owner>
  <summary>
    Positive net error code for the failure to read the underlying file to serve
    the offline page. net::OK is not included.
  </summary>
</histogram>

<histogram name="OfflinePages.RequestJob.SeekFileErrorCode"
    enum="NetErrorCodes">
  <owner>jianli@chromium.org</owner>
  <summary>
    Positive net error code for the failure to seek the underlying file to serve
    the offline page. net::OK is not included.
  </summary>
</histogram>

<histogram name="OfflinePages.SavedPageCount" units="pages">
  <owner>jianli@chromium.org</owner>
  <summary>
    Number of saved pages restored from the offline pages metadata store when it
    is logged.
  </summary>
</histogram>

<histogram name="OfflinePages.SavePage.FreeSpaceMB" units="MB">
  <owner>jianli@chromium.org</owner>
  <summary>
    The amount of free space available, in megabytes, on the user's device after
    the page is saved.

    Note that before M52 this operation was started before save operation.
  </summary>
</histogram>

<histogram name="OfflinePages.SavePage.FreeSpacePercentage" units="%">
  <obsolete>
    Deprecated as of 5/2016. Marginal applicability.
  </obsolete>
  <owner>jianli@chromium.org</owner>
  <summary>
    The percentage of free space available on the user's device when the page is
    being saved.
  </summary>
</histogram>

<histogram name="OfflinePages.SavePage.PercentLoaded" units="%">
  <owner>dfalcantara@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <owner>ianwen@chromium.org</owner>
  <summary>
    The percentage of the page load completed when the button to save an offline
    page is pressed.
  </summary>
</histogram>

<histogram name="OfflinePages.SavePageResult" enum="OfflinePagesSavePageResult">
  <owner>jianli@chromium.org</owner>
  <summary>Result of saving an offline copy for a page.</summary>
</histogram>

<histogram name="OfflinePages.SavePageTime" units="ms">
  <owner>jianli@chromium.org</owner>
  <summary>
    The amount of time taken to save an offline copy for a page.
  </summary>
</histogram>

<histogram name="OfflinePages.SharedPageWasOffline"
    enum="OfflinePagesSharedPageWasOffline">
  <owner>dewittj@chromium.org</owner>
  <summary>Whether a shared page was an offline page or not.</summary>
</histogram>

<histogram name="OfflinePages.ShowOfflinePageOnBadNetwork" enum="Boolean">
  <obsolete>
    Deprecated 6/2016. Refactored into OfflinePages.RedirectResult.
  </obsolete>
  <owner>jianli@chromium.org</owner>
  <summary>
    Whether an offline page is shown, instead of error page, when the network is
    disconnected or poor condition.
  </summary>
</histogram>

<histogram name="OfflinePages.TabRestore" enum="OfflinePagesTabRestoreType">
  <owner>carlosk@chromium.org</owner>
  <summary>
    Tracks the reload of contents of an existing tab that is being restored
    either because that tab is being presented for the first time after Chrome
    was restarted or because its contents were discarded. All buckets are
    mutually exclusive (adding up all reported values amounts to the total
    number of tracked tab restores). This metric is focused on last_n offline
    pages and is exclusive to Chrome on Android.
  </summary>
</histogram>

<histogram name="OfflinePages.TotalPageSize" units="MB">
  <owner>fgorski@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>
    Total size of all the offline pages saved by the user.

    This value is recorded whenever the number of pages change, meaning after a
    page is added or removed. If pages are removed in bulk, this value will be
    reported only once.
  </summary>
</histogram>

<histogram name="OfflinePages.TotalPageSizePercentage" units="%">
  <obsolete>
    Deprecated as of 5/2016. Marginal applicability.
  </obsolete>
  <owner>fgorski@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>
    Total size of all the offline pages saved by the user as a percentage of
    total storage size.

    This value is recorded whenever the number of pages change, meaning after a
    page is added or removed.
  </summary>
</histogram>

<histogram name="OfflinePages.Wakeup.BatteryPercentage" units="%">
  <owner>petewil@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>
    Percentage of battery remaining when the offline page background loading
    task wakes up to check for work.
  </summary>
</histogram>

<histogram name="OfflinePages.Wakeup.ConnectedToPower" enum="BooleanConnected">
  <owner>petewil@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>
    Whether the device is plugged in when the offline page background load task
    wakes up to check or work.
  </summary>
</histogram>

<histogram name="OfflinePages.Wakeup.DelayTime" units="ms">
  <owner>petewil@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>
    Time delay from a dinosaur page to connection being available.
  </summary>
</histogram>

<histogram name="OfflinePages.Wakeup.NetworkAvailable"
    enum="NetworkConnectionType">
  <owner>petewil@chromium.org</owner>
  <owner>jianli@chromium.org</owner>
  <summary>
    Which network is available (if any) when the offling page background loading
    task wakes up to check for work.
  </summary>
</histogram>

<histogram
    name="OfflinePages.WebsiteSettings.ConnectedWhenOpenOnlineButtonClicked"
    enum="BooleanConnected">
  <owner>fgorski@chromium.org</owner>
  <summary>
    Indicates whether the browser was connected when Open online button was
    clicked on Website Settings popup, which causes a reload of an offline page
    to online version.
  </summary>
</histogram>

<histogram name="OfflinePages.WebsiteSettings.OpenOnlineButtonVisible"
    enum="BooleanVisible">
  <owner>fgorski@chromium.org</owner>
  <summary>
    Indicates whether Open online was visible in Website Settings popup, when it
    was shown for an offline page. (The button is visible only when Chrome is
    connected when the Website Settings popup is opened for offline page.)
  </summary>
</histogram>

<histogram name="OfflinePolicy.SuccessfulResourceLoadPercentage" units="%">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    When a page is loaded in offline mode, the percentage of resources on that
    page that were successfully loaded.
  </summary>
</histogram>

<histogram name="Omnibox.AggressiveHistoryURLProviderFieldTrialBeacon"
    enum="OmniboxAggressiveHistoryURLProviderFieldTrialBeacon">
  <obsolete>
    Aggressive HistoryURL provider field trial deleted in spring 2012.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    A number that indicates what omnibox ranking behavior the user is seeing as
    part of the OmniboxAggressiveHistoryURLProvider field trial
    (OmniboxAggressiveHistoryURLProvider).
  </summary>
</histogram>

<histogram name="Omnibox.AnswerParseSuccess" enum="BooleanSuccess">
  <owner>jdonnelly@chromium.org</owner>
  <summary>
    For each answer received in suggest responses, the number that are
    well-formed and contain all the required elements.
  </summary>
</histogram>

<histogram name="Omnibox.AnswerParseType" enum="SuggestionAnswerType">
  <owner>jdonnelly@chromium.org</owner>
  <summary>
    The number of times each omnibox suggestion answer type (e.g., weather,
    sports score) was received and parsed successfully. Can be normalized with
    the count of emits to Omnibox.SuggestRequest.Success.GoogleResponseTime,
    which counts all successful suggest responses from Google, not just those
    with answers attached. Note that GoogleResponseTime is technically off given
    that it will still count cases where we fail to extract, deserialize, or
    parse the response. But these cases are rare to non-existent.
  </summary>
</histogram>

<histogram name="Omnibox.CharTypedToRepaintLatency" units="ms">
  <owner>asvitkine@chromium.org</owner>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Records the time taken between a keystroke being typed in the omnibox and
    the text being painted. If there are multiple keystrokes before a paint,
    logs the time since the earliest one.

    This duration is composed of three parts: a) the time spent processing the
    initial input event, b) the time spent for the repaint task to be scheduled
    on the message loop and c) the time spent painting the Omnibox.

    To diagnose a regression, check the following breakdown metrics:
    Omnibox.QueryTime2 is a good proxy for (a) and Omnibox.PaintTime for (c).
    (b) does not have a corresponding histogram but can be analyzed on the UMA
    Task Profiler dashboard by looking at &quot;average queue time&quot; of the
    task DisplayScheduler::ScheduleBeginFrameDeadline.
  </summary>
</histogram>

<histogram name="Omnibox.ClipboardSuggestionShownAge" units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Recorded every time the omnibox is focussed and a recent URL from the user's
    clipboard is suggested.  The value indicates the estimated age of the
    clipboard.  (If Chrome observed the clipboard modification, this age is
    exact.  If Chrome did not observe the modification, then it's a conservative
    estimate: the last time Chrome observed a clipboard modification, which is
    certainly older than the current clipboard.  If Chrome never observed a
    clipboard modification, no clipboard suggestion is shown, meaning this
    histogram will never be emitted to.)

    Intended to be compared with MobileOmnibox.PressedClipboardSuggestionAge.
  </summary>
</histogram>

<histogram name="Omnibox.ClipboardSuggestionShownWithCurrentURL"
    enum="BooleanPresent">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Recorded every time the omnibox is focussed and a recent URL from the user's
    clipboard is suggested.  The value indicates whether the current URL was
    shown (which would appear above the clipboard URL suggestion) or was absent
    (which ought to only happen when the omnibox is empty / the user is on the
    NTP).

    On Android, the total count for this histogram can be usefully compared with
    the count of the user action FocusLocation in order to determine the rate at
    which a clipboard URL suggestion is shown in the omnibox.  To determine the
    same rate on iOS, one needs to compare this histogram's count with the sum
    of the user actions MobileFocusedOmniboxOnNtp, MobileFocusedFakeboxOnNtp,
    and MobileFocusedOmniboxNotOnNtp.

    Furthermore, on either platform, this histogram's count can be usefully
    compared with the count in the clipboard bucket of the
    Omnibox.SuggestionUsed.Provider histogram to determine the clickthrough rate
    on these suggestions.
  </summary>
</histogram>

<histogram name="Omnibox.CutOrCopyAllText" units="count">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The number of cut or copy commands on all selected text in the omnibox.
    Gathered on desktop platforms (Win, Mac, Linux, Chrome OS).
  </summary>
</histogram>

<histogram name="Omnibox.EnteredKeywordMode" enum="OmniboxEnteredKeywordMode">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The number of times users enter keyword hint mode &quot;Search ___
    for:&quot; and how.
  </summary>
</histogram>

<histogram name="Omnibox.FocusToEditTime" units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The length of time between when a user focused on the omnibox and first
    modifies the omnibox.
  </summary>
</histogram>

<histogram name="Omnibox.FocusToOpenTime" units="ms">
  <obsolete>
    Replaced with Omnibox.FocusToOpenTimeAnyPopupState in April 2014.
  </obsolete>
  <owner>mpearson@chromium.org</owner>
  <summary>
    The length of time between when a user focused on the omnibox and opened an
    omnibox match (which could be what they typed or a suggestion).
  </summary>
</histogram>

<histogram name="Omnibox.FocusToOpenTimeAnyPopupState" units="ms">
  <obsolete>
    Replaced with Omnibox.FocusToOpenTimeAnyPopupState2 in August, 2016.
  </obsolete>
  <owner>mpearson@chromium.org</owner>
  <summary>
    The length of time between when a user focused on the omnibox and opened an
    omnibox match (which could be what they typed or a suggestion).  This is
    recorded regardless of whether the omnibox dropdown (a.k.a. popup) is open.
  </summary>
</histogram>

<histogram name="Omnibox.FocusToOpenTimeAnyPopupState2" units="ms">
  <obsolete>
    Replaced with Omnibox.FocusToOpenTimeAnyPopupState3 in January, 2017, which
    only differs in the bucketing and range.
  </obsolete>
  <owner>mpearson@chromium.org</owner>
  <summary>
    The length of time between when a user focused on the omnibox and opened an
    omnibox match (which could be what they typed or a suggestion).  This is
    recorded regardless of whether the omnibox dropdown (a.k.a. popup) is open.
    It is not recorded if a match is opened without triggering a focus event,
    e.g., when a user drags a URL to the omnibox to navigate.

    To know how common this last condition is, compare the total count of this
    histogram to the total number of omnibox events.
  </summary>
</histogram>

<histogram name="Omnibox.FocusToOpenTimeAnyPopupState3" units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The length of time between when a user focused on the omnibox and opened an
    omnibox match (which could be what they typed or a suggestion).  This is
    recorded regardless of whether the omnibox dropdown (a.k.a. popup) is open.
    It is not recorded if a match is opened without triggering a focus event,
    e.g., when a user drags a URL to the omnibox to navigate.

    To know how common this last condition is, compare the total count of this
    histogram to the total number of omnibox events.
  </summary>
</histogram>

<histogram name="Omnibox.HardwareKeyboardModeEnabled" enum="BooleanEnabled">
  <owner>lpromero@chromium.org</owner>
  <summary>
    iOS: Records whether a hardware keyboard is used to input text. This is
    recorded each time a UIKeyboardWillChangeFrameNotification is sent while
    editing the omnibox text.
  </summary>
</histogram>

<histogram name="Omnibox.HasLegalDefaultMatchWithoutCompletion" enum="Boolean">
  <obsolete>
    Deprecated 2015-01-27
  </obsolete>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Whether there was at least one legal default match without an
    |inline_autocompletion|.  Recorded every time
    AutocompleteResult::SortAndCull() is called, which could happen multiple
    times on each keystroke.
  </summary>
</histogram>

<histogram name="Omnibox.HistoryQuickHistoryIDSetFromWords" units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Times URLIndexPrivateData::HistoryIDSetFromWords(), which is called by the
    omnibox's HistoryQuick provider.
    URLIndexPrivateData::HistoryIDSetFromWords() can be called multiple times
    per keystroke due to, for example, the cursor being in the middle of the
    input string or SearchProvider's calls to Classify().
  </summary>
</histogram>

<histogram name="Omnibox.InputType" enum="OmniboxInputType">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The kind of input the user provided when using the omnibox to go somewhere.
    The type can be misleading.  For example if the user typed 'http:/', it gets
    marked as a query because it cannot be opened as a URL even though the user
    probably wanted and selected a URL from the list of suggestions.
  </summary>
</histogram>

<histogram name="Omnibox.IsPasteAndGo" enum="Boolean">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Whether an omnibox interaction is a paste-and-search/paste-and-go action.
    (This histogram records both of these in the &quot;True&quot; bucket for
    this histogram because both of these are referred to as paste-and-go in the
    code.)  These typically involve right-clicking in the omnibox and selecting
    that option from the dropdown.
  </summary>
</histogram>

<histogram name="Omnibox.IsPopupOpen" enum="Boolean">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Whether the omnibox popup (a.k.a. dropdown) is open at the time the user
    used the omnibox to go somewhere.  It can be closed if, for instance, the
    user clicked in the omnibox and hit return to reload the same page.  Also,
    because paste-and-search/paste-and-go actions ignore the current content of
    the omnibox dropdown (if it is open) when they happen, we pretend the
    dropdown is closed when logging these.
  </summary>
</histogram>

<histogram name="Omnibox.JustDeletedText" enum="Boolean">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Whether the user deleted text immediately before selecting an omnibox
    suggestion.  This is usually the result of pressing backspace or delete.
  </summary>
</histogram>

<histogram name="Omnibox.NumEvents">
  <owner>mpearson@chromium.org</owner>
  <summary>The number of times users used the omnibox to go somewhere.</summary>
</histogram>

<histogram name="Omnibox.NumTypedTerms" units="terms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The number of terms in the text the user entered in the omnibox when they
    used the omnibox to go somewhere.  Terms are defined by splitting on
    whitespace.  All values larger than 6 are recorded in bucket 6.
  </summary>
</histogram>

<histogram name="Omnibox.PageContext" enum="OmniboxPageContext">
  <owner>mpearson@chromium.org</owner>
  <summary>
    What the user was viewing when the user used the omnibox to go somewhere.
  </summary>
</histogram>

<histogram name="Omnibox.PaintTime" units="ms">
  <owner>asvitkine@chromium.org</owner>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Records the time to paint the omnibox contents. This is a subcomponent of
    Omnibox.CharTypedToRepaintLatency. Implemented on desktop platforms.
  </summary>
</histogram>

<histogram name="Omnibox.Paste" units="count">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The number of paste commands on the text in the omnibox. Reported every time
    a paste command is done.
  </summary>
</histogram>

<histogram name="Omnibox.PasteAndGo" units="count">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The number of paste-and-go commands on the text in the omnibox. Reported
    every time a paste-and-go command is done.
  </summary>
</histogram>

<histogram name="Omnibox.PhysicalWebProvider.SuggestionUsedWithoutOmniboxFocus"
    enum="Boolean">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>
    Records a boolean value indicating whether the Physical Web provider was
    invoked by focusing the omnibox during the current omnibox session. This is
    unexpected; it's probably a bug somwhere. Recorded when the user selects an
    omnibox suggestion. Does not record when the Physical Web omnibox provider
    is disabled.
  </summary>
</histogram>

<histogram name="Omnibox.PhysicalWebProviderMatches">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>
    The number of matches returned by PhysicalWebProvider. Emitted when the
    omnibox is first focused, unless the user is in incognito mode. Capped at
    10.
  </summary>
</histogram>

<histogram name="Omnibox.ProgressBarBreakPointUpdateCount"
    units="break point updates">
  <owner>kkimlabs@chromium.org</owner>
  <summary>
    The number of progress bar break point updates from page load started to
    page load finished.
  </summary>
</histogram>

<histogram name="Omnibox.ProgressBarUpdateCount" units="frame updates">
  <owner>kkimlabs@chromium.org</owner>
  <summary>
    The number of progress bar frame updates from page load started to page load
    finished. If there is no animation, this matches
    Omnibox.ProgressBarBreakPointUpdateCount. Note that there can be additional
    updates after page load finished, animating to 100%, but this histogram
    doesn't include them.
  </summary>
</histogram>

<histogram name="Omnibox.ProviderTime" units="ms">
  <obsolete>
    Deprecated 2015-06-12. Replaced by Omnibox.ProviderTime2.
  </obsolete>
  <owner>mpearson@chromium.org</owner>
  <summary>
    The length of time taken by the named provider&quot;s synchronous pass.
  </summary>
</histogram>

<histogram name="Omnibox.ProviderTime2" units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The length of time taken by the named provider&quot;s synchronous pass.
  </summary>
</histogram>

<histogram name="Omnibox.QueryBookmarksTime">
  <obsolete>
    Deprecated 2012-11-14. Replaced by Omnibox.ProviderTime.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time the HistoryContentProvider takes to perform a bookmark search.
  </summary>
</histogram>

<histogram name="Omnibox.QueryTime" units="ms">
  <obsolete>
    Deprecated 2015-06-12. Replaced by Omnibox.QueryTime2.
  </obsolete>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Time it takes for the omnibox to become responsive to user input after the
    user has typed N characters. This measures the time it takes to start all
    the asynchronous autocomplete providers (but not wait for them to finish).
  </summary>
</histogram>

<histogram name="Omnibox.QueryTime2" units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Time it takes for the omnibox to become responsive to user input after the
    user has typed N characters. This measures the time it takes to start all
    the asynchronous autocomplete providers (but not wait for them to finish).
  </summary>
</histogram>

<histogram name="Omnibox.SaveStateForTabSwitch.UserInputInProgress"
    units="count">
  <owner>mpearson@chromium.org</owner>
  <summary>
    When a user switches tabs, whether the omnibox had an edit in progress.
  </summary>
</histogram>

<histogram name="Omnibox.SearchEngine" enum="OmniboxSearchEngine">
  <obsolete>
    Made obsolete around Chrome 32.  Use Omnibox.SearchEngineType instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The id of search engine that was used for search in omnibox. See
    src/chrome/browser/search_engines/template_url_prepopulate_data.cc for more
    info.
  </summary>
</histogram>

<histogram name="Omnibox.SearchEngineType" enum="OmniboxSearchEngineType">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The type of search engine associated with a match opened from the omnibox.
  </summary>
</histogram>

<histogram name="Omnibox.SearchProvider.AddHistoryResultsTime" units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Time it takes to add all the raw history results to the list of matches.
  </summary>
</histogram>

<histogram name="Omnibox.SearchProvider.ConvertResultsTime" units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Time it takes to convert all the results to matches and add them to a map,
    to keep the most relevant match for each result.
  </summary>
</histogram>

<histogram
    name="Omnibox.SearchProvider.GetMostRecentKeywordTermsDefaultProviderTime"
    units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Time it takes for the omnibox to search the previous query history database
    for queries that start with the omnibox text.
  </summary>
</histogram>

<histogram name="Omnibox.SearchProviderMatches">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The number of matches returned by SearchProvider.  Emitted on every call to
    SearchProvider::Start(), which effectively means every key stroke in the
    omnibox.
  </summary>
</histogram>

<histogram name="Omnibox.SelectedPosition" units="position">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The index of the item that the user selected in the omnibox popup (a.k.a.
    dropdown) list.  0 means the inline suggestion shown within the omnibox.
    This is also the same suggestion shown as the top item in the dropdown.  The
    second item in the dropdown will be recorded as bucket 1. The selected
    position is always set to 0 when the popup is closed at the time of
    navigation or if the user did a paste-and-search or paste-and-go action.
  </summary>
</histogram>

<histogram name="Omnibox.SuggestionUsed.NearbyURLCount" units="URLs">
  <obsolete>
    Deprecated in M58, replaced with
    Omnibox.SuggestionUsed.NearbyURLCount.AtFocus and
    Omnibox.SuggestionUsed.NearbyURLCount.AtMatchCreation.
  </obsolete>
  <summary>
    The number of nearby Physical Web URLs when the user focused the omnibox.
    Recorded when the user accepts an omnibox suggestion, regardless of whether
    the suggestion came from PhysicalWebProvider. Capped at 50.

    In M57, the values recorded by this histogram were determined to be bugged.
    It's believed that it was recording uninitialized values due to a corner
    case on Android that allows an omnibox suggestion to be selected without
    first focusing the omnibox. In addition to the new histograms,
    Omnibox.PhysicalWebProvider.SuggestionUsedWithoutOmniboxFocus was added to
    detect this case. https://crbug.com/691059
  </summary>
</histogram>

<histogram name="Omnibox.SuggestionUsed.NearbyURLCount.AtFocus" units="URLs">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>
    The number of nearby Physical Web URLs when Physical Web Provider was last
    focused (i.e., the start of the current session). Recorded when the user
    accepts an omnibox suggestion, regardless of whether the suggestion came
    from PhysicalWebProvider. Capped at 50.

    Does not record if the omnibox was not focused during the current session.
    Omnibox.PhysicalWebProvider.SuggestionUsedWithoutOmniboxFocus records true
    when we hit this case.
  </summary>
</histogram>

<histogram name="Omnibox.SuggestionUsed.NearbyURLCount.AtMatchCreation"
    units="URLs">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>
    The number of nearby Physical Web URLs when Physical Web Provider last
    constructed matches. Recorded when the user accepts an omnibox suggestion,
    regardless of whether the suggestion came from PhysicalWebProvider. Capped
    at 50.
  </summary>
</histogram>

<histogram name="Omnibox.SuggestionUsed.Provider" enum="OmniboxProviderType">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The provider of the suggestion the user selected when the user used the
    omnibox to go somewhere.
  </summary>
</histogram>

<histogram name="Omnibox.SuggestionUsed.ProviderAndResultType"
    enum="OmniboxProviderAndResultType">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The provider and result type of the suggestion the user selected when the
    user used the omnibox to go somewhere.
  </summary>
</histogram>

<histogram
    name="Omnibox.SuggestionUsed.Search.Experimental.ForegroundToFirstMeaningfulPaint.Prerender"
    units="ms">
  <owner>lpy@chromium.org</owner>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Measures the time from the page first appearing in the foreground to its
    first meaningful paint. Only recorded on navigations that use a prerender
    that is to a search query suggestion selected from the omnibox.
  </summary>
</histogram>

<histogram
    name="Omnibox.SuggestionUsed.Search.Experimental.NavigationToFirstMeaningfulPaint"
    units="ms">
  <owner>lpy@chromium.org</owner>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Measures the time from navigation start to first meaningful paint. Only
    recorded for a search query suggestion selected from the omnibox.
  </summary>
</histogram>

<histogram
    name="Omnibox.SuggestionUsed.Search.ForegroundToFirstContentfulPaint.Prerender"
    units="ms">
  <owner>lpy@chromium.org</owner>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Measures the time from the page first appearing in the foreground to its
    first contentful paint. Only recorded on navigations that use a prerender
    that is to a search query suggestion selected from the omnibox.
  </summary>
</histogram>

<histogram
    name="Omnibox.SuggestionUsed.Search.NavigationToFirstContentfulPaint"
    units="ms">
  <owner>lpy@chromium.org</owner>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Measures the time from navigation start to first contentful paint. Only
    recorded for a search query suggestion selected from the omnibox.
  </summary>
</histogram>

<histogram
    name="Omnibox.SuggestionUsed.Search.NavigationToFirstForeground.Prerender"
    units="ms">
  <owner>lpy@chromium.org</owner>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Measures the time from a page being navigated to in prerender to it first
    showing up in foreground. Only recorded on navigations that used a prerender
    that was to a search query suggestion selected from the omnibox. This is
    only recorded on pages that experience a first contentful paint.
  </summary>
</histogram>

<histogram name="Omnibox.SuggestionUsed.SearchVsUrl"
    enum="OmniboxSummarizedResultType">
  <owner>mpearson@google.com</owner>
  <summary>
    The rough type of the suggestion the user selected when the user used the
    omnibox to go somewhere.
  </summary>
</histogram>

<histogram
    name="Omnibox.SuggestionUsed.URL.Experimental.ForegroundToFirstMeaningfulPaint.Prerender"
    units="ms">
  <owner>lpy@chromium.org</owner>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Measures the time from the page first appearing in the foreground to its
    first meaningful paint. Only recorded on navigations that use a prerender
    that is to a URL suggestion selected from the omnibox.
  </summary>
</histogram>

<histogram
    name="Omnibox.SuggestionUsed.URL.Experimental.NavigationToFirstMeaningfulPaint"
    units="ms">
  <owner>lpy@chromium.org</owner>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Measures the time from navigation start to first meaningful paint. Only
    recorded for a URL suggestion selected from the omnibox.
  </summary>
</histogram>

<histogram
    name="Omnibox.SuggestionUsed.URL.ForegroundToFirstContentfulPaint.Prerender"
    units="ms">
  <owner>lpy@chromium.org</owner>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Measures the time from the page first appearing in the foreground to its
    first contentful paint. Only recorded on navigations that use a prerender
    that is to a URL suggestion selected from the omnibox.
  </summary>
</histogram>

<histogram name="Omnibox.SuggestionUsed.URL.NavigationToFirstContentfulPaint"
    units="ms">
  <owner>lpy@chromium.org</owner>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Measures the time from navigation start to first contentful paint. Only
    recorded for a URL suggestion selected from the omnibox.
  </summary>
</histogram>

<histogram
    name="Omnibox.SuggestionUsed.URL.NavigationToFirstForeground.Prerender"
    units="ms">
  <owner>lpy@chromium.org</owner>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Measures the time from a page being navigated to in prerender to it first
    showing up in foreground. Only recorded on navigations that used a prerender
    that was to a URL suggestion selected from the omnibox. This is only
    recorded on pages that experience a first contentful paint.
  </summary>
</histogram>

<histogram name="Omnibox.SuggestRequest.Failure.GoogleResponseTime" units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The time elapsed between the sending of a suggest request to Google until
    the time the request was returned with status==failed. Ignores requests that
    were canceled before being returned.
  </summary>
</histogram>

<histogram name="Omnibox.SuggestRequest.Success.GoogleResponseTime" units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The time elapsed between the sending of a suggest request to Google until
    the time the request was returned with status==success. Ignores requests
    that were canceled before being returned.
  </summary>
</histogram>

<histogram name="Omnibox.SuggestRequests" enum="OmniboxSuggestRequests">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Counts about the number of suggest requests the omnibox sent, invalidated,
    and replies received.
  </summary>
</histogram>

<histogram name="Omnibox.TypedLength" units="characters">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The length of the text the user entered in the omnibox when they used the
    omnibox to go somewhere.  All values larger than 500 are recorded in bucket
    500.
  </summary>
</histogram>

<histogram name="Omnibox.TypingDuration" units="ms">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The amount of time, in milliseconds, since the user first began modifying
    the text in the omnibox until the user used the omnibox to go somewhere. If
    at some point after modifying the text, the user reverted the modifications
    (thus seeing the current web page's URL again), then wrote in the omnibox
    again, this duration starts from the time of the second series of
    modification.
  </summary>
</histogram>

<histogram name="Omnibox.UserTextCleared" enum="OmniboxUserTextCleared">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>mpearson@chromium.org</owner>
  <summary>
    Counts the number of times that the user text is cleared.  IME users are
    sometimes in the situation that IME was unintentionally turned on and failed
    to input latin alphabets (ASCII characters) or the opposite case.  In that
    case, users may delete all the text and the user text gets cleared.  This
    histogram helps us estimate how often this scenario happens.

    Note that since we don't currently correlate &quot;text cleared&quot; events
    with IME usage, this also captures many other cases where users clear the
    text; though it explicitly doesn't log deleting all the permanent text as
    the first action of an editing sequence (see comments in
    OnAfterPossibleChange()).
  </summary>
</histogram>

<histogram name="Omnibox.ZeroSuggest.Eligible.OnFocus"
    enum="ZeroSuggestEligibleOnFocus">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Whether the user has settings configured so that the current page URL can be
    sent to the suggest server to request contextual suggestions.  For example,
    this is only supported for users who have Google as their default search
    engine (unmodified version of Google), have search suggest enabled, are
    signed-in and syncing without a custom passphrase, and don't have an
    incognito window open.  There are other criteria too.  Recorded on focus in
    the omnibox if there is default search provider and we've constructed a
    suggest URL.

    Some additional guidelines: if an incognito window is open, all focus events
    will go into the &quot;generally ineligible&quot; bucket. Likewise, if the
    current page is a search results page, we don't allow contextual suggestions
    either so focus events on those pages go in the &quot;generally
    ineligible&quot; bucket.  The difference between &quot;eligible&quot; and
    &quot;generally eligible but not this time&quot; depends only the properties
    of the current URL.

    Recorded regardless of whether contextual or non-contextual zero suggest is
    currently enabled on the user's platform.  However, if zero suggest (in all
    forms) is entirely disabled, the user will be perpetually ineligible.
  </summary>
</histogram>

<histogram name="Omnibox.ZeroSuggest.Eligible.OnProfileOpen"
    enum="BooleanSupported">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Whether the user has settings configured so that the current page URL could
    be sent to the suggest server to request contextual suggestions.  For
    example, this is only supported for users who have Google as their default
    search engine (unmodified version of Google), have search suggest enabled,
    and are signed-in and syncing without a custom passphrase.  There are other
    criteria too.  Recorded on profile open.  Note that opening an incognito
    window (if none are currently open under the given profile) counts as
    opening a new profile.

    Some additional guidelines: unlike Omnibox.ZeroSuggest.Eligible.OnFocus,
    because this is recorded on profile open, users cannot be declared
    ineligible because they have an incognito window open (it's impossible to
    have an incognito window open for a given profile at the time of profile
    open) and also cannot be declared ineligible because the user is viewing a
    search results page.  (We test this on-profile-open using an arbitrary URL.)

    Recorded regardless of whether contextual or non-contextual zero suggest is
    currently enabled on the user's platform.  However, if zero suggest (in all
    forms) is entirely disabled, the user will be perpetually ineligible.
  </summary>
</histogram>

<histogram name="Omnibox.ZeroSuggest.MostVisitedResultsCounterfactual">
  <owner>hfung@chromium.org</owner>
  <summary>
    The number of most visited suggestions returned when ZeroSuggest would have
    triggered.  The suggestions appear when the user has focused but not
    modified the omnibox.
  </summary>
</histogram>

<histogram name="Omnibox.ZeroSuggestRequests" enum="OmniboxZeroSuggestRequests">
  <owner>hfung@chromium.org</owner>
  <summary>
    Counts about the number of zero suggest requests (requests for suggestions
    when the user has focused but not modified the omnibox) the omnibox sent,
    invalidated, and replies received.
  </summary>
</histogram>

<histogram name="OOBE.BootToSignInCompleted" units="ms">
  <owner>merkulova@chromium.org</owner>
  <summary>Time from boot to sign-in completed.</summary>
</histogram>

<histogram name="OOBE.ErrorScreensTime.Enrollment" units="ms">
  <owner>achuith@chromium.org</owner>
  <summary>
    Time spent on error screens during enrollment or autoenrollment.
  </summary>
</histogram>

<histogram name="OOBE.ErrorScreensTime.Signin" units="ms">
  <owner>achuith@chromium.org</owner>
  <summary>Time spent on error screens during signin.</summary>
</histogram>

<histogram name="OOBE.ErrorScreensTime.Supervised" units="ms">
  <owner>achuith@chromium.org</owner>
  <summary>
    Time spent on error screens during supervised user creation.
  </summary>
</histogram>

<histogram name="OOBE.ErrorScreensTime.Update" units="ms">
  <owner>achuith@chromium.org</owner>
  <summary>Time spent on error screens during update.</summary>
</histogram>

<histogram name="OOBE.NetworkErrorShown.Enrollment" enum="NetworkErrorType">
  <owner>achuith@google.com</owner>
  <summary>
    Number of times error screen has appeared during enrollment or
    autoenrollment.
  </summary>
</histogram>

<histogram name="OOBE.NetworkErrorShown.Signin" enum="NetworkErrorType">
  <owner>achuith@google.com</owner>
  <summary>Number of times error screen has appeared during signin.</summary>
</histogram>

<histogram name="OOBE.NetworkErrorShown.Supervised" enum="NetworkErrorType">
  <owner>achuith@google.com</owner>
  <summary>
    Number of times error screen has appeared during supervised user creation.
  </summary>
</histogram>

<histogram name="OOBE.NetworkErrorShown.Update" enum="NetworkErrorType">
  <owner>achuith@google.com</owner>
  <summary>Number of times error screen has appeared during update.</summary>
</histogram>

<histogram name="OOBE.StepCompletionTime" units="ms">
  <owner>merkulova@chromium.org</owner>
  <summary>Time spent on specific OOBE screen.</summary>
</histogram>

<histogram name="OriginChip.Pressed">
  <obsolete>
    Deprecated with CL 731423002. OriginChip has been removed.
  </obsolete>
  <owner>gbillock@chromium.org</owner>
  <summary>The number of clicks on the origin chip.</summary>
</histogram>

<histogram name="OriginTrials.FeatureEnabled" enum="OriginTrialEnableResult">
  <obsolete>
    Obsolete as of Chrome 54. Sort of replaced by OriginTrials.ValidationResult.
  </obsolete>
  <owner>chasej@chromium.org</owner>
  <owner>iclelland@chromium.org</owner>
  <summary>
    Counts the results of origin trial checks to enable experimental features.
    The result for each feature check is counted at most once per execution
    context (e.g. page, worker).
  </summary>
</histogram>

<histogram name="OriginTrials.FeatureEnabled.MessageGenerated"
    enum="OriginTrialMessageGeneratedResult">
  <obsolete>
    Obsolete as of Chrome 54.
  </obsolete>
  <owner>chasej@chromium.org</owner>
  <owner>iclelland@chromium.org</owner>
  <summary>
    Counts how often an error message is generated for each origin trial check
    to enable an experimental feature.
  </summary>
</histogram>

<histogram name="OriginTrials.ValidationResult" enum="OriginTrialTokenStatus">
  <owner>chasej@chromium.org</owner>
  <owner>iclelland@chromium.org</owner>
  <summary>
    Counts the results of token validation checks to enable experimental
    features. The result for each token validation check is counted once per
    token per execution context (e.g. page, worker).
  </summary>
</histogram>

<histogram name="OSX.BluetoothAvailability" enum="BluetoothAvailability">
  <owner>erikchen@chromium.org</owner>
  <summary>
    The availability and capabilities of the Bluetooth driver on OSX devices.
    This metric is logged on startup.
  </summary>
</histogram>

<histogram name="OSX.CatSixtyFour" enum="CatSixtyFour">
  <obsolete>
    Obselete as of Chrome 43. See OmahaProxy for more relevant statistics.
  </obsolete>
  <owner>mark@chromium.org</owner>
  <summary>The cat's flavor and how many bits there are in it.</summary>
</histogram>

<histogram name="OSX.ExceptionHandlerEvents" enum="OSXExceptionHandlerEvents">
  <owner>mark@chromium.org</owner>
  <summary>Events seen by the OSX NSException swizzle.</summary>
</histogram>

<histogram name="OSX.Fullscreen.Enter" enum="OSXFullscreenParameters">
  <obsolete>
    Deprecated as of Chrome 40. See OSX.Fullscreen.Enter.Style,
    OSX.Fullscreen.Enter.WindowLocation and
    OSX.Settings.ScreensHaveSeparateSpaces.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    This event is recorded each time a user triggers fullscreen for a browser
    window. The value's bits reflect different parameters. Bit 0: Fullscreen
    entry mechanism (AppKit vs Immersive). Bit 1: Whether the window was on the
    primary screen (Primary vs. Secondary). Bit 2: Whether displays have
    separate spaces options is enabled (Seperate vs Shared). Bit 3: Whether
    there are multiple screens.
  </summary>
</histogram>

<histogram name="OSX.Fullscreen.Enter.Style" enum="OSXFullscreenStyle">
  <owner>erikchen@chromium.org</owner>
  <summary>
    This event is recorded each time a user triggers fullscreen for a browser
    window. It indicates the mechanism (immersive vs. AppKit) and the type of
    AppKit Fullscreen (Presentation Mode vs. Canonical Fullscreen).
  </summary>
</histogram>

<histogram name="OSX.Fullscreen.Enter.WindowLocation"
    enum="OSXFullscreenWindowLocation">
  <owner>erikchen@chromium.org</owner>
  <summary>
    This event is recorded each time a user triggers fullscreen for a browser
    window. It indicates the screen in which the window was fullscreened, and
    the number of screens available.
  </summary>
</histogram>

<histogram name="OSX.Handoff.Origin" enum="OSXHandoffOrigin">
  <owner>erikchen@chromium.org</owner>
  <summary>
    This event is recorded each time a Handoff is received by Chrome on OSX. The
    enumeration indicates the source of the Handoff.
  </summary>
</histogram>

<histogram name="OSX.KeychainReauthorizeIfNeeded" units="count">
  <owner>kerrnel@chromium.org</owner>
  <owner>mark@chromium.org</owner>
  <summary>
    The number of previous times that the keychain reauthorization did not
    complete, when run during the main browser launch.
  </summary>
</histogram>

<histogram name="OSX.KeychainReauthorizeIfNeededAtUpdate" units="count">
  <owner>kerrnel@chromium.org</owner>
  <owner>mark@chromium.org</owner>
  <summary>
    The number of previous times that the keychain reauthorization did not
    complete, when run at update time.
  </summary>
</histogram>

<histogram name="OSX.KeychainReauthorizeIfNeededAtUpdateSuccess" units="count">
  <owner>kerrnel@chromium.org</owner>
  <owner>mark@chromium.org</owner>
  <summary>
    How many times the keychain reauthorization ran before finally succeeding,
    when run at update time.
  </summary>
</histogram>

<histogram name="OSX.KeychainReauthorizeIfNeededSuccess" units="count">
  <owner>kerrnel@chromium.org</owner>
  <owner>mark@chromium.org</owner>
  <summary>
    How many times the keychain reauthorization ran before finally succeeding,
    when run during the main browser launch.
  </summary>
</histogram>

<histogram name="OSX.RendererHost.SurfaceWaitTime" units="ms">
  <obsolete>
    Deprecated as of 11/2015.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    This event records the amount of time that the browser process main thread
    blocks, waiting for a frame with the right dimensions to arrive from the gpu
    process.
  </summary>
</histogram>

<histogram name="OSX.Settings.ScreensHaveSeparateSpaces"
    enum="OSXScreensHaveSeparateSpaces">
  <owner>erikchen@chromium.org</owner>
  <summary>
    The configuration of the setting &quot;Screens Have Separate Spaces&quot;
    available in OSX 10.9+.
  </summary>
</histogram>

<histogram name="OSX.SharedMemory.Mechanism" enum="OSXSharedMemoryMechanism">
  <obsolete>
    Deprecated as of Chrome 51 since Mach has become the default mechanism.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    A histogram entry is emitted each time a base::SharedMemory object is
    constructed. The value of the entry indicates the mechanism used to back the
    shared memory region.
  </summary>
</histogram>

<histogram name="OSX.SystemHotkeyMap.LoadSuccess" enum="BooleanSuccess">
  <owner>erikchen@chromium.org</owner>
  <summary>
    Whether an attempt to load the system hotkeys on a Mac was successful.
  </summary>
</histogram>

<histogram name="OutdatedUpgradeBubble.NumLaterPerEnableAU">
  <owner>mad@chromium.org</owner>
  <summary>
    Counts the number of times the user clicked on the later button of the
    outdated upgrade bubble, before clicking on the enable updates button in the
    same Chrome session.
  </summary>
</histogram>

<histogram name="OutdatedUpgradeBubble.NumLaterPerReinstall">
  <owner>mad@chromium.org</owner>
  <summary>
    Counts the number of times the user clicked on the later button of the
    outdated upgrade bubble, before clicking on the reinstall button in the same
    Chrome session.
  </summary>
</histogram>

<histogram name="Overscroll.Cancelled" enum="NavigationDirection">
  <obsolete>
    Deprecated as of Chrome 59 in favour of Overscroll.Cancelled3.
  </obsolete>
  <owner>rbyers@chromium.org</owner>
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Overscroll gestures that were aborted before they were completed.
  </summary>
</histogram>

<histogram name="Overscroll.Cancelled3" enum="OverscrollNavigationType">
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Overscroll gestures that were aborted before they were completed.
  </summary>
</histogram>

<histogram name="Overscroll.Completed" enum="OverscrollMode">
  <obsolete>
    Deprecated as of Chrome 44 in favour of Overscroll.Cancelled and
    Overscroll.Navigated2.
  </obsolete>
  <owner>rbyers@chromium.org</owner>
  <owner>mfomitchev@chromium.org</owner>
  <summary>Completed overscroll gestures.</summary>
  <details>
    An overscroll gesture starts when user scrolls past the edge of the web page
    and continues scrolling in the same direction. An overscroll gesture is
    completed when user stops scrolling (e.g. by lifting the fingers from the
    touchscreen or touchpad).
  </details>
</histogram>

<histogram name="Overscroll.Navigated" enum="OverscrollMode">
  <obsolete>
    Deprecated as of Chrome 44 to switch to NavigationDirection enum.
  </obsolete>
  <owner>rbyers@chromium.org</owner>
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Navigations that were triggered due to completed overscroll gesture. Note
    that not all completed overscroll gestures trigger a navigation.
  </summary>
</histogram>

<histogram name="Overscroll.Navigated2" enum="NavigationDirection">
  <obsolete>
    Deprecated as of Chrome 59 in favour of Overscroll.Navigated3.
  </obsolete>
  <owner>rbyers@chromium.org</owner>
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Navigations that were triggered due to completed overscroll gesture. Note
    that not all completed overscroll gestures trigger a navigation.
  </summary>
</histogram>

<histogram name="Overscroll.Navigated3" enum="OverscrollNavigationType">
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Navigations that were triggered due to completed overscroll gesture. Note
    that not all completed overscroll gestures trigger a navigation.
  </summary>
</histogram>

<histogram name="Overscroll.Started" enum="OverscrollMode">
  <obsolete>
    Deprecated as of Chrome 44 to switch to NavigationDirection enum.
  </obsolete>
  <owner>rbyers@chromium.org</owner>
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Overscroll gestures initiated by the user. Note that not all overcroll
    gestures started are completed (e.g. the overscroll gesture is aborted if
    user clicks or presses a key during the gesture).
  </summary>
</histogram>

<histogram name="Overscroll.Started2" enum="NavigationDirection">
  <obsolete>
    Deprecated as of Chrome 59 in favour of Overscroll.Started3.
  </obsolete>
  <owner>rbyers@chromium.org</owner>
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Overscroll gestures initiated by the user. Note that not all overscroll
    gestures started are completed (e.g. the overscroll gesture is aborted if
    user clicks or presses a key during the gesture).
  </summary>
</histogram>

<histogram name="Overscroll.Started3" enum="OverscrollNavigationType">
  <owner>mfomitchev@chromium.org</owner>
  <summary>
    Overscroll gestures initiated by the user. Note that not all overscroll
    gestures started are completed (e.g. the overscroll gesture is aborted if
    user clicks or presses a key during the gesture).
  </summary>
</histogram>

<histogram name="Ozone.TouchNoiseFilter.FarApartTapDistance"
    units="squared pixels">
  <owner>pkotwicz@google.com</owner>
  <summary>
    The squared distance between taps which occur in quick succession. Only
    reported when the taps are far apart and touch noise filtering is enabled.
  </summary>
</histogram>

<histogram name="Ozone.TouchNoiseFilter.HorizontallyAlignedDistance"
    units="pixels">
  <owner>pkotwicz@google.com</owner>
  <summary>
    The horizontal distance from a &quot;touch press&quot; to the closest other
    touch. Only reported if there are two or more fingers onscreen and touch
    noise filtering is enabled.
  </summary>
</histogram>

<histogram name="Ozone.TouchNoiseFilter.TimeSinceLastNoiseOccurrence"
    units="ms">
  <owner>pkotwicz@google.com</owner>
  <summary>
    The amount of time between noisy touches. The amount of time since Chrome
    startup is recorded for the first noisy touch after startup.
  </summary>
</histogram>

<histogram name="Ozone.TouchNoiseFilter.TouchesAtSinglePositionDuration"
    units="ms">
  <owner>pkotwicz@google.com</owner>
  <summary>
    The time between taps which occur in quick succession at the same screen
    location. Only reported when touch noise filtering is enabled.
  </summary>
</histogram>

<histogram name="P2P.Client.Canceled.WaitingTimeSeconds" units="seconds">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The wall-clock time spent until a lookup was canceled.  This is reported
    every time p2p is used to find a candidate but the request was canceled.
  </summary>
</histogram>

<histogram name="P2P.Client.Found.CandidateCount" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of candidates on the LAN, i.e. the number of peers on the LAN
    offering at least N bytes of the requested file X. This is reported after
    examining responses from all peers on the LAN and picking a candidate.
  </summary>
</histogram>

<histogram name="P2P.Client.Found.ConnectionCount" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of p2p downloads of the peer that the returned URL points to.
    This is reported after examining responses from all peers on the LAN and
    picking a candidate.
  </summary>
</histogram>

<histogram name="P2P.Client.Found.WaitingTimeSeconds" units="seconds">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The wall-clock time spent waiting for the LAN-wide number of p2p downloads
    (i.e. the sum of p2p downloads from each peer on the LAN) to drop below the
    threshold.  This is reported after examining responses from all peers on the
    LAN and picking a candidate.
  </summary>
</histogram>

<histogram name="P2P.Client.LookupResult" enum="P2PLookupResult">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The result of the lookup. Possible values include &quot;Found&quot; (if a
    candidate - i.e. a peer offering at least N bytes of file X - was chosen),
    &quot;Not Found&quot; (if no candidate could be found), &quot;Vanished&quot;
    (if a candidate was found but vanished while waiting in line),
    &quot;Canceled&quot; (if a candidate was found but the request was canceled
    while waiting in line), and &quot;Filtered&quot; (if it was detected that
    mDNS was filtered). This is reported after examining responses from all
    peers on the LAN when p2p is used to find a candidate.
  </summary>
</histogram>

<histogram name="P2P.Client.NumPeers" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of peers implementing p2p file sharing on the network. This is
    reported every time p2p is used to look up a resource on a network where
    mDNS is not filtered.
  </summary>
</histogram>

<histogram name="P2P.Client.Vanished.WaitingTimeSeconds" units="seconds">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The wall-clock time spent waiting for one or more candidates (i.e. peers
    offering at least N bytes of file X) that all vanished before the LAN-wide
    number of p2p downloads dropped below the threshold. This is reported every
    time candidates were found using p2p but then vanished.
  </summary>
</histogram>

<histogram name="P2P.Server.ClientCount" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of currently connected HTTP clients. This is reported every time
    a HTTP client connects.
  </summary>
</histogram>

<histogram name="P2P.Server.ContentServedInterruptedMB" units="MB">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    Number of megabytes (1,000,000 bytes) served from the device (via HTTP)
    where the client disconnects prematurely. This is reported every time a file
    is served and the client disconnects before receiving all data.
  </summary>
</histogram>

<histogram name="P2P.Server.ContentServedSuccessfullyMB" units="MB">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    Number of megabytes (1,000,000 bytes) served from the device (via HTTP).
    This is reported every time a file have been served successfully.
  </summary>
</histogram>

<histogram name="P2P.Server.DownloadSpeedKBps" units="kB/s">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The average speed at which the download was served at, in kB/s. This is
    reported every time a file have been served successfully.
  </summary>
</histogram>

<histogram name="P2P.Server.FileCount" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of files available via p2p. This is reported every time a file is
    added or removed to the /var/cache/p2p directory.
  </summary>
</histogram>

<histogram name="P2P.Server.RangeBeginPercentage" units="%">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    When a client resumes a download, the HTTP request includes range specifier
    to skip the bytes it already has. This metric conveys this as a percentage
    of the file size.  This is reported every time a file is served, even if the
    request does not include a range specifier (in which case 0 is reported).
  </summary>
</histogram>

<histogram name="P2P.Server.RequestResult" enum="P2PServerResult">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The result of the HTTP request. Possible values include &quot;Response
    Sent&quot; (the resource was found and the response was successfully sent),
    &quot;Response Interrupted&quot; (the resource was found but the client
    disconnected), &quot;Malformed&quot; (the request was malformed), &quot;Not
    Found&quot; (the request was for a resource that was not found), and
    &quot;Index&quot; (the request was for the '/' or '/index.html' resource).
    This is reported for every HTTP request handled.
  </summary>
</histogram>

<histogram name="PageActionController.ExtensionsWithPageActions">
  <owner>finnur@chromium.org</owner>
  <summary>
    The number of Extensions that have Page Actions. Measured once per startup
    per profile.
  </summary>
</histogram>

<histogram name="PageImportanceSignals.HadFormInteraction.OnCommitLoad"
    enum="HadFormInteraction">
  <owner>kouhei@chromium.org</owner>
  <summary>
    Number of pages that had any HTML form interaction before next page load.
  </summary>
</histogram>

<histogram base="true" name="PageLoad.AbortTiming.Background" units="ms">
  <obsolete>
    Deprecated in favor of PageLoad.Experimental.AbortTiming equivalent.
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted due to being backgrounded.
  </summary>
</histogram>

<histogram base="true" name="PageLoad.AbortTiming.ClientRedirect" units="ms">
  <obsolete>
    Deprecated in favor of PageLoad.Experimental.AbortTiming equivalent.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted by a client side redirect (Javascript navigation).
  </summary>
</histogram>

<histogram base="true" name="PageLoad.AbortTiming.Close" units="ms">
  <obsolete>
    Deprecated in favor of PageLoad.Experimental.AbortTiming equivalent.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted by the user closing the tab or browser.
  </summary>
</histogram>

<histogram base="true" name="PageLoad.AbortTiming.ForwardBackNavigation"
    units="ms">
  <obsolete>
    Deprecated in favor of PageLoad.Experimental.AbortTiming equivalent.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted by a forward or back navigation.
  </summary>
</histogram>

<histogram base="true" name="PageLoad.AbortTiming.NewNavigation" units="ms">
  <obsolete>
    Deprecated in favor of PageLoad.Experimental.AbortTiming equivalent.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted by a new navigation.
  </summary>
</histogram>

<histogram base="true" name="PageLoad.AbortTiming.Other" units="ms">
  <obsolete>
    Deprecated in favor of PageLoad.Experimental.AbortTiming equivalent.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted. The abort cause is unknown.
  </summary>
</histogram>

<histogram base="true" name="PageLoad.AbortTiming.Reload" units="ms">
  <obsolete>
    Deprecated in favor of PageLoad.Experimental.AbortTiming equivalent.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted by a reload.
  </summary>
</histogram>

<histogram base="true" name="PageLoad.AbortTiming.Stop" units="ms">
  <obsolete>
    Deprecated in favor of PageLoad.Experimental.AbortTiming equivalent.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted by the user pressing stop.
  </summary>
</histogram>

<histogram name="PageLoad.AbortTiming.UnknownNavigation" units="ms">
  <obsolete>
    We now have sufficient infrastructure to always characterize aborts that
    resulted in new navigations.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted by a navigation with unknown transition type.
  </summary>
</histogram>

<histogram
    name="PageLoad.Clients.DataReductionProxy.Experimental.Bytes.Network.CompressionRatio"
    units="%">
  <owner>bengr@chromium.org</owner>
  <owner>ryansturm@chromium.org</owner>
  <summary>
    100 times the ratio of network bytes received to network bytes the user
    would have seen without data reduction proxy (not including headers) in a
    page load that had its main resource loaded through data reduction proxy.
    Recorded as a percent if the data reduction proxy saved the user data.
    Recorded per page load when the user navigates away, hides the tab, or
    backgrounds the app.
  </summary>
</histogram>

<histogram
    name="PageLoad.Clients.DataReductionProxy.Experimental.Bytes.Network.Inflation"
    units="KB">
  <owner>bengr@chromium.org</owner>
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The number of network kilobytes (not including headers) that the data
    reduction proxy inflated for the user in a page load that had its main
    resource was loaded through data reduction proxy. Recorded per page load
    when the user navigates away, hides the tab, or backgrounds the app.
  </summary>
</histogram>

<histogram
    name="PageLoad.Clients.DataReductionProxy.Experimental.Bytes.Network.InflationPercent"
    units="%">
  <owner>bengr@chromium.org</owner>
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The inflation in network kilobytes (not including headers) the user saw due
    to using data reduction proxy in a page load that had its main resource was
    loaded through data reduction proxy. Recorded as a percent when the user saw
    inflated data. Recorded per page load when the user navigates away, hides
    the tab, or backgrounds the app.
  </summary>
</histogram>

<histogram
    name="PageLoad.Clients.DataReductionProxy.Experimental.Bytes.Network.NonProxied"
    units="KB">
  <owner>bengr@chromium.org</owner>
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The number of network kilobytes that were not fetched through the data
    reduction proxy (not including headers) in a page load that had its main
    resource was loaded through data reduction proxy. Recorded per page load
    when the user navigates away, hides the tab, or backgrounds the app.
  </summary>
</histogram>

<histogram
    name="PageLoad.Clients.DataReductionProxy.Experimental.Bytes.Network.Original"
    units="KB">
  <owner>bengr@chromium.org</owner>
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The number of network kilobytes (not including headers) that the user would
    have seen without using data reduction proxy in a page load that had its
    main resource was loaded through data reduction proxy. Recorded per page
    load when the user navigates away, hides the tab, or backgrounds the app.
  </summary>
</histogram>

<histogram
    name="PageLoad.Clients.DataReductionProxy.Experimental.Bytes.Network.PercentProxied"
    units="%">
  <owner>bengr@chromium.org</owner>
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The percent of network kilobytes (not including headers) in a page load that
    went through data reduction proxy when the main resource was loaded through
    data reduction proxy. Recorded per page load when the user navigates away,
    hides the tab, or backgrounds the app.
  </summary>
</histogram>

<histogram
    name="PageLoad.Clients.DataReductionProxy.Experimental.Bytes.Network.Proxied"
    units="KB">
  <owner>bengr@chromium.org</owner>
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The number of network kilobytes that were fetched through the data reduction
    proxy (not including headers) in a page load that had its main resource was
    loaded through data reduction proxy. Recorded per page load when the user
    navigates away, hides the tab, or backgrounds the app.
  </summary>
</histogram>

<histogram
    name="PageLoad.Clients.DataReductionProxy.Experimental.Bytes.Network.Savings"
    units="KB">
  <owner>bengr@chromium.org</owner>
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The number of network kilobytes (not including headers) that the data
    reduction proxy saved the user in a page load that had its main resource was
    loaded through data reduction proxy. Recorded per page load when the user
    navigates away, hides the tab, or backgrounds the app.
  </summary>
</histogram>

<histogram
    name="PageLoad.Clients.DataReductionProxy.Experimental.CompletedResources.Network.PercentProxied"
    units="%">
  <owner>bengr@chromium.org</owner>
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The percent of completed resources loaded from network in a page load that
    use data reduction proxy when the main resource was loaded through data
    reduction proxy.  Recorded per page load when the user navigates away, hides
    the tab, or backgrounds the app.
  </summary>
</histogram>

<histogram name="PageLoad.Clients.DelayNavigation.Delay.Actual" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    The actual delay added to page loads by DelayNavigationThrottle, for page
    loads that started in the foreground and reached first paint in the
    foreground.
  </summary>
</histogram>

<histogram name="PageLoad.Clients.DelayNavigation.Delay.Delta" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    The absolute delta between the specified and actual delays added to main
    frame navigations by DelayNavigationThrottle, for page loads that started in
    the foreground and reached first paint in the foreground.
  </summary>
</histogram>

<histogram name="PageLoad.Clients.DelayNavigation.Delay.Specified" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    The specified delay added to main frame navigations by
    DelayNavigationThrottle, for page loads that started in the foreground and
    reached first paint in the foreground.
  </summary>
</histogram>

<histogram name="PageLoad.Clients.DocWrite.Block.Count" enum="Boolean">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Counts the number of pages where a script loaded via document.write could
    have been blocked.
  </summary>
</histogram>

<histogram name="PageLoad.Clients.DocWrite.Block.DocumentWriteLoadingBehavior"
    enum="DocumentWriteLoadingBehavior">
  <owner>shivanisha@chromium.org</owner>
  <owner>bmcquade@chromium.org</owner>
  <owner>jkarlin@chromium.org</owner>
  <summary>
    This metric measures the counts of pages for various loading behaviors of
    document.written scripts.
  </summary>
</histogram>

<histogram name="PageLoad.Clients.DocWrite.Block.ReloadCount">
  <owner>shivanisha@chromium.org</owner>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    This metric measures reloads in pages that have synchronous, cross-origin
    document.written scripts that could be blocked if document.write script
    blocking feature is enabled.
  </summary>
</histogram>

<histogram name="PageLoad.Clients.GoogleCaptcha.Events"
    enum="GoogleCaptchaEvent">
  <owner>mdw@chromium.org</owner>
  <summary>Events related to Google CAPTCHA pages being seen by users.</summary>
</histogram>

<histogram name="PageLoad.Clients.SubresourceFilter.ActivationDecision"
    enum="SubresourceFilterActivationDecision">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Records the policy decision to activate subresource filtering for a page
    load. 'Activated' indicates that subresource filtering was activated. All
    other reasons indicate that subresource filtering was not activated. Page
    loads where subresource filtering was activated ('Activated') and at least
    one subresource matched the subresource filter are counted in
    PageLoad.Clients.SubresourceFilter.Count.
  </summary>
</histogram>

<histogram name="PageLoad.Clients.SubresourceFilter.Count" enum="Boolean">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Records 'true' for page loads where the subresource filter matched a
    subresource loaded by the page. Includes dryrun matches. To compute the
    percentage of total page loads affected by subresource filtering, divide by
    the sum of counts for (PageLoad.ParseTiming.NavigationToParseStart +
    PageLoad.ParseTiming.NavigationToParseStart.Background).
  </summary>
</histogram>

<histogram name="PageLoad.CSSTiming.Parse.BeforeFirstContentfulPaint"
    units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The time spent parsing author style sheets before the first contentful
    paint.
  </summary>
</histogram>

<histogram name="PageLoad.CSSTiming.ParseAndUpdate.BeforeFirstContentfulPaint"
    units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The sum of CSSTiming.Update and CSSTiming.Parse variants for this page load.
  </summary>
</histogram>

<histogram name="PageLoad.CSSTiming.Update.BeforeFirstContentfulPaint"
    units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The time spent in Document::updateStyle before the first contentful paint.
  </summary>
</histogram>

<histogram
    name="PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired"
    units="ms">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    DOMContentLoaded event is fired, for main frame documents.
  </summary>
</histogram>

<histogram name="PageLoad.DocumentTiming.NavigationToFirstLayout" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    first layout is performed, for main frame documents.
  </summary>
</histogram>

<histogram name="PageLoad.DocumentTiming.NavigationToLoadEventFired" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    load event is fired, for main frame documents.
  </summary>
</histogram>

<histogram name="PageLoad.EventCounts" enum="PageLoadEvent">
  <obsolete>
    deprecated in favor of PageLoad.Events.*
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Captures counts of various page load events. These are enumerated in the
    enum page_load_metrics::PageLoadEvent, and include events like 'page load
    aborted before first layout'
  </summary>
</histogram>

<histogram name="PageLoad.Events.Committed" enum="CommittedLoadEvent">
  <obsolete>
    Deprecated in favor of PageLoad.Timing2.NavigationToCommit and
    PageLoad.AbortTiming.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Captures counts of load events post-commit, on relevant page loads (i.e.
    http/https, not same-page, not an error page). These events include aborts
    before first layout and successful first layouts. Note that the event
    'Committed load started' when segmented by background/foreground specifies
    whether the eventually committed load started in the background or
    foreground, not whether we backgrounded before the actual commit event. This
    is because we don't have all the data to filter relevant page loads on
    provisional loads.
  </summary>
</histogram>

<histogram name="PageLoad.Events.InternalError" enum="InternalErrorLoadEvent">
  <obsolete>
    Deprecated in favor of PageLoad.Internal.ErrorCode.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Counts of various internal error conditions in the page_load_metrics system.
  </summary>
</histogram>

<histogram name="PageLoad.Events.Provisional" enum="ProvisionalLoadEvent">
  <obsolete>
    Deprecated Feb 2016 in favor of PageLoad.AbortTiming and
    PageLoad.Timing2.NavigationToFailedProvisionalLoad. Note that the
    corresponding background enumerations are no longer being tracked in the
    timing histograms.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Captures counts of provisional load events. These include aborted, failed,
    and successful (committed) provisional loads.
  </summary>
</histogram>

<histogram base="true" name="PageLoad.Experimental.AbortTiming.Background"
    units="ms">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted due to being backgrounded.
  </summary>
</histogram>

<histogram base="true" name="PageLoad.Experimental.AbortTiming.ClientRedirect"
    units="ms">
  <obsolete>
    Deprecated in favor of PageLoad.Internal.ClientRedirect.*.
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted by a client side redirect (Javascript navigation).
  </summary>
</histogram>

<histogram base="true" name="PageLoad.Experimental.AbortTiming.Close"
    units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted by the user closing the tab or browser.
  </summary>
</histogram>

<histogram base="true"
    name="PageLoad.Experimental.AbortTiming.ForwardBackNavigation" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted by a forward or back navigation.
  </summary>
</histogram>

<histogram base="true" name="PageLoad.Experimental.AbortTiming.NewNavigation"
    units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted by a new navigation.
  </summary>
</histogram>

<histogram base="true" name="PageLoad.Experimental.AbortTiming.Other"
    units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted. The abort cause is unknown.
  </summary>
</histogram>

<histogram base="true" name="PageLoad.Experimental.AbortTiming.Reload"
    units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted by a reload.
  </summary>
</histogram>

<histogram base="true" name="PageLoad.Experimental.AbortTiming.Stop" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    This metric is still experimental and not yet ready to be relied upon.
    Measures the time from navigation start to the time the page load was
    aborted by the user pressing stop.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.Bytes.Cache" units="KB">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The number of prefiltered (e.g., compressed) KiloBytes loaded from the cache
    via the browser process for a page load. Recorded when the page load is
    terminated.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.Bytes.Network" units="KB">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The number of prefiltered (e.g., compressed) KiloBytes loaded over the
    network via the browser process for a page load. Recorded when the page load
    is terminated.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.Bytes.Total" units="KB">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The number of prefiltered (e.g., compressed) KiloBytes loaded via the
    browser process for a page load. Recorded when the page load is terminated.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.Cache.RequestPercent.ParseStop"
    units="%">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The percent of resources loaded from cache for the given page load. Recorded
    at the end of HTML parsing.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.Cache.TotalRequests.ParseStop"
    units="requests">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The number of resources a given page finished loading from cache at parse
    stop.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.CompletedResources.Cache"
    units="resources">
  <owner>csharrison@chromium.org</owner>
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The number of completed resources loaded from the cache via the browser
    process for a page load. Recorded when the page load is terminated.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.CompletedResources.Network"
    units="resources">
  <owner>csharrison@chromium.org</owner>
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The number of completed resources loaded from the network via the browser
    process for a page load. Recorded when the page load is terminated.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.CompletedResources.Total"
    units="resources">
  <owner>csharrison@chromium.org</owner>
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The total number of completed resources loaded via the browser process for a
    page load. Recorded when the page load is terminated.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.PageTiming.FirstPaintToFirstBackground"
    units="ms">
  <obsolete>
    Deprecated in favor of PageLoad.PageTiming.ForegroundDuration.AfterPaint.
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Measures the total time the page load was active after first paint, up until
    being backgrounded, prior to the page load terminating. Recorded only for
    page loads that started in the foreground.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.PageTiming.FirstPaintToPageEnd"
    units="ms">
  <obsolete>
    Deprecated in favor of PageLoad.PageTiming.ForegroundDuration.AfterPaint.
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Measures the total time the page load was active after first paint, for page
    loads that spend the entire time in the foreground.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.PageTiming.NavigationToFirstBackground"
    units="ms">
  <obsolete>
    Deprecated in favor of PageLoad.PageTiming.ForegroundDuration.
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Measures the total time the page load was active, up until being
    backgrounded, for page loads that started in the foreground.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.PageTiming.NavigationToPageEnd"
    units="ms">
  <obsolete>
    Deprecated in favor of PageLoad.PageTiming.ForegroundDuration.
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Measures the total time the page load was active, for page loads that spend
    the entire time in the foreground.
  </summary>
</histogram>

<histogram
    name="PageLoad.Experimental.PaintTiming.FirstMeaningfulPaintSignalStatus"
    enum="FirstMeaningfulPaintSignalStatus">
  <obsolete>
    Deprecated in favor of
    PageLoad.Experimental.PaintTiming.FirstMeaningfulPaintSignalStatus2.
  </obsolete>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Whether the user had any interaction on the page (except mouse move) after
    first paint, and whether the user left the page before network stable or
    not.
  </summary>
</histogram>

<histogram
    name="PageLoad.Experimental.PaintTiming.FirstMeaningfulPaintSignalStatus2"
    enum="FirstMeaningfulPaintSignalStatus">
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Whether the user had any interaction on the page (except mouse move) after
    first paint, and whether the user left the page before network stable or
    not. Not logged if page load was aborted before first paint.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.PaintTiming.FirstMeaningfulPaintStatus"
    enum="FirstMeaningfulPaintStatus">
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Records whether the First Meaningful Paint metric was reported for the page
    load, or why it wasn't if not. See http://bit.ly/ttfmp-doc for the
    definition of First Meaningful Paint.
  </summary>
</histogram>

<histogram
    name="PageLoad.Experimental.PaintTiming.FirstMeaningfulPaintToNetworkStable"
    units="ms">
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Measures the time between when the first meaningful paint
    (http://bit.ly/ttfmp-doc) was computed to have happened, and when we
    actually logged the metric.

    This metric is useful in helping us tweak when FirstMeaningfulPaintDetector
    should stop observing layout operations.
  </summary>
</histogram>

<histogram
    name="PageLoad.Experimental.PaintTiming.NavigationToFirstMeaningfulPaint"
    units="ms">
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the first
    meaningful paint (http://bit.ly/ttfmp-doc), for main frame documents.
  </summary>
</histogram>

<histogram
    name="PageLoad.Experimental.PaintTiming.ParseStartToFirstMeaningfulPaint"
    units="ms">
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Measures the time from when the HTML parser started, to the first meaningful
    paint (http://bit.ly/ttfmp-doc), for main frame documents.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.ParseDuration.CachedPercent.0-50"
    units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The parse duration of the page load where 0-50% of all subresources (loaded
    during parsing) were served from the HTTP cache (including 304s).
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.ParseDuration.CachedPercent.51-100"
    units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The parse duration of the page load where 51-100% of all subresources
    (loaded during parsing) were served from the HTTP cache (including 304s).
  </summary>
</histogram>

<histogram
    name="PageLoad.Experimental.Renderer.FirstMeaningfulPaintDetector.FirstMeaningfulPaintOrdering"
    enum="FirstMeaningfulPaintOrdering">
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Whether the two variants of First Meaningful Paint reported different
    values, and if so, which one was reported first.
  </summary>
</histogram>

<histogram
    name="PageLoad.Experimental.Renderer.FirstMeaningfulPaintDetector.HadNetworkQuiet"
    enum="NetworkQuietStatus">
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Recorded when the page load reached network 0-quiet (no active network
    connection for 0.5 seconds), or network 2-quiet (no more than 2 active
    network connections for 2 seconds).
    PageLoad.Experimental.PaintTiming.FirstMeaningfulPaintSignalStatus2
    histogram gives the fraction of page loads that had network 2-quiet, so it
    can be used as a baseline.
  </summary>
</histogram>

<histogram name="PageLoad.Experimental.TotalRequests.ParseStop"
    units="requests">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The number of resources a given page finished loading at parse stop.
  </summary>
</histogram>

<histogram name="PageLoad.InputTiming.NavigationToFirstNonScroll.AfterPaint"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Measures the time to first non-scroll input after the first paint.
  </summary>
</histogram>

<histogram name="PageLoad.InputTiming.NavigationToFirstScroll.AfterPaint"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Measures the time to first scroll input after the first paint.
  </summary>
</histogram>

<histogram name="PageLoad.Internal.ClientRedirect.FirstPaintToNavigation"
    units="ms">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    The delay between first paint and a client-side redirect navigation, for
    pages that reported a first paint. This metric is only intended to help in
    choosing a heuristic delay to distinguish between client-side redirects and
    other client initiated navigations, and will be deprecated in M54. Please
    contact bmcquade@chromium.org before using this metric.
  </summary>
</histogram>

<histogram name="PageLoad.Internal.ClientRedirect.NavigationWithoutPaint"
    enum="Boolean">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Counts how often a client-side redirect was initiated from a page that did
    not report a first paint. This metric is only intended to help in choosing a
    heuristic delay to distinguish between client-side redirects and other
    client initiated navigations, and will be deprecated in M54. Please contact
    bmcquade@chromium.org before using this metric.
  </summary>
</histogram>

<histogram name="PageLoad.Internal.ClientRedirectDelayAfterPaint" units="ms">
  <obsolete>
    Deprecated in favor of
    PageLoad.Internal.ClientRedirect.FirstPaintToNavigation and
    PageLoad.Internal.ClientRedirect.NavigationWithoutPaint.
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    The delay between first paint and a client-side redirection. This metric is
    only intended to help in choosing a heuristic delay to distinguish between
    client-side redirects and other client initiated navigations, and will be
    deprecated in M54. Please contact bmcquade@chromium.org before using this
    metric.
  </summary>
</histogram>

<histogram name="PageLoad.Internal.CommitToComplete.NoTimingIPCs" units="ms">
  <obsolete>
    Deprecated on 10/14/2016. No longer needed.
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    The delay between commit and completion, for page loads that did not receive
    any timing IPCs. This metric is only intended to help understand the cases
    where committed page loads don't receive timing IPCs. Please contact
    bmcquade@chromium.org before using this metric.
  </summary>
</histogram>

<histogram name="PageLoad.Internal.ErrorCode" enum="InternalErrorLoadEvent">
  <owner>csharrison@chromium.org</owner>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Counts of various internal error conditions in the page_load_metrics system.
  </summary>
</histogram>

<histogram name="PageLoad.Internal.NavigationStartedInForeground"
    enum="BooleanForeground">
  <owner>bmcquade@chromium.org</owner>
  <summary>Whether a navigation started in the foreground.</summary>
</histogram>

<histogram name="PageLoad.Internal.PageLoadCompleted.AfterAppBackground"
    enum="BooleanStartedCompleted">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Whether a page load completed after the app entered the background. We log a
    'Started' value for each PageLoadTracker that is active when the app enters
    the background, and a 'Completed' value for each of those PageLoadTrackers
    that successfully runs its destructor. This helps to understand how many
    trackers are destroyed while the app is in the background before they are
    able to run their destructor. This metric is only intended to help in
    understanding how often app background leads to data loss, and will be
    deprecated in a subsequent release. Please contact bmcquade@chromium.org
    before using this metric.
  </summary>
</histogram>

<histogram name="PageLoad.Internal.PageLoadTimingStatus"
    enum="PageLoadTimingStatus">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    The status of PageLoadTiming structs received from the render process over
    IPC.
  </summary>
</histogram>

<histogram name="PageLoad.Internal.Prerender" enum="BooleanHit">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Counts the number of prerender navigations. Only logs true values.
  </summary>
</histogram>

<histogram name="PageLoad.Internal.ProvisionalAbortChainSize.ForwardBack"
    units="length">
  <owner>csharrison@chromium.org</owner>
  <summary>
    This histogram counts the number of provisional loads aborted by other
    navigations, until a final forward back navigation commits.
  </summary>
</histogram>

<histogram name="PageLoad.Internal.ProvisionalAbortChainSize.NewNavigation"
    units="length">
  <owner>csharrison@chromium.org</owner>
  <summary>
    This histogram counts the number of provisional loads aborted by new
    navigations, until a final new navigation commits.
  </summary>
</histogram>

<histogram name="PageLoad.Internal.ProvisionalAbortChainSize.NoCommit"
    units="length">
  <owner>csharrison@chromium.org</owner>
  <summary>
    This histogram counts the number of provisional loads aborted by new
    navigations. In this case the chain never ends with a commit. This is logged
    on the next abort signal comes in (e.g. tab close or new navigation).
  </summary>
</histogram>

<histogram name="PageLoad.Internal.ProvisionalAbortChainSize.Reload"
    units="length">
  <owner>csharrison@chromium.org</owner>
  <summary>
    This histogram counts the number of provisional loads aborted by other
    navigations, until a final reload navigation commits.
  </summary>
</histogram>

<histogram name="PageLoad.Internal.ProvisionalAbortChainSize.SameURL"
    units="length">
  <owner>csharrison@chromium.org</owner>
  <summary>
    This histogram counts the number of consecutive provisional loads aborted by
    other navigations with the same url (before redirects). It's logged when a
    provisional abort does not share a URL, or when a load finally commits. Note
    that we don't log chains of length 0.
  </summary>
</histogram>

<histogram name="PageLoad.PageTiming.ForegroundDuration" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <summary>
    For page loads that start in the foreground, measures the duration of time
    until one of the following events occurs: the load of the main resource
    fails, the page load is stopped, the tab hosting the page is closed, the
    render process hosting the page goes away, a new navigation which later
    commits is initiated in the same tab, or the tab hosting the page is
    backgrounded. This metric has a very long tail, for pages that spend a long
    period of time in the foreground. As such, use of the mean or tail values
    are not recommended.
  </summary>
</histogram>

<histogram name="PageLoad.PageTiming.NavigationToFailedProvisionalLoad"
    units="ms">
  <owner>bmcquade@chromium.org</owner>
  <owner>shivanisha@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    provisional load failed. Only measures provisional loads that failed in the
    foreground.
  </summary>
</histogram>

<histogram name="PageLoad.PageTiming.NavigationToFirstForeground" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    user first foregrounds an initially backgrounded tab. Only measures
    navigations that started in the background.
  </summary>
</histogram>

<histogram name="PageLoad.PaintTiming.ForegroundToFirstPaint" units="ms">
  <owner>pkotwicz@chromium.org</owner>
  <summary>
    Measures the time from a background tab being switched to the foreground to
    the time the first paint is performed, for main frame documents.
  </summary>
</histogram>

<histogram name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"
    units="ms">
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time from navigation start to first &quot;contentful&quot; paint.
  </summary>
</histogram>

<histogram name="PageLoad.PaintTiming.NavigationToFirstImagePaint" units="ms">
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    first image is painted, for main frame documents. For images that render
    progressively, this is recorded as soon as any image pixels have been drawn.
  </summary>
</histogram>

<histogram name="PageLoad.PaintTiming.NavigationToFirstPaint" units="ms">
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    first paint is performed, for main frame documents.
  </summary>
</histogram>

<histogram name="PageLoad.PaintTiming.NavigationToFirstTextPaint" units="ms">
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    first non-blank text is painted, for main frame documents.
  </summary>
</histogram>

<histogram name="PageLoad.PaintTiming.ParseStartToFirstContentfulPaint"
    units="ms">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from when the HTML parser started, to when the page first
    paints content.
  </summary>
</histogram>

<histogram name="PageLoad.ParseTiming.NavigationToParseStart" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    parser started, for main frame documents.
  </summary>
</histogram>

<histogram name="PageLoad.ParseTiming.ParseBlockedOnScriptExecution" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time that the HTML parser spent blocked on the execution of
    scripts, for main frame documents that finished parsing.
  </summary>
</histogram>

<histogram
    name="PageLoad.ParseTiming.ParseBlockedOnScriptExecutionFromDocumentWrite"
    units="ms">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time that the HTML parser spent blocked on the execution of
    scripts inserted from document.write, for main frame documents that finished
    parsing.
  </summary>
</histogram>

<histogram name="PageLoad.ParseTiming.ParseBlockedOnScriptLoad" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time that the HTML parser spent blocked on the load of scripts,
    for main frame documents that finished parsing.
  </summary>
</histogram>

<histogram
    name="PageLoad.ParseTiming.ParseBlockedOnScriptLoadFromDocumentWrite"
    units="ms">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time that the HTML parser spent blocked on the load of scripts
    inserted from document.write, for main frame documents that finished
    parsing.
  </summary>
</histogram>

<histogram name="PageLoad.ParseTiming.ParseDuration" units="ms">
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time that the HTML parser was active, for main frame documents
    that finished parsing.
  </summary>
</histogram>

<histogram name="PageLoad.Timing.NavigationToDOMContentLoadedEventFired"
    units="ms">
  <obsolete>
    deprecated in favor of PageLoad.Timing2.*
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    DOMContentLoaded event is fired, for main frame documents.
  </summary>
</histogram>

<histogram name="PageLoad.Timing.NavigationToFirstLayout" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.Timing2.*
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    first layout is performed, for main frame documents.
  </summary>
</histogram>

<histogram name="PageLoad.Timing.NavigationToLoadEventFired" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.Timing2.*
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    load event is fired, for main frame documents.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.DOMLoadingToDOMContentLoadedEventFired"
    units="ms">
  <obsolete>
    deprecated in favor of PageLoad.DocumentTiming.ParseDuration
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from when DOM loading occurs (the time that HTML parsing
    begins) to the time the DOMContentLoaded event is fired, for main frame
    documents. This is equivalent to the time that the HTML document resource
    was being parsed.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.DOMLoadingToFirstContentfulPaint" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.PaintTiming.ParseStartToFirstContentfulPaint
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from when DOM loading occurs (the time that HTML parsing
    begins) to first &quot;contentful&quot; paint.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.ForegroundToFirstPaint" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.PaintTiming.ForegroundToFirstPaint
  </obsolete>
  <owner>pkotwicz@chromium.org</owner>
  <summary>
    Measures the time from a background tab being switched to the foreground to
    the time the first paint is performed, for main frame documents.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.NavigationToCommit" units="ms">
  <obsolete>
    Deprecated in favor of PageLoad.ParseTiming.NavigationToParseStart
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    navigation committed, for main frame documents.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.NavigationToDOMContentLoadedEventFired"
    units="ms">
  <obsolete>
    deprecated in favor of
    PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    DOMContentLoaded event is fired, for main frame documents. This metric is
    being phased out in favor of the PageLoad.DocumentTiming equivalent and will
    be deprecated in M54.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.NavigationToFailedProvisionalLoad" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.PageTiming.NavigationToFailedProvisionalLoad
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>shivanisha@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    provisional load failed. Only measures provisional loads that failed in the
    foreground.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.NavigationToFirstBackground" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.AbortTiming.Background.*
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    user first backgrounds the tab. Only measures navigations that started in
    the foreground.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.NavigationToFirstContentfulPaint" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.PaintTiming.NavigationToFirstContentfulPaint
  </obsolete>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time from navigation start to first &quot;contentful&quot; paint.  This
    metric is being phased out in favor of the PageLoad.PaintTiming equivalent
    and will be deprecated in M54.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.NavigationToFirstForeground" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.PageTiming.NavigationToFirstForeground
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    user first foregrounds an initially backgrounded tab. Only measures
    navigations that started in the background.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.NavigationToFirstImagePaint" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.PaintTiming.NavigationToFirstImagePaint
  </obsolete>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    first image is painted, for main frame documents. For images that render
    progressively, this is recorded as soon as any image pixels have been drawn.
    This metric is being phased out in favor of the PageLoad.PaintTiming
    equivalent and will be deprecated in M54.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.NavigationToFirstLayout" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.DocumentTiming.NavigationToFirstLayout
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    first layout is performed, for main frame documents. This metric is being
    phased out in favor of the PageLoad.DocumentTiming equivalent and will be
    deprecated in M54.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.NavigationToFirstPaint" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.PaintTiming.NavigationToFirstPaint
  </obsolete>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    first paint is performed, for main frame documents. This metric is being
    phased out in favor of the PageLoad.PaintTiming equivalent and will be
    deprecated in M54.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.NavigationToFirstTextPaint" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.PaintTiming.NavigationToFirstTextPaint
  </obsolete>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    first non-blank text is painted, for main frame documents. This metric is
    being phased out in favor of the PageLoad.PaintTiming equivalent and will be
    deprecated in M54.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.NavigationToLoadEventFired" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.DocumentTiming.NavigationToLoadEventFired
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    load event is fired, for main frame documents. This metric is being phased
    out in favor of the PageLoad.DocumentTiming equivalent and will be
    deprecated in M54.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.ParseBlockedOnScriptLoad" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.ParseTiming.ParseBlockedOnScriptLoad
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time that the HTML parser spent blocked on the load of scripts,
    for main frame documents that started parsing.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.ParseBlockedOnScriptLoad.ParseComplete"
    units="ms">
  <obsolete>
    deprecated in favor of PageLoad.ParseTiming.ParseBlockedOnScriptLoad
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time that the HTML parser spent blocked on the load of scripts,
    for main frame documents that finished parsing. This metric is being phased
    out in favor of the PageLoad.ParseTiming equivalent and will be deprecated
    in M54.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.ParseBlockedOnScriptLoadFromDocumentWrite"
    units="ms">
  <obsolete>
    deprecated in favor of
    PageLoad.ParseTiming.ParseBlockedOnScriptLoadFromDocumentWrite
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time that the HTML parser spent blocked on the load of scripts
    inserted from document.write, for main frame documents that started parsing.
  </summary>
</histogram>

<histogram
    name="PageLoad.Timing2.ParseBlockedOnScriptLoadFromDocumentWrite.ParseComplete"
    units="ms">
  <obsolete>
    deprecated in favor of
    PageLoad.ParseTiming.ParseBlockedOnScriptLoadFromDocumentWrite
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time that the HTML parser spent blocked on the load of scripts
    inserted from document.write, for main frame documents that finished
    parsing. This metric is being phased out in favor of the
    PageLoad.ParseTiming equivalent and will be deprecated in M54.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.ParseDuration" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.ParseTiming.ParseDuration
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time that the HTML parser was active, for main frame documents
    that finished parsing. This metric is being phased out in favor of the
    PageLoad.ParseTiming equivalent and will be deprecated in M54.
  </summary>
</histogram>

<histogram name="PageLoad.Timing2.ParseStartToFirstContentfulPaint" units="ms">
  <obsolete>
    deprecated in favor of PageLoad.PaintTiming.ParseStartToFirstContentfulPaint
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <owner>csharrison@chromium.org</owner>
  <summary>
    Measures the time from when the HTML parser started, to when the page first
    paints content. This metric is being phased out in favor of the
    PageLoad.PaintTiming equivalent and will be deprecated in M54.
  </summary>
</histogram>

<histogram
    name="PageSerialization.MhtmlGeneration.BrowserWaitForRendererTime.FrameTree"
    units="ms">
  <owner>carlosk@chromium.org</owner>
  <summary>
    Total time the browser process waited for all render processes to save their
    respective frames while saving a page into MHTML.
  </summary>
</histogram>

<histogram
    name="PageSerialization.MhtmlGeneration.BrowserWaitForRendererTime.SingleFrame"
    units="ms">
  <owner>carlosk@chromium.org</owner>
  <summary>
    Time the browser process waited on a single frame to be saved by a render
    processes while saving a page into MHTML.
  </summary>
</histogram>

<histogram name="PageSerialization.MhtmlGeneration.EncodingTime.SingleFrame"
    units="microseconds">
  <owner>carlosk@chromium.org</owner>
  <summary>
    Time taken to encode into MTHML the fully serialized contents of a frame.
  </summary>
</histogram>

<histogram name="PageSerialization.MhtmlGeneration.FinalSaveStatus"
    enum="MhtmlGenerationFinalSaveStatus">
  <owner>carlosk@chromium.org</owner>
  <summary>Final status of the MHTML save operation for a page.</summary>
</histogram>

<histogram name="PageSerialization.MhtmlGeneration.FullPageSavingTime"
    units="ms">
  <owner>carlosk@chromium.org</owner>
  <summary>Time taken to save a page into an MHTML file.</summary>
</histogram>

<histogram
    name="PageSerialization.MhtmlGeneration.RendererMainThreadTime.FrameTree"
    units="ms">
  <owner>carlosk@chromium.org</owner>
  <summary>
    Time spent by the main threads of all involved render processes while saving
    the frame tree of a page to MHTML.
  </summary>
</histogram>

<histogram
    name="PageSerialization.MhtmlGeneration.RendererMainThreadTime.SingleFrame"
    units="ms">
  <owner>carlosk@chromium.org</owner>
  <summary>
    Time spent by the renderer main thread while saving one frame of a page to
    MHTML.
  </summary>
</histogram>

<histogram
    name="PageSerialization.MhtmlGeneration.RendererMainThreadTime.SlowestFrame"
    units="ms">
  <owner>carlosk@chromium.org</owner>
  <summary>
    The longest time taken by the main thread of a render processes to save one
    frame of a page being saved to MHTML. In other words this is the maximum
    value reported in
    PageSerialization.MhtmlGeneration.RendererMainThreadTime.SingleFrame for one
    page save operation.
  </summary>
</histogram>

<histogram
    name="PageSerialization.MhtmlGeneration.SerializationTime.SingleFrame"
    units="microseconds">
  <owner>carlosk@chromium.org</owner>
  <summary>
    Time taken to fully serialize the contents of a frame, including HTML and
    CSS and image resources.
  </summary>
</histogram>

<histogram name="PageSerialization.MhtmlGeneration.WriteToDiskTime.SingleFrame"
    units="ms">
  <owner>carlosk@chromium.org</owner>
  <summary>
    Time spent writing a frame's encoded MHTML data to the file on disk.
  </summary>
</histogram>

<histogram name="PageSerialization.SerializationTime.CSSElement"
    units="microseconds">
  <owner>carlosk@chromium.org</owner>
  <summary>
    Time spent serializing a CSS element (including embedded &quot;sub&quot;-CSS
    and images).
  </summary>
</histogram>

<histogram name="PageSerialization.SerializationTime.Html" units="microseconds">
  <owner>carlosk@chromium.org</owner>
  <summary>
    Time taken to generate HTML data from a frame's DOM and serialize it
    (without sub-resources like CSS and images).
  </summary>
</histogram>

<histogram name="PageSerialization.SerializationTime.ImageElement"
    units="microseconds">
  <owner>carlosk@chromium.org</owner>
  <summary>Time spent serializing an image element.</summary>
</histogram>

<histogram name="Parser.AppendBytesDelay" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The delay from when bytes are received on the main thread to when the
    BackgroundHTMLParser starts tokenizing them. Always a shorter time than the
    time emitted to Parser.PreloadTokenizeDelay.
  </summary>
</histogram>

<histogram name="Parser.ChunkEnqueueTime" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The time it takes to enqueue a ParsedChunk onto the shared parser queue.
  </summary>
</histogram>

<histogram name="Parser.DiscardedTokenCount" units="tokens">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The number of speculative tokens discarded by the parser when a rewind is
    needed.
  </summary>
</histogram>

<histogram name="Parser.PeakPendingChunkCount" units="chunks">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The maximum number of pending Chunks in the ParsedChunkQueue after the
    parser is detached.
  </summary>
</histogram>

<histogram name="Parser.PeakPendingTokenCount" units="tokens">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The maximum number of pending tokens in the ParsedChunkQueue after the
    parser is detached.
  </summary>
</histogram>

<histogram name="Parser.PreloadTokenizeDelay" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The delay from when bytes are received on the main thread to when they are
    tokenized and preloads are sent back to the main parser. Always a greater
    time than the time emitted to Parser.AppendBytesDelay.
  </summary>
</histogram>

<histogram name="PartitionAlloc.CommittedSize" units="MB">
  <owner>haraken@chromium.org</owner>
  <summary>
    The committed memory size in PartitionAlloc. The value is reported when we
    see the highest memory usage we've ever seen in the renderer process.
  </summary>
</histogram>

<histogram name="PasswordBubble.DisplayDisposition"
    enum="PasswordBubbleDisplayDisposition">
  <owner>vasilii@chromium.org</owner>
  <summary>
    When the password management bubble opened, what state was it in?
  </summary>
</histogram>

<histogram name="PasswordGeneration.Event" enum="PasswordGenerationEvent">
  <owner>gcasto@chromium.org</owner>
  <summary>
    Measures the frequency of various password generation events.

    Note that this histogram is logged from the renderer process, and
    consequently the numbers should not be directly compared to the other
    PasswordGeneration.* histograms, which are logged from the browser process.
    Histograms logged in different processes are lost at different rates, which
    introduces systematic bias between histograms logged in the renderer process
    vs. those logged in the browser process.
  </summary>
</histogram>

<histogram name="PasswordGeneration.SubmissionAvailableEvent"
    enum="PasswordSubmissionEvent">
  <owner>gcasto@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    Measures the frequency of submission events for passwords that could have
    been generated, but the user didn't choose to use the feature. This is to
    compare with PasswordGeneration.SubmssionEvent.
  </summary>
</histogram>

<histogram name="PasswordGeneration.SubmissionEvent"
    enum="PasswordSubmissionEvent">
  <owner>gcasto@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    Measures the frequency of submission events for generated passwords. This is
    similar to PasswordManager.ActionsTakenWithPsl but only tracks events which
    are interesting for generated passwords.
  </summary>
</histogram>

<histogram name="PasswordGeneration.UploadStarted" enum="Boolean">
  <owner>gcasto@chromium.org</owner>
  <summary>
    The number of times that we try to upload a form that we believe should
    trigger password generation. False means that something about the form would
    not allow us to try upload (not an Autofillable field, uploading disabled,
    Autofill servers in backoff, etc.). True does not mean that the upload
    actually completed successfully, just that it was started.
  </summary>
</histogram>

<histogram name="PasswordHash.CreateTime">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Time required to create the local hash of the user's GAIA password.
  </summary>
</histogram>

<histogram name="PasswordManager.AccountChooserDialog"
    enum="AccountChooserDismissalReason">
  <obsolete>
    Deprecated as of Chrome 56. See the histograms for one and more accounts.
  </obsolete>
  <owner>vasilii@chromium.org</owner>
  <summary>The dismissal reason of the account chooser.</summary>
</histogram>

<histogram name="PasswordManager.AccountChooserDialogAccounts" units="accounts">
  <owner>vasilii@chromium.org</owner>
  <summary>The number of accounts displayed in the account chooser.</summary>
</histogram>

<histogram name="PasswordManager.AccountChooserDialogEmptyAvatars"
    units="avatars">
  <owner>vasilii@chromium.org</owner>
  <summary>
    The count of the placeholder avatars shown in the account chooser.
  </summary>
</histogram>

<histogram name="PasswordManager.AccountChooserDialogMultipleAccounts"
    enum="AccountChooserDismissalReason">
  <owner>vasilii@chromium.org</owner>
  <summary>
    The dismissal reason of the account chooser with multiple accounts.
  </summary>
</histogram>

<histogram name="PasswordManager.AccountChooserDialogOneAccount"
    enum="AccountChooserDismissalReason">
  <owner>vasilii@chromium.org</owner>
  <summary>
    The dismissal reason of the account chooser with one account.
  </summary>
</histogram>

<histogram name="PasswordManager.AccountChooserDialogUsability"
    enum="AccountChooserUsabilityState">
  <owner>vasilii@chromium.org</owner>
  <summary>
    Whether the account chooser includes an empty username or any duplicates
  </summary>
</histogram>

<histogram name="PasswordManager.AccountsPerSite">
  <owner>gcasto@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    The number of accounts stored per site in the password manager (one event
    per site)
  </summary>
</histogram>

<histogram name="PasswordManager.AccountsReusingPassword" units="accounts">
  <owner>engedy@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    Records, for each account, the number of other accounts (across all sites
    and usernames) that reuse the same password. Only non-blacklisted,
    HTML-form-based accounts are considered.

    For each account, samples will only be recorded into the histograms that
    have the first suffix corresponding to whether that account was saved on a
    secure website or not. The second suffix is used to further categorize the
    other accounts that reuse the same password based on how they relate to the
    account in question, and whether they are secure. The number of other
    accounts in each category will be reported into histogram with the
    respective second suffixes.

    Metrics are collected once per browser start-up. In case of multiple
    profiles, the counts are for the profile for which a WebContents is first
    created.
  </summary>
</histogram>

<histogram name="PasswordManager.ActionsTaken"
    enum="PasswordManagerActionsTaken">
  <obsolete>
    Deprecated as of Chrome 32. See PasswordManagerActionsTakenWithPsl
  </obsolete>
  <owner>vabr@chromium.org</owner>
  <summary>
    Stats documenting how we handle every form containing a password, bucketed
    by the actions taken.
  </summary>
</histogram>

<histogram name="PasswordManager.ActionsTakenOnNonSecureForm"
    enum="PasswordManagerActionsTakenV3">
  <owner>estark@chromium.org</owner>
  <summary>
    Stats documenting how we handle every form containing a password on a
    non-secure page, bucketed by the actions taken.
  </summary>
</histogram>

<histogram name="PasswordManager.ActionsTakenV3"
    enum="PasswordManagerActionsTakenV3">
  <owner>vabr@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Stats documenting how we handle every form containing a password, bucketed
    by the actions taken.
  </summary>
</histogram>

<histogram name="PasswordManager.ActionsTakenWithPsl"
    enum="PasswordManagerActionsTakenWithPsl">
  <obsolete>
    Deprecated as of 3/18/2014. See PasswordManagerActionsTakenV3.
  </obsolete>
  <owner>vabr@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Stats documenting how we handle every form containing a password, bucketed
    by the actions taken.
  </summary>
</histogram>

<histogram name="PasswordManager.AffiliationBackend.FetchSize" units="facets">
  <owner>engedy@chromium.org</owner>
  <summary>
    The number of facets for which affiliation information was requested in a
    network fetch. Recorded for each network fetch.
  </summary>
</histogram>

<histogram name="PasswordManager.AffiliationBackend.FirstFetchDelay" units="ms">
  <owner>engedy@chromium.org</owner>
  <summary>
    The time elapsed between creation of the AffiliationBackend and the first
    time it needed to issue a network fetch.
  </summary>
</histogram>

<histogram name="PasswordManager.AffiliationBackend.SubsequentFetchDelay"
    units="ms">
  <owner>engedy@chromium.org</owner>
  <summary>
    The elapsed time between subsequent network fetches. Recorded whenever the
    AffiliationBackend initiated a network fetch, regardless of success or
    failure.
  </summary>
</histogram>

<histogram name="PasswordManager.AffiliationDummyData.RequestResultCount"
    units="results">
  <owner>engedy@chromium.org</owner>
  <summary>
    The number of facets affiliated with a dummy Web facet, according to the
    affiliation information retrieved from the cache. Recorded for each dummy
    Web facet, once shortly after start-up, and then periodically every hour;
    but only if getting affiliations succeeded for the Web facet.
  </summary>
</histogram>

<histogram name="PasswordManager.AffiliationDummyData.RequestSuccess"
    enum="BooleanSuccess">
  <owner>engedy@chromium.org</owner>
  <summary>
    Whether or not affiliations of a dummy Web facet could be successfully
    retrieved from the cache. Recorded for each dummy Web facet, once shortly
    after start-up, and then periodically every hour.
  </summary>
</histogram>

<histogram name="PasswordManager.AffiliationFetcher.FetchErrorCode"
    enum="NetErrorCodes">
  <owner>engedy@chromium.org</owner>
  <summary>
    The network error code, as reported by the underlying URLFetcher. Recorded
    only for each network fetch that failed due to network/server errors.
  </summary>
</histogram>

<histogram name="PasswordManager.AffiliationFetcher.FetchHttpResponseCode"
    enum="HttpResponseCode">
  <owner>engedy@chromium.org</owner>
  <summary>
    The HTTP response code, as reported by the underlying URLFetcher. Recorded
    only for each network fetch that failed due to network/server errors.
  </summary>
</histogram>

<histogram name="PasswordManager.AffiliationFetcher.FetchResult"
    enum="AffiliationFetchResult">
  <owner>engedy@chromium.org</owner>
  <summary>
    Whether the network fetch succeeded, failed due to network/server errors, or
    contained malformed data. Recorded for each network fetch.
  </summary>
</histogram>

<histogram name="PasswordManager.AllowToCollectURLBubble.UIDismissalReason"
    enum="PasswordManagerAllowToCollectURLBubble.UIDismissalReason">
  <obsolete>
    The bubble isn't shown anymore. Become obsolete in Feb. 2015.
  </obsolete>
  <owner>melandory@chromium.org</owner>
  <owner>vasilii@chromium.org</owner>
  <summary>Why was &quot;Allow to collect URL?&quot; bubble closed?</summary>
</histogram>

<histogram name="PasswordManager.AutocompletePopupSuppressedByGeneration"
    enum="BooleanSuppressed">
  <owner>gcasto@chromium.org</owner>
  <summary>
    If the password manager UI was suppressed because generation UI was already
    being displayed for the same field.
  </summary>
</histogram>

<histogram name="PasswordManager.AutoSigninFirstRunDialog"
    enum="AutoSigninFirstRun">
  <owner>vasilii@chromium.org</owner>
  <summary>
    The dismissal reason of the auto-signin first run experience.
  </summary>
</histogram>

<histogram name="PasswordManager.BlacklistedSites">
  <owner>gcasto@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    The total number of sites that the user has blacklisted. Recorded by
    iterating over stored passwords once per run of Chrome.
  </summary>
</histogram>

<histogram name="PasswordManager.EmptyUsernames.CountInDatabase">
  <owner>vasilii@chromium.org</owner>
  <summary>
    Number of password forms with empty username in the Login Database. This is
    recorded on startup.
  </summary>
</histogram>

<histogram
    name="PasswordManager.EmptyUsernames.FormWithoutUsernameFieldIsPasswordChangeForm"
    enum="PasswordManagerEmptyUsernamePasswordChangeForm">
  <owner>msramek@chromium.org</owner>
  <owner>vasilii@chromium.org</owner>
  <summary>
    When parsing a password form, and no username field is detected, whether
    this was a password change form.
  </summary>
</histogram>

<histogram name="PasswordManager.EmptyUsernames.OfferedToSave"
    enum="PasswordManagerShowEmptyUsername">
  <owner>vasilii@chromium.org</owner>
  <summary>
    When offering to save a password, whether the username is empty.
  </summary>
</histogram>

<histogram name="PasswordManager.EmptyUsernames.ParsedUsernameField"
    enum="PasswordManagerEmptyUsernameField">
  <owner>vasilii@chromium.org</owner>
  <summary>
    When parsing a password form, whether a username field is detected.
  </summary>
</histogram>

<histogram name="PasswordManager.EmptyUsernames.PasswordFieldCount">
  <owner>msramek@chromium.org</owner>
  <owner>vasilii@chromium.org</owner>
  <summary>
    The number of password fields for password forms that do not have a username
    field. This is recorded every time such a password form is successfully
    parsed. Note that the parsing is attempted when the form is encountered (i.e
    when the document is loaded) and also when it is submitted.
  </summary>
</histogram>

<histogram name="PasswordManager.EmptyUsernames.TextAndPasswordFieldCount">
  <owner>msramek@chromium.org</owner>
  <owner>vasilii@chromium.org</owner>
  <summary>
    The total number of text and password fields for password forms that do not
    have a username field. This is recorded every time such a password form is
    successfully parsed. Note that the parsing is attempted when the form is
    encountered (i.e when the document is loaded) and also when it is submitted.
  </summary>
</histogram>

<histogram name="PasswordManager.EmptyUsernames.WithoutCorrespondingNonempty">
  <owner>msramek@chromium.org</owner>
  <owner>vasilii@chromium.org</owner>
  <summary>
    Number of password forms with empty username in the Login Database for which
    there is not another password form from the same realm with a nonempty
    username. In other words, number of password forms with empty username which
    we do not suspect to be reauthentication forms.
  </summary>
</histogram>

<histogram name="PasswordManager.Enabled" enum="BooleanEnabled">
  <owner>vabr@chromium.org</owner>
  <summary>
    Indicates whether the password manager is enabled when a tab is opened. This
    includes prerendered tabs.
  </summary>
</histogram>

<histogram name="PasswordManager.ExportedPasswordsPerUserInCSV">
  <owner>xunlu@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>The number of passwords exported in CSV format per user.</summary>
</histogram>

<histogram name="PasswordManager.FilledCredentialWasFromAndroidApp"
    enum="PasswordManagerFilledAndroidCredentials">
  <owner>msramek@chromium.org</owner>
  <owner>engedy@chromium.org</owner>
  <summary>
    When a credential is filled, whether it comes from an Android app.
  </summary>
</histogram>

<histogram name="PasswordManager.FillSuggestionsIncludeAndroidAppCredentials"
    enum="PasswordManagerOfferedAndroidCredentials">
  <owner>msramek@chromium.org</owner>
  <owner>engedy@chromium.org</owner>
  <summary>
    When offering to fill the username and password, whether at least one of the
    credentials in the dropdown comes from an Android app.
  </summary>
</histogram>

<histogram name="PasswordManager.FormDataDeserializationStatus"
    enum="FormDataDeserializationStatus">
  <owner>gcasto@chromium.org</owner>
  <owner>dvadym@chromium.org</owner>
  <summary>
    The success or failure of deserializing saved FormData. Failure either
    indicates corrupted data or the presence of bugs in the serialization or
    deserialization code.
  </summary>
</histogram>

<histogram name="PasswordManager.GeneratedFormHasNoFormManager"
    enum="BooleanFormManager">
  <owner>gcasto@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <owner>deepak.m1@samsung.com</owner>
  <summary>
    When the generation state of a password was changed, records whether an
    existing form corresponding to the password was found.
  </summary>
</histogram>

<histogram name="PasswordManager.GetMediated" enum="CredentialManagerGetResult">
  <owner>vasilii@chromium.org</owner>
  <summary>
    Tracks result of navigator.credentials.get() with unmediated=false. That is
    the result of account chooser.
  </summary>
</histogram>

<histogram name="PasswordManager.GetUnmediated"
    enum="CredentialManagerGetResult">
  <owner>vasilii@chromium.org</owner>
  <summary>
    Tracks result of navigator.credentials.get() with unmediated=true. That is
    the result of auto sign-in.
  </summary>
</histogram>

<histogram name="PasswordManager.HttpPasswordMigrationCount"
    units="saved credentials">
  <owner>vasilii@chromium.org</owner>
  <summary>
    Number of HTTP saved passwords that were migrated to HTTPS. Recorded on
    HTTPS password form load when there are no credentials saved.
  </summary>
</histogram>

<histogram name="PasswordManager.HttpPasswordMigrationMode"
    enum="HttpPasswordMigrationMode">
  <owner>jdoerrie@chromium.org</owner>
  <summary>
    The mode of migration applied to HTTP passwords migrating to HTTPS. Recorded
    on HTTPS password form load when there are no credentials saved.
  </summary>
</histogram>

<histogram name="PasswordManager.ImportedPasswordsPerUserInCSV">
  <owner>xunlu@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>The number of passwords imported in CSV format per user</summary>
</histogram>

<histogram name="PasswordManager.ImportPasswordFromCSVResult"
    enum="PasswordImportFromCSVResult">
  <owner>xunlu@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    The response code of successful or failed password import attempt from a CSV
    file.
  </summary>
</histogram>

<histogram name="PasswordManager.InfoBarResponse" enum="InfoBarResponse">
  <obsolete>
    Deprecated as of 03/2016. This metric has been replaced by
    PasswordManager.UIDismissalReason.
  </obsolete>
  <owner>vabr@chromium.org</owner>
  <summary>
    The distribution of responses to the &quot;Do you want Chrome to remember
    this password&quot;? info bar prompt.
  </summary>
</histogram>

<histogram
    name="PasswordManager.KeychainMigration.NumChromeOwnedInaccessiblePasswords">
  <obsolete>
    Deprecated as of 09/2016.
  </obsolete>
  <owner>vasilii@chromium.org</owner>
  <summary>
    After migration from the Mac Keychain fails, records the number of passwords
    in the Keychain owned by Chrome but not accessible by it.
  </summary>
</histogram>

<histogram name="PasswordManager.KeychainMigration.NumFailedPasswords">
  <owner>vasilii@chromium.org</owner>
  <summary>
    After migration from the Mac Keychain fails, records the number of passwords
    in the Chrome Password Manager database for which the corresponding values
    in the Keychain are not accessible by Chrome.
  </summary>
</histogram>

<histogram name="PasswordManager.KeychainMigration.NumPasswordsOnFailure">
  <owner>vasilii@chromium.org</owner>
  <summary>
    After migration from the Mac Keychain fails, records the number of passwords
    in the Chrome Password Manager database to be migrated. As there is no
    partial migration, it's the total number of passwords in the DB.
  </summary>
</histogram>

<histogram name="PasswordManager.KeychainMigration.Status"
    enum="KeychainMigrationStatus">
  <owner>vasilii@chromium.org</owner>
  <summary>
    The status of passwords migration from the Keychain. It's recorded shortly
    after startup.
  </summary>
</histogram>

<histogram name="PasswordManager.KWalletDeserializationStatus"
    enum="BooleanSuccess">
  <owner>gcasto@chromium.org</owner>
  <owner>dvadym@chromium.org</owner>
  <summary>
    The success or failure of deserializing PasswordForms in KWallet. Failure
    either indicates corrupted data or the presense of bugs in the
    deserialization code.
  </summary>
</histogram>

<histogram name="PasswordManager.LinuxBackendStatistics">
  <owner>dvadym@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    Information about usage of password storage backends on Linux. It also
    includes whether a command line flag for a specific backend is given.
  </summary>
</histogram>

<histogram name="PasswordManager.LoginDatabaseFailedVersion">
  <owner>vasilii@chromium.org</owner>
  <summary>
    The version of LoginDatabase if the migration to a new one failed.
  </summary>
</histogram>

<histogram name="PasswordManager.LoginDatabaseInit"
    enum="LoginDatabaseInitError">
  <owner>vasilii@chromium.org</owner>
  <summary>An error on LoginDatabase initialization.</summary>
</histogram>

<histogram name="PasswordManager.MultiAccountPasswordUpdateAction"
    enum="MultiAccountUpdateBubbleUserAction">
  <owner>dvadym@chromium.org</owner>
  <summary>
    A user action when a password update bubble with multiple accounts is shown.
  </summary>
</histogram>

<histogram name="PasswordManager.NumPasswordsDeletedByBulkDelete">
  <owner>vabr@chromium.org</owner>
  <summary>
    Number of passwords deleted when the user chooses to clear passwords via the
    clear browsing data UI.
  </summary>
</histogram>

<histogram name="PasswordManager.NumPasswordsDeletedDuringRollback">
  <owner>vasilii@chromium.org</owner>
  <summary>
    Number of passwords deleted when browsing data is cleared during rollback.
  </summary>
</histogram>

<histogram name="PasswordManager.NumPasswordsDeletedWhenBlacklisting">
  <obsolete>
    Deprecated as of 08/2015.
  </obsolete>
  <owner>vabr@chromium.org</owner>
  <summary>
    When the user chooses to never remember passwords for a form, we remove all
    previously saved credentials for that form. This is the count of those
    credentials.
  </summary>
</histogram>

<histogram name="PasswordManager.NumPasswordsNotShown">
  <owner>vabr@chromium.org</owner>
  <summary>
    The password manager only shows those credentials that are considered the
    best match for a particular form. This stat keep track of the credentials
    that were not as good of a match and were suppressed.
  </summary>
</histogram>

<histogram name="PasswordManager.OsPasswordStatus"
    enum="PasswordManagerOsPasswordStatus">
  <owner>vabr@chromium.org</owner>
  <owner>wfh@chromium.org</owner>
  <summary>
    Indicates whether the user's OS password is blank or not at browser startup.
  </summary>
</histogram>

<histogram name="PasswordManager.OtherPossibleUsernamesUsage"
    enum="OtherPossibleUsernamesUsage">
  <owner>vabr@chromium.org</owner>
  <summary>
    Breakdown of how other possible usernames are displayed. Recorded every time
    we autofill a password form.
  </summary>
</histogram>

<histogram name="PasswordManager.PasswordReuse.MainFrameMatchCsdWhitelist"
    enum="Boolean">
  <owner>dvadym@chromium.org</owner>
  <owner>jialiul@chromium.org</owner>
  <owner>nparker@chromium.org</owner>
  <summary>
    A password reuse is an event when the user typed a string that is equal to a
    saved password on another domain, and this saved password is called reused
    password.

    This metric shows whether a password reuse happens on a page whose main
    frame url matches CSD whitelist.
  </summary>
</histogram>

<histogram name="PasswordManager.PasswordReuse.NumberOfMatches"
    units="credentials">
  <owner>dvadym@chromium.org</owner>
  <owner>nparker@chromium.org</owner>
  <summary>
    A password reuse is an event when the user typed a string that is equal to a
    saved password on another domain, and this saved password is called reused
    password.

    This metric shows how many saved credentials have password that's equal to
    the reused password.
  </summary>
</histogram>

<histogram name="PasswordManager.PasswordReuse.PasswordFieldDetected"
    enum="PasswordReusePasswordFieldDetected">
  <owner>dvadym@chromium.org</owner>
  <owner>nparker@chromium.org</owner>
  <summary>
    A password reuse is an event when the user typed a string that is equal to a
    saved password on another domain, and this saved password is called reused
    password.

    This metric reports whether a password field had been detected on a page
    when a password reuse happened.
  </summary>
</histogram>

<histogram name="PasswordManager.PasswordReuse.PasswordLength"
    units="characters">
  <owner>dvadym@chromium.org</owner>
  <owner>nparker@chromium.org</owner>
  <summary>
    A password reuse is an event when the user typed a string that is equal to a
    saved password on another domain, and this saved password is called reused
    password.

    This metric shows the length of the reused password.
  </summary>
</histogram>

<histogram name="PasswordManager.PasswordReuse.TotalPasswords"
    units="credentials">
  <owner>dvadym@chromium.org</owner>
  <owner>nparker@chromium.org</owner>
  <summary>
    A password reuse is an event when the user typed a string that is equal to a
    saved password on another domain, and this saved password is called reused
    password.

    This metric shows how many credentials are stored in Password Manager when a
    password reuse happened.
  </summary>
</histogram>

<histogram name="PasswordManager.PasswordSyncState" enum="PasswordSyncState">
  <owner>gcasto@chromium.org</owner>
  <owner>rouslan@chromium.org</owner>
  <summary>
    Whether the passwords are syncing and, if not, then what's causing sync
    failures. Recorded after the first sync attempt either succeeds or fails.
  </summary>
</histogram>

<histogram name="PasswordManager.ProvisionalSaveFailure"
    enum="ProvisionalSaveFailure">
  <owner>vabr@chromium.org</owner>
  <summary>
    Breakdown of cases where a password is submitted, but we don't even try and
    save it. Recorded for every password form submit.
  </summary>
</histogram>

<histogram name="PasswordManager.PslDomainMatchTriggering"
    enum="PasswordManagerPslDomainMatchTriggering">
  <owner>vabr@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Breakdown on trigger rate of providing a password form autofill entry based
    on matching stored information using the public suffix list (PSL) for
    possible matches. In addition, this metric also counts cases where a
    existing federated entry was successfully matched via PSL. For example, this
    includes cases where an existing federated credential for
    https://example.com was used for https://subdomain.example.com.
  </summary>
</histogram>

<histogram name="PasswordManager.SavePasswordPromptDisappearedQuickly"
    enum="Boolean">
  <obsolete>
    Deprecated as of 03/2016.
  </obsolete>
  <owner>vabr@chromium.org</owner>
  <summary>
    Indicates whether the save password prompt disappeared in less than one
    second. This most likely indicates that the prompt was dismissed
    automatically, e.g. due to a page navigation, before the user was able to
    respond to the infobar.
  </summary>
</histogram>

<histogram name="PasswordManager.SavePasswordPromptDisplayed" enum="Boolean">
  <obsolete>
    Deprecated as of 03/2016.
  </obsolete>
  <owner>vabr@chromium.org</owner>
  <summary>Indicates whether the save password prompt was displayed.</summary>
</histogram>

<histogram name="PasswordManager.SavePasswordPromptResponse"
    enum="SavePasswordPromptResponseType">
  <obsolete>
    Deprecated as of 03/2016.
  </obsolete>
  <owner>vabr@chromium.org</owner>
  <summary>
    Breakdown of which response the user selected from the save password prompt.
  </summary>
</histogram>

<histogram name="PasswordManager.SettingsReconciliation.InitialAndFinalValues"
    enum="PasswordManagerPreferencesInitialAndFinalValues">
  <owner>engedy@chromium.org</owner>
  <owner>melandory@chromium.org</owner>
  <summary>
    Tracks the pair of initial values and pair of final values for the legacy
    preference for controlling the Chrome Password Manager and the new
    preference for controlling Smart Lock on Android. A single sample is
    recorded after sync has merged last snapshot and finished initialization for
    sync users, and on profile initialization for non-sync users.
  </summary>
</histogram>

<histogram name="PasswordManager.SettingsReconciliation.InitialValues"
    enum="PasswordManagerPreferencesInitialValues">
  <owner>engedy@chromium.org</owner>
  <owner>melandory@chromium.org</owner>
  <summary>
    Tracks the pair of initial values for both for the legacy preference for
    controlling the Chrome Password Manager and new preference for controlling
    Smart Lock on Android. Sample is recorded on every profile initialization
    before reconciliation logic is taken place, e.g. when user logs in to
    browser, on a startup of a browser.
  </summary>
</histogram>

<histogram
    name="PasswordManager.ShouldBlockPasswordForSameOriginButDifferentScheme"
    enum="BooleanBlocked">
  <owner>jdoerrie@chromium.org</owner>
  <summary>
    This metric is recorded every time Chrome detects a password form
    submission. The credential might be proposed to be saved, or it might be
    blocked. It is blocked if the previously detected password form submission
    was successful, and the current submission is from a URL with the same
    origin, but a different and insecure scheme. That is, if the previously
    provisionally saved credential is for https://example.com, a new credential
    for http://example.com would be blocked. More details can be found in the
    doc associated with http://crbug.com/571580.
  </summary>
</histogram>

<histogram name="PasswordManager.ShouldShowAutoSignInFirstRunExperience"
    enum="BooleanPending">
  <owner>vasilii@chromium.org</owner>
  <summary>
    Records if the user still has to click through the first run experience to
    benefit from auto sign-in behavior. Recorded on every start-up.
  </summary>
</histogram>

<histogram name="PasswordManager.ShowedFormNotSecureWarningOnCurrentNavigation"
    enum="BooleanShown">
  <owner>estark@chromium.org</owner>
  <summary>
    Recorded (at most once per main-frame navigation) when a password form shows
    a warning that the form is not secure.
  </summary>
</histogram>

<histogram name="PasswordManager.SignInPromo"
    enum="PasswordBubbleSignInPromoDismissalReason">
  <owner>vasilii@chromium.org</owner>
  <summary>
    User action on the Chrome Sync promo that appears in the password bubble.
    The promo offers to sign in to Chrome.
  </summary>
</histogram>

<histogram name="PasswordManager.SignInPromoCountTilClick">
  <obsolete>
    Deprecated as of 12/16/16. New statistic is
    PasswordManager.SignInPromoCountTil*.
  </obsolete>
  <owner>vasilii@chromium.org</owner>
  <summary>
    The number of times the Sign In promo in the password bubble was shown
    before user clicked on it.
  </summary>
</histogram>

<histogram name="PasswordManager.SignInPromoCountTilNoThanks">
  <owner>vasilii@chromium.org</owner>
  <summary>
    The number of times the Sign In promo in the password bubble was shown
    before user clicked on &quot;No thanks&quot;.
  </summary>
</histogram>

<histogram name="PasswordManager.SignInPromoCountTilSignIn">
  <owner>vasilii@chromium.org</owner>
  <summary>
    The number of times the Sign In promo in the password bubble was shown
    before user clicked on &quot;Sign in&quot;.
  </summary>
</histogram>

<histogram name="PasswordManager.SignInPromoDismissalCount">
  <owner>vasilii@chromium.org</owner>
  <summary>
    The number of times the Sign In promo in the password bubble was implcitly
    dismissed. Recorded each time the promo is implicitly dismissed.
  </summary>
</histogram>

<histogram name="PasswordManager.StorePasswordImportedFromCSVResult"
    enum="BooleanSuccess">
  <owner>xunlu@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    Whether password manager stored passwords imported from CSV file
    successfully.
  </summary>
</histogram>

<histogram name="PasswordManager.StoreReadyWhenWiping" enum="Boolean">
  <owner>vabr@chromium.org</owner>
  <summary>
    When the user logs in with their sync credential, PasswordManager checks if
    there are any outdated copies of it in the password store, in order to purge
    them. This histogram records whether password store data are ready during
    this check.
  </summary>
</histogram>

<histogram name="PasswordManager.SubmitNavigatesToDifferentDomain"
    enum="PostSubmitNavigation">
  <owner>vabr@chromium.org</owner>
  <summary>
    Indicates whether submitting a password login form changes the registry
    controlled domain of the main frame.
  </summary>
</histogram>

<histogram name="PasswordManager.SubmittedFormType" enum="PasswordFormType">
  <owner>gcasto@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    The type (e.g. signup, login, change password) of all submitted password
    forms. This is logged on form submission, but doesn't require that the
    password manager saves.
  </summary>
</histogram>

<histogram name="PasswordManager.SubmittedNonSecureFormType"
    enum="PasswordFormType">
  <owner>estark@chromium.org</owner>
  <summary>
    The type (e.g. signup, login, change password) of all submitted password
    forms on non-secure pages. This is logged on form submission, but doesn't
    require that the password manager saves.
  </summary>
</histogram>

<histogram name="PasswordManager.SyncCredentialFiltered"
    enum="CredentialFilteredType">
  <owner>gcasto@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    This histogram is reported for those forms on accounts.google.com, on which
    Chrome is forced by Finch/flags during autofilling to remove sync
    credentials from password store results. It reports true if sync credentials
    were indeed removed from the store results, and false if there were no sync
    credentials in the results to begin with.
  </summary>
</histogram>

<histogram name="PasswordManager.SyncingAccountState"
    enum="PasswordManagerSyncingAccountState">
  <owner>gcasto@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    Information about the user's current sync status crossed with whether their
    synced password is saved.
  </summary>
</histogram>

<histogram name="PasswordManager.TimesGeneratedPasswordUsed">
  <obsolete>
    Deprecated as of 11/11/14. New statistic is
    PasswordManager.TimesPasswordUsed.AutoGenerated.
  </obsolete>
  <owner>gcasto@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    The number of times each generated password has been used to log in.
    Recorded by iterating over stored passwords once per run. This information
    is persisted and synced.
  </summary>
</histogram>

<histogram name="PasswordManager.TimesPasswordUsed">
  <owner>gcasto@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    The number of times each saved password has been used to log in. Does not
    include generated passwords. Recorded by iterating over stored passwords
    once per run. This information is persisted and synced.
  </summary>
</histogram>

<histogram name="PasswordManager.TotalAccounts">
  <owner>gcasto@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    The number of accounts stored in the password manager (across all sites)
  </summary>
</histogram>

<histogram name="PasswordManager.TotalAccountsHiRes.WithScheme"
    units="accounts">
  <owner>engedy@chromium.org</owner>
  <owner>vabr@chromium.org</owner>
  <summary>
    The number of accounts stored in the password manager (across all sites) for
    origins with the scheme (e.g., HTTP, HTTPS, FTP) as given in the histogram
    suffix. For each scheme, the count is recorded once per browser start-up.
    (In case of multiple profiles, the counts are for the profile that first has
    a WebContents created.)
  </summary>
</histogram>

<histogram name="PasswordManager.UIDismissalReason"
    enum="PasswordManagerUIDismissalReason">
  <owner>vasilii@chromium.org</owner>
  <summary>
    Why was the password manager's UI (bubble or infobar) closed?
  </summary>
</histogram>

<histogram name="PasswordManager.UpdatePasswordSubmissionEvent"
    enum="UpdatePasswordSubmissionEvent">
  <owner>dvadym@chromium.org</owner>
  <owner>vasilii@chromium.org</owner>
  <summary>
    The password submission event happened when the user changes their password
    on a website, say foo.com or types new password on a sign-in form for saved
    credential (which might mean that the password was changed in a different
    browser). The later case called password overriding. This histogram measures
    whether the user has any passwords saved in the Chrome password manager for
    foo.com or the password was overriden on sign-in form, and what action the
    user performed on the offered bubble. It's recorded when the bubble is
    closed.
  </summary>
</histogram>

<histogram name="PasswordManager.UserStoredPasswordWithInvalidSSLCert"
    enum="Boolean">
  <obsolete>
    Deprecated 07/2016 because this information is no longer stored in
    PasswordForm. See also http://crbug.com/413020.
  </obsolete>
  <owner>xunlu@chromium.org</owner>
  <owner>gcasto@chromium.org</owner>
  <summary>
    Whether saved password for HTTPS site had a valid SSL cert when the password
    was saved.
  </summary>
</histogram>

<histogram name="PasswordProtection.NumberOfCachedVerdictBeforeShutdown"
    units="count">
  <owner>jialiul@chromium.org</owner>
  <owner>nparker@chromium.org</owner>
  <summary>
    Number of password protection verdicts stored in content settings of a
    profile before this profile is destructed.
  </summary>
</histogram>

<histogram name="PasswordProtection.PasswordProtectionResponseOrErrorCode"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>jialiul@chromium.org</owner>
  <owner>nparker@chromium.org</owner>
  <summary>
    Response or error codes for PasswordProtectionRequest. Logged after chrome
    receives response of PasswordProtectionRequest from Safe Browsing service.
  </summary>
</histogram>

<histogram name="PasswordProtection.PasswordReuseEventVerdict"
    enum="PasswordProtectionVerdict">
  <owner>jialiul@chromium.org</owner>
  <owner>nparker@chromium.org</owner>
  <summary>
    Verdict types returned by Safe Browsing server for password reuse events.
  </summary>
</histogram>

<histogram name="PasswordProtection.RequestNetworkDuration" units="ms">
  <owner>jialiul@chromium.org</owner>
  <owner>nparker@chromium.org</owner>
  <summary>
    The time it takes for PasswordProtectionService request. It is not recorded
    for requests that were canceled.
  </summary>
</histogram>

<histogram name="PasswordProtection.RequestOutcome"
    enum="PasswordProtectionRequestOutcome">
  <owner>jialiul@chromium.org</owner>
  <owner>nparker@chromium.org</owner>
  <summary>
    Records the outcome of the password protection request, indicating if
    request is sent out successfully or if it is skipped or canceled for some
    reason.
  </summary>
</histogram>

<histogram name="PasswordProtection.UnfamiliarLoginPageVerdict"
    enum="PasswordProtectionVerdict">
  <owner>jialiul@chromium.org</owner>
  <owner>nparker@chromium.org</owner>
  <summary>
    Verdict types returned by Safe Browsing server for unfamiliar login pages.
  </summary>
</histogram>

<histogram
    name="PaymentRequest.CanMakePayment.NotUsed.WithShowEffectOnCompletion"
    enum="PaymentRequestFlowCompletionStatus">
  <owner>sebsg@chromium.org</owner>
  <summary>
    Whether the flow was completed when CanMakePayment was not called by the
    merchant.
  </summary>
</histogram>

<histogram name="PaymentRequest.CanMakePayment.Usage"
    enum="CanMakePaymentUsage">
  <owner>sebsg@chromium.org</owner>
  <summary>
    Whether the merchant used the CanMakePayment method during a Payment
    Request.
  </summary>
</histogram>

<histogram name="PaymentRequest.CanMakePayment.Used.EffectOnShow"
    enum="PaymentRequestCanMakePaymentEffectOnShow">
  <owner>sebsg@chromium.org</owner>
  <summary>
    The effect of the CanMakePayment return value on whether Show was called.
  </summary>
</histogram>

<histogram
    name="PaymentRequest.CanMakePayment.Used.FalseWithShowEffectOnCompletion"
    enum="PaymentRequestFlowCompletionStatus">
  <owner>sebsg@chromium.org</owner>
  <summary>
    Whether the flow was completed when CanMakePayment was called by the
    merchant and returned false.
  </summary>
</histogram>

<histogram
    name="PaymentRequest.CanMakePayment.Used.TrueWithShowEffectOnCompletion"
    enum="PaymentRequestFlowCompletionStatus">
  <owner>sebsg@chromium.org</owner>
  <summary>
    Whether the flow was completed when CanMakePayment was called by the
    merchant and returned true.
  </summary>
</histogram>

<histogram name="PaymentRequest.CheckoutFunnel.Aborted"
    enum="PaymentRequestAbortReason">
  <owner>sebsg@chromium.org</owner>
  <summary>The reason that lead to an abort of the Payment Request.</summary>
</histogram>

<histogram name="PaymentRequest.CheckoutFunnel.Completed" enum="BooleanHit">
  <owner>sebsg@chromium.org</owner>
  <summary>When the merchant has processed the user's Payment Request.</summary>
</histogram>

<histogram name="PaymentRequest.CheckoutFunnel.Initiated" enum="BooleanHit">
  <owner>sebsg@chromium.org</owner>
  <summary>When a Payment Request gets initiated by the user.</summary>
</histogram>

<histogram name="PaymentRequest.CheckoutFunnel.NoShow"
    enum="PaymentRequestNoShowReason">
  <owner>sebsg@chromium.org</owner>
  <summary>
    The reason that leads to the Payment Request not being shown to the user.
  </summary>
</histogram>

<histogram name="PaymentRequest.CheckoutFunnel.PayClicked" enum="BooleanHit">
  <owner>sebsg@chromium.org</owner>
  <summary>
    When the user clicks the &quot;pay&quot; button in the Payment Request UI.
  </summary>
</histogram>

<histogram name="PaymentRequest.CheckoutFunnel.ReceivedInstrumentDetails"
    enum="BooleanHit">
  <owner>sebsg@chromium.org</owner>
  <summary>
    When the browser retrieves the instrument details from the payment app to
    complete a purchase.
  </summary>
</histogram>

<histogram name="PaymentRequest.CheckoutFunnel.Shown" enum="BooleanHit">
  <owner>sebsg@chromium.org</owner>
  <summary>
    When the Payment Request UI gets shown after initialization.
  </summary>
</histogram>

<histogram name="PaymentRequest.CheckoutFunnel.SkippedShow"
    enum="BooleanSkipped">
  <owner>sebsg@chromium.org</owner>
  <summary>
    When the Payment Request UI gets skipped to go directly to the payment app.
  </summary>
</histogram>

<histogram name="PaymentRequest.NumberOfSelectionAdds">
  <owner>sebsg@chromium.org</owner>
  <summary>
    The number of times the user added an entry during a Payment Request.
  </summary>
</histogram>

<histogram name="PaymentRequest.NumberOfSelectionChanges">
  <owner>sebsg@chromium.org</owner>
  <summary>
    The number of times the user changed an entry during a Payment Request.
  </summary>
</histogram>

<histogram name="PaymentRequest.NumberOfSelectionEdits">
  <owner>sebsg@chromium.org</owner>
  <summary>
    The number of times the user edited an entry during a Payment Request.
  </summary>
</histogram>

<histogram name="PaymentRequest.NumberOfSuggestionsShown">
  <owner>sebsg@chromium.org</owner>
  <summary>
    The number of suggestions shown to the user during a payment request.
  </summary>
</histogram>

<histogram name="PaymentRequest.RequestedInformation"
    enum="PaymentRequestRequestedInformation">
  <owner>sebsg@chromium.org</owner>
  <summary>
    Tracks what user information is required by merchants to complete a Payment
    Request.
  </summary>
</histogram>

<histogram name="PaymentRequest.SelectedPaymentMethod"
    enum="PaymentRequestPaymentMethods">
  <owner>sebsg@chromium.org</owner>
  <summary>
    Tracks what payment method was used to complete a transaction in Payment
    Request.
  </summary>
</histogram>

<histogram
    name="PaymentRequest.UserDidNotHaveSuggestionsForEverything.EffectOnCompletion"
    enum="PaymentRequestFlowCompletionStatus">
  <owner>sebsg@chromium.org</owner>
  <summary>
    Whether the flow was completed when the user did not have suggestions
    offered for each requested information.
  </summary>
</histogram>

<histogram
    name="PaymentRequest.UserHadSuggestionsForEverything.EffectOnCompletion"
    enum="PaymentRequestFlowCompletionStatus">
  <owner>sebsg@chromium.org</owner>
  <summary>
    Whether the flow was completed when the user had suggestions offered for
    each requested information.
  </summary>
</histogram>

<histogram name="PDF.DocumentFeature" enum="PDFFeatures">
  <owner>tsergeant@chromium.org</owner>
  <summary>
    Tracks which features are used by documents opened in the PDF viewer, logged
    when the document finishes loading.
  </summary>
</histogram>

<histogram name="PDF.IsFontSubstituted" enum="Boolean">
  <owner>npm@chromium.org</owner>
  <summary>
    Tracks documents opened in the PDF viewer where substitute fonts need to be
    used.
  </summary>
</histogram>

<histogram name="Pepper.Graphics3DHasShareGroup" units="BooleanShareGroup">
  <owner>jbauman@chromium.org</owner>
  <summary>
    True if a non-flash Pepper Graphics3D context has a share group.
  </summary>
</histogram>

<histogram name="Pepper.InterfaceUsed" enum="PepperInterface">
  <owner>sehr@chromium.org</owner>
  <owner>bradnelson@chromium.org</owner>
  <owner>bbudge@chromium.org</owner>
  <owner>raymes@chromium.org</owner>
  <summary>
    The number of out-of-process plugin processes that have loaded a particular
    PPB interface version.
  </summary>
</histogram>

<histogram name="Pepper.PluginContextSecurity.TCPConnect" enum="BooleanSecure">
  <owner>raymes@chromium.org</owner>
  <owner>jww@chromium.org</owner>
  <owner>rsleevi@chromium.org</owner>
  <summary>
    Whether a Pepper TCP connect attempt comes from a plugin in a secure or an
    insecure origin.
  </summary>
</histogram>

<histogram name="Pepper.PluginContextSecurity.UDPBind" enum="BooleanSecure">
  <owner>raymes@chromium.org</owner>
  <owner>jww@chromium.org</owner>
  <owner>rsleevi@chromium.org</owner>
  <summary>
    Whether a Pepper UDP bind attempt comes from a plugin in a secure or an
    insecure origin.
  </summary>
</histogram>

<histogram name="Pepper.SecureOrigin.MediaStreamRequest" enum="BooleanSecure">
  <owner>raymes@chromium.org</owner>
  <summary>
    Whether a Pepper media stream request (mic/cam access) comes from a plugin
    in a secure or an insecure origin.
  </summary>
</histogram>

<histogram name="PerformanceMonitor.AverageCPU" units="PercentCPUUsage">
  <owner>oysteine@chromium.org</owner>
  <summary>
    Average CPU utilization of a process, read out at each two-minute interval.
    The utilization is in the 0-100% range per CPU, which is then summed up.
    I.e. a quadcore system fully loaded would read as 400%.
  </summary>
</histogram>

<histogram name="PerformanceMonitor.HighCPU" enum="BooleanHit">
  <owner>oysteine@chromium.org</owner>
  <summary>
    The number of times a process has continuously stayed above a certain
    threshold of CPU utilization over a certain time period (currently set to
    two minutes).
  </summary>
</histogram>

<histogram name="Permissions.Action" enum="PermissionAction">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <owner>miguelg@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Tracks whether a permission was granted, rejected, etc. The suffix of the
    histogram indicates which particular permission.
  </summary>
</histogram>

<histogram name="Permissions.Action.InsecureOrigin" enum="PermissionAction">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <owner>miguelg@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Tracks whether a permission was granted, rejected, etc on an insecure
    origin. The suffix of the histogram indicates which particular permission.
  </summary>
</histogram>

<histogram name="Permissions.Action.SecureOrigin" enum="PermissionAction">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <owner>miguelg@chromium.org</owner>
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Tracks whether a permission was granted, rejected, etc on a secure origin.
    The suffix of the histogram indicates which particular permission.
  </summary>
</histogram>

<histogram name="Permissions.AutoBlocker.EmbargoPromptSuppression"
    enum="PermissionEmbargoStatus">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    For every permission request that would show a prompt to the user, this
    metric tracks whether the request is suppressed by embargo (and the source
    of that embargo), or whether there is no embargo and the prompt is shown.
    This is the proportion of permission prompts that the user would have seen
    that have been blocked due to embargo.

    If the (origin, permission) pair was previously placed under embargo, no
    prompt is displayed and the reason for embargo is recorded. Otherwise, the
    prompt is shown and a no embargo reason is recorded.
  </summary>
</histogram>

<histogram name="Permissions.AutoBlocker.EmbargoStatus"
    enum="PermissionEmbargoStatus">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    Tracks the reason that an (origin, permission) pair has been placed under
    embargo (blocked from making requests for that permission for a period of
    time). This is triggered when a permission is placed under embargo for
    blacklisting (once Safe Browsing has returned a result), when a permission
    prompt has been shown and it is placed under embargo for repeated
    dismissals, or when a permission prompt is shown and not embargoed.
  </summary>
</histogram>

<histogram name="Permissions.AutoBlocker.SafeBrowsingResponse"
    enum="SafeBrowsingResponse">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    Tracks the response (if received) from Safe Browsing when the API blacklist
    is queried for an (origin, permission) pair. The response could be that the
    origin was blacklisted, not blacklisted, or Safe Browsing timed out before a
    response was received.
  </summary>
</histogram>

<histogram name="Permissions.AutoBlocker.SafeBrowsingResponseTime" units="ms">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    Records the elapsed time between the client sending a request to Safe
    Browsing and receiving a result, or the maximum wait time is exceeded and
    Safe Browsing is deemed to have timed out.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.Accepted" enum="PermissionRequestType">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    Tracks the permission bubbles (merged and non-merged) that are accepted.
    Merged bubbles are considered accepted if all permissions are allowed.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.Accepted.Persisted" enum="BooleanPersisted">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    For each granted permission prompt displayed with a persistence toggle
    (remember my decision), records whether the persistence toggle was enabled
    (persist) or not enabled (don't persist).
  </summary>
</histogram>

<histogram name="Permissions.Prompt.Accepted.PriorDismissCount">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    This metric, recorded at the time of a permission prompt accept, records the
    total number of prompt dismissal events for this origin since the last time
    the user cleared their history or site data and prior to the accept. The
    suffix of the histogram indicates which particular permission.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.Accepted.PriorIgnoreCount">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    This metric, recorded at the time of a permission prompt accept, records the
    total number of prompt ignore events for this origin since the last time the
    user cleared their history or site data and prior to the accept. The suffix
    of the histogram indicates which particular permission.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.Denied" enum="PermissionRequestType">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    Tracks the permission bubbles (merged and non-merged) that are denied.
    Merged bubbles are considered denied if any permission is denied.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.Denied.Persisted" enum="BooleanPersisted">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    For each denied permission prompt displayed with a persistence toggle
    (remember my decision), records whether the persistence toggle was enabled
    (persist) or not enabled (don't persist).
  </summary>
</histogram>

<histogram name="Permissions.Prompt.Denied.PriorDismissCount">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    This metric, recorded at the time of a permission prompt deny, records the
    total number of prompt dismissal events for this origin since the last time
    the user cleared their history or site data and prior to the accept. The
    suffix of the histogram indicates which particular permission.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.Denied.PriorIgnoreCount">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    This metric, recorded at the time of a permission prompt deny, records the
    total number of prompt ignore events for this origin since the last time the
    user cleared their history or site data and prior to the accept. The suffix
    of the histogram indicates which particular permission.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.DismissCount">
  <obsolete>
    Renamed to Permissions.Prompt.Dismissed.PriorDismissCount on 17 August 2016.
  </obsolete>
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    This metric, recorded at the time of a permission prompt dismissal, records
    the total number of prompt dismissal events for this origin since the last
    time the user cleared their history or site data, inclusive of the current
    dismissal. Every event in a bucket larger than 1 in this histogram will also
    have an event in each smaller bucket. The suffix of the histogram indicates
    which particular permission.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.Dismissed.PriorDismissCount">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    This metric, recorded at the time of a permission prompt dismiss, records
    the total number of prompt dismissal events for this origin since the last
    time the user cleared their history or site data and prior to the dismiss.
    The suffix of the histogram indicates which particular permission.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.Dismissed.PriorIgnoreCount">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    This metric, recorded at the time of a permission prompt dismiss, records
    the total number of prompt ignore events for this origin since the last time
    the user cleared their history or site data and prior to the dismiss. The
    suffix of the histogram indicates which particular permission.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.IgnoreCount">
  <obsolete>
    Renamed to Permissions.Prompt.Dismissed.PriorDismissCount on 17 August 2016.
  </obsolete>
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    This metric, recorded at the time of a permission prompt ignore, records the
    total number of prompt ignore events for this origin since the last time the
    user cleared their history or site data, inclusive of the current ignore.
    Every event in a bucket larger than 1 in this histogram will also have an
    event in each smaller bucket. The suffix of the histogram indicates which
    particular permission.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.Ignored.PriorDismissCount">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    This metric, recorded at the time of a permission prompt ignore, records the
    total number of prompt dismissal events for this origin since the last time
    the user cleared their history or site data and prior to the ignore. The
    suffix of the histogram indicates which particular permission.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.Ignored.PriorIgnoreCount">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    This metric, recorded at the time of a permission prompt ignore, records the
    total number of prompt ignore events for this origin since the last time the
    user cleared their history or site data and prior to the ignore. The suffix
    of the histogram indicates which particular permission.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.MergedBubbleAccepted"
    enum="PermissionRequestType">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    Tracks acceptance of permission bubble request types that have been merged
    into coalesced bubbles.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.MergedBubbleDenied"
    enum="PermissionRequestType">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    Tracks denial of permission bubble request types that have been merged into
    coalesced bubbles.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.MergedBubbleTypes"
    enum="PermissionRequestType">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    Tracks the permission bubble request types that are being merged into
    coalesced bubbles.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.RequestsPerPrompt">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    How many permission requests each permissions prompt shown to the user
    contains.
  </summary>
</histogram>

<histogram name="Permissions.Prompt.Shown" enum="PermissionRequestType">
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    Tracks how many times permission prompts are shown to users.
  </summary>
</histogram>

<histogram name="Permissions.Requested.CrossOrigin" enum="PermissionStatus">
  <obsolete>
    Deprecated 02/2017, no longer used
  </obsolete>
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <owner>keenanb@google.com</owner>
  <owner>jww@chromium.org</owner>
  <summary>
    The embedder's permission setting at the time of a cross-origin iframe
    permission request for a given permission type. See the corresponding
    histogram suffixes.

    A request is when a website makes a permission request 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.

    See https://crbug.com/638076 for more details.
  </summary>
</histogram>

<histogram name="Permissions.Requested.SameOrigin" enum="PermissionType">
  <obsolete>
    Deprecated 02/2017, no longer used
  </obsolete>
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <owner>keenanb@google.com</owner>
  <owner>jww@chromium.org</owner>
  <summary>
    The permission type (geolocation, and such) of a same-origin permission
    request.

    A request is when a website makes a permission request 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.

    See https://crbug.com/638076 for more details.
  </summary>
</histogram>

<histogram name="PhysicalWeb.ActivityReferral"
    enum="PhysicalWebActivityReferer">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>
    Referer used by user to reach the main Physical Web Activity.
  </summary>
</histogram>

<histogram name="PhysicalWeb.InitialState.IosChrome"
    enum="PhysicalWebInitialStateIosChrome">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>Initial state of the Physical Web in Chrome for iOS.</summary>
</histogram>

<histogram name="PhysicalWeb.ReferralDelay.OptInNotification" units="ms">
  <obsolete>
    Deprecated 01/2017, no longer used
  </obsolete>
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>
    Time between the most recent opt in notification update and when the user
    arrives at the ListUrlsActivity.
  </summary>
</histogram>

<histogram name="PhysicalWeb.ReferralDelay.StandardNotification" units="ms">
  <obsolete>
    Deprecated 01/2017, no longer used
  </obsolete>
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>
    Time between the most recent standard notification update and when the user
    arrives at the ListUrlsActivity.
  </summary>
</histogram>

<histogram name="PhysicalWeb.ResolveTime.Background" units="ms">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>
    Round trip time to the metadata server for a Physical Web URL resolution
    which the client requests during a background scan.
  </summary>
</histogram>

<histogram name="PhysicalWeb.ResolveTime.Foreground" units="ms">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>
    Round trip time to the metadata server for a Physical Web URL resolution
    which the client requests during a foreground scan, that is not explicitly
    requested via a refresh.
  </summary>
</histogram>

<histogram name="PhysicalWeb.ResolveTime.Refresh" units="ms">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>
    Round trip time to the metadata server for a Physical Web URL resolution
    which the client requests during a foreground scan, that is explicitly
    requested via a refresh.
  </summary>
</histogram>

<histogram name="PhysicalWeb.RoundTripTimeMilliseconds" units="ms">
  <owner>olivierrobin@chromium.org</owner>
  <summary>Round trip time to the metadata server for Physical web.</summary>
</histogram>

<histogram name="PhysicalWeb.State.Bluetooth" enum="BluetoothStatus">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>Whether bluetooth is on, off, or unknown.</summary>
</histogram>

<histogram name="PhysicalWeb.State.DataConnectionActive" enum="BooleanActive">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>Whether the data connection is active.</summary>
</histogram>

<histogram name="PhysicalWeb.State.LocationPermission" enum="BooleanAccepted">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>Whether location permission has been accepted.</summary>
</histogram>

<histogram name="PhysicalWeb.State.LocationServices" enum="BooleanEnabled">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>Whether location services are enabled.</summary>
</histogram>

<histogram name="PhysicalWeb.State.Preference"
    enum="PhysicalWebPreferenceStatus">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>
    Whether the preference is on, off, or if the user is in an onboarding state
    when Chrome first starts up.
  </summary>
</histogram>

<histogram name="PhysicalWeb.TotalUrls.OnInitialDisplay" units="urls">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>
    The number of URLs displayed to a user when a list of nearby URLs is first
    displayed.
  </summary>
</histogram>

<histogram name="PhysicalWeb.TotalUrls.OnRefresh" units="urls">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>
    The number of URLs displayed to a user when a list of nearby URLs is
    displayed after refreshing.
  </summary>
</histogram>

<histogram name="PhysicalWeb.WebUI.ListViewUrlPosition" units="selections">
  <owner>cco3@chromium.org</owner>
  <owner>mattreynolds@chromium.org</owner>
  <owner>mmocny@chromium.org</owner>
  <summary>
    Count of how many times the user selected a nearby URL at the specified
    index in the Physical Web WebUI list view (zero-based). Capped at 50.
  </summary>
</histogram>

<histogram name="Platform.AnyCrashesDaily" units="count per day">
  <owner>semenzato@chromium.org</owner>
  <owner>bsimonnet@chromium.org</owner>
  <summary>
    Count of crashes (user, kernel, and unclean shutdowns) during the previous
    day, or the most recent day the device was in use.  Reported at most once a
    day.
  </summary>
</histogram>

<histogram name="Platform.AnyCrashesWeekly" units="count per week">
  <owner>semenzato@chromium.org</owner>
  <owner>bsimonnet@chromium.org</owner>
  <summary>
    Count of crashes (user, kernel, and unclean shutdowns) during the previous
    epoch-week, or the most recent epoch-week the device was in use.  Reported
    at most once a week.  Epoch-weeks divide the time in 7-day intervals
    starting at the UNIX epoch.
  </summary>
</histogram>

<histogram name="Platform.AsvGroup">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS (ARM Chromebooks using Exynos 5250 only) Adaptive Support Voltage
    Group, recorded once per bootup.  Indicates which &quot;bin&quot; the SoC is
    part of, which sets the voltage that different rails on the system will run
    at. The values 0-11 are valid.  A value of 12 indicates an error parsing
    dmesg and should be investigated.  See also Platform.LotIdEnum.
  </summary>
</histogram>

<histogram name="Platform.BatteryAbsent" enum="BooleanAbsent">
  <owner>cernekee@chromium.org</owner>
  <summary>
    Indicates whether the kernel's ACPI Smart Battery System driver logged an
    error trying to find the battery on boot.
  </summary>
</histogram>

<histogram name="Platform.BootMode.DevSwitch"
    enum="Platform.BootMode.SwitchStatus">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Indicates the status of the developer switch on Chrome OS hardware. The
    developer switch allows users to run their own code on the device.
  </summary>
</histogram>

<histogram name="Platform.BootMode.FirmwareWriteProtect"
    enum="Platform.BootMode.FirmwareWriteProtect">
  <owner>mnissler@chromium.org</owner>
  <summary>
    On Chrome OS hardware, indicates whether flash write protection is enabled
    for the firmware indicated by the histogram suffix.
  </summary>
</histogram>

<histogram name="Platform.BootMode.WriteProtectSwitch"
    enum="Platform.BootMode.SwitchStatus">
  <owner>mnissler@chromium.org</owner>
  <summary>
    Indicates the status of the hardware write protect switch on Chrome OS
    hardware. The write protect switch protects firmware from being rewritten.
  </summary>
</histogram>

<histogram name="Platform.BootSectorsRead">
  <owner>sonnyrao@chromium.org</owner>
  <summary>
    Chrome OS number of disk sectors read at boot from kernel start to
    login-prompt-ready.
  </summary>
</histogram>

<histogram name="Platform.BootSectorsWritten">
  <owner>sonnyrao@chromium.org</owner>
  <summary>
    Chrome OS number of disk sectors written at boot from kernel start to
    login-prompt-ready.
  </summary>
</histogram>

<histogram name="Platform.Cast.MeminfoMemAvailable">
  <owner>halliwell@chromium.org</owner>
  <summary>
    /proc/meminfo's 'MemAvailable' in Mbytes. Collected on Cast devices with
    kernel version 3.14 and above and capped at 500.
  </summary>
</histogram>

<histogram name="Platform.Cast.MeminfoMemFreeDerived">
  <owner>halliwell@chromium.org</owner>
  <summary>
    free + buffers + cache memory in Mbytes on Cast devices, capped at 500.
  </summary>
</histogram>

<histogram name="Platform.CompressedSwapSize" units="MB">
  <owner>sonnyrao@chromium.org</owner>
  <summary>
    Chrome OS size of allocated swap area in megabytes (before compression)
  </summary>
</histogram>

<histogram name="Platform.CpuFrequencyThermalScaling" units="%">
  <owner>sonnyrao@chromium.org</owner>
  <summary>
    CPU frequency as percent of the baseline frequency, sampled every 30s. This
    may be throttled down from 100% due to power dissipation issues (too high
    temperature).  It may also be throttled up (turbo), but the kernel does not
    report the actual turbo frequency, so we put such samples in the 101%
    bucket.
  </summary>
</histogram>

<histogram name="Platform.CpuUsage" units="%">
  <owner>sonnyrao@chromium.org</owner>
  <owner>cast-analytics@google.com</owner>
  <summary>
    Peak total (single core) CPU usage for the last sample interval.  The sample
    interval may vary from seconds to several minutes.
  </summary>
</histogram>

<histogram name="Platform.CrOSEvent" enum="CrosEventEnum">
  <owner>dkrahn@chromium.org</owner>
  <owner>jwerner@chromium.org</owner>
  <owner>vapier@chromium.org</owner>
  <summary>
    Generic event of interest from Chrome OS.  Intended mainly to help assess
    the frequency of rare error conditions.
  </summary>
</histogram>

<histogram name="Platform.Crouton.Started" enum="Platform.Crouton.Started">
  <owner>drinkcat@chromium.org</owner>
  <summary>
    Detects presence of /run/crouton, indicating that crouton has been started
    since the previous boot. Value 0/&quot;Total count&quot; is reported on
    boot, 1/&quot;Started&quot; is reported after the file presence is detected
    (checked periodically).
  </summary>
</histogram>

<histogram name="Platform.CumulativeCpuTime" units="seconds">
  <owner>semenzato@chromium.org</owner>
  <owner>bsimonnet@chromium.org</owner>
  <summary>
    Total CPU time accumulated since the last version update.  Reported at most
    once a day.
  </summary>
</histogram>

<histogram name="Platform.CumulativeUseTime" units="seconds">
  <owner>semenzato@chromium.org</owner>
  <owner>bsimonnet@chromium.org</owner>
  <summary>
    Total use time (device ON and not asleep) since last version update.
    Reported at most once a day.
  </summary>
</histogram>

<histogram name="Platform.DailyUseTime" units="seconds">
  <owner>semenzato@chromium.org</owner>
  <owner>bsimonnet@chromium.org</owner>
  <summary>
    Total use time (device ON and not asleep) in the previous day, or the most
    recent day the device was in use.  Reported at most once a day.
  </summary>
</histogram>

<histogram name="Platform.DiskUsage.Cache_Avg" units="KB">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Average size of user's Cache directory. Logged once a day, if disk usage is
    high.
  </summary>
</histogram>

<histogram name="Platform.DiskUsage.Cache_Max" units="KB">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Maximum size of user's Cache directory. Logged once a day, if disk usage is
    high.
  </summary>
</histogram>

<histogram name="Platform.DiskUsage.Downloads_Avg" units="KB">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Average size of user's Cache directory. Logged once a day, if disk usage is
    high.
  </summary>
</histogram>

<histogram name="Platform.DiskUsage.Downloads_Max" units="KB">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Maximum size of user's Cache directory. Logged once a day, if disk usage is
    high.
  </summary>
</histogram>

<histogram name="Platform.DiskUsage.GCache_Avg" units="KB">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Average size of user's GCache directory. Logged once a day, if disk usage is
    high.
  </summary>
</histogram>

<histogram name="Platform.DiskUsage.GCache_Max" units="KB">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Maximum size of user's GCache directory. Logged once a day, if disk usage is
    high.
  </summary>
</histogram>

<histogram name="Platform.DiskUsage.LeastUsedAccountDays" units="days">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Days since the least frequently used account signed in. Logged once a day,
    if disk usage is high.
  </summary>
</histogram>

<histogram name="Platform.DiskUsage.NumUserHomeDirectories"
    units="home directories">
  <owner>achuith@chromium.org</owner>
  <owner>tls@chromium.org</owner>
  <summary>
    Number of users home directories on the device. Logged once a day.
  </summary>
</histogram>

<histogram name="Platform.DiskUsage.OldestUserOnDevice">
  <owner>achuith@chromium.org</owner>
  <owner>omrilio@chromium.org</owner>
  <summary>
    Days since last login of the least recently user on device. Logged once a
    day, if disk usage is high.
  </summary>
</histogram>

<histogram name="Platform.DiskUsage.UsersOnDevice">
  <owner>achuith@chromium.org</owner>
  <owner>omrilio@chromium.org</owner>
  <summary>
    Number of user home dirs on device. Logged once a day, if disk usage is
    high.
  </summary>
</histogram>

<histogram name="Platform.DiskUsageChronos" units="KB">
  <owner>keescook@google.com</owner>
  <summary>
    Chrome OS KB in use in the /home/chronos filesystem tree. Logged once a day
    during log file cleanup.
  </summary>
</histogram>

<histogram name="Platform.DiskUsageVar" units="KB">
  <owner>keescook@google.com</owner>
  <summary>
    Chrome OS KB in use in the /var filesystem tree. Logged once a day during
    log file cleanup.
  </summary>
</histogram>

<histogram name="Platform.IntelMaxMicroArchitecture"
    enum="IntelMaxMicroArchitecture">
  <owner>fbarchard@chromium.org</owner>
  <summary>
    The maximum supported micro-architecture on an Intel platform.  This value
    is logged at program start time.
  </summary>
</histogram>

<histogram name="Platform.KernelCrashesDaily" units="count per day">
  <owner>semenzato@chromium.org</owner>
  <owner>bsimonnet@chromium.org</owner>
  <summary>
    Count of kernel crashes during the previous day, or the most recent day the
    device was in use.  Reported at most once a day.
  </summary>
</histogram>

<histogram name="Platform.KernelCrashesPerActiveYear" units="count per year">
  <owner>semenzato@chromium.org</owner>
  <owner>bsimonnet@chromium.org</owner>
  <summary>
    Count of kernel crashes since the last OS update, normalized as number of
    crashes per year of active use (active use = device is ON and not asleep).
    Reported daily.
  </summary>
</histogram>

<histogram name="Platform.KernelCrashesPerCpuYear" units="count per CPU year">
  <owner>semenzato@chromium.org</owner>
  <owner>bsimonnet@chromium.org</owner>
  <summary>
    Count of kernel crashes since the last OS update, normalized as number
    crashes per year of CPU time.  Reported daily.
  </summary>
</histogram>

<histogram name="Platform.KernelCrashesSinceUpdate" units="count">
  <owner>semenzato@chromium.org</owner>
  <owner>bsimonnet@chromium.org</owner>
  <summary>
    Count of kernel crashes since the last OS update, reported daily.
  </summary>
</histogram>

<histogram name="Platform.KernelCrashesWeekly" units="count per week">
  <owner>semenzato@chromium.org</owner>
  <owner>bsimonnet@chromium.org</owner>
  <summary>
    Count of kernel crashes during the previous epoch-week, or the most recent
    epoch-week the device was in use.  Reported at most once a week. Epoch-weeks
    divide the time in 7-day intervals starting at the UNIX epoch.
  </summary>
</histogram>

<histogram name="Platform.KernelCrashInterval" units="seconds">
  <owner>semenzato@chromium.org</owner>
  <owner>bsimonnet@chromium.org</owner>
  <summary>
    Time elapsed between the last two kernel crashes.  Sent after every kernel
    crash.
  </summary>
</histogram>

<histogram name="Platform.KernelWarningHashes">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The 32-bit hash of a kernel warning.  This is the hash of the
    &quot;file:line&quot; string corresponding to the location of the warning,
    for instance: &quot;/mnt/host/source/src/third_party/kernel/files/drivers
    /gpu/drm/i915/intel_dp.c:351&quot; (ignore spurious spaces).  The hash is
    produced by this code: while (*string) hash = (hash &lt;&lt; 5) + hash +
    *string++;  Separately each warning is also collected (with its hash) via
    the crash reporter, but only its first occurrence in each boot session.
  </summary>
</histogram>

<histogram name="Platform.LogicalCpuCount">
  <owner>sonnyrao@chromium.org</owner>
  <summary>
    Number of logical processors. This includes Hyperthreaded cores.
  </summary>
</histogram>

<histogram name="Platform.LotIdEnum" enum="Exynos5250LotIdEnum">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Chrome OS (ARM Chromebooks using Exynos 5250 only) indication about whether
    we're part of a special lot ID.  Special lot IDs are groups of chips that
    have special case handling in the kernel for the Adaptive Support Voltage
    code (the normal logic doesn't work).  See also Platform.AsvGroup.  Note
    that fused devices are never part of a special lot (currently) and only some
    unfused lots are &quot;special&quot;.
  </summary>
</histogram>

<histogram name="Platform.Mem" units="%">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <owner>sonnyrao@chromium.org</owner>
  <owner>semenzato@chromium.org</owner>
  <owner>bccheng@chromium.org</owner>
  <summary>
    Various memory usage % of total memory on Chrome OS devices (snapshotted
    every 30s).
  </summary>
</histogram>

<histogram name="Platform.Meminfo" units="KB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <owner>sonnyrao@chromium.org</owner>
  <owner>semenzato@chromium.org</owner>
  <owner>bccheng@chromium.org</owner>
  <summary>
    Various memory usage amount on Chrome OS devices (snapshotted every 30s).
  </summary>
</histogram>

<histogram name="Platform.MemoryBandwidth.ReadWrite" units="MB/s">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <owner>cast-analytics@google.com</owner>
  <summary>
    Peak memory bandwith (read and write) usage during the last sample interval.
    The sample interval may vary from seconds to several minutes.
  </summary>
</histogram>

<histogram name="Platform.MemuseAnon0">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Chrome OS total anonymous memory (active + inactive) as % of total memory 1
    minute after boot.
  </summary>
</histogram>

<histogram name="Platform.MemuseAnon1">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Chrome OS total anonymous memory (active + inactive) as % of total memory 5
    minutes after boot.
  </summary>
</histogram>

<histogram name="Platform.MemuseAnon2">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Chrome OS total anonymous memory (active + inactive) as % of total memory 30
    minutes after boot.
  </summary>
</histogram>

<histogram name="Platform.MemuseAnon3">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Chrome OS total anonymous memory (active + inactive) as % of total memory
    150 minutes after boot.
  </summary>
</histogram>

<histogram name="Platform.MemuseAnon4">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Chrome OS total anonymous memory (active + inactive) as % of total memory
    750 minutes after boot.
  </summary>
</histogram>

<histogram name="Platform.PageFaultsLong" units="page faults/second">
  <owner>sonnyrao@chromium.org</owner>
  <summary>
    Page faults per second averaged over 30s interval, sampled continuously.
  </summary>
</histogram>

<histogram name="Platform.PageFaultsShort" units="page faults/second">
  <owner>sonnyrao@chromium.org</owner>
  <summary>
    Page faults per second averaged over 1s interval, sampled every 30s.
  </summary>
</histogram>

<histogram name="Platform.ReadSectorsLong">
  <owner>gwendal@google.com</owner>
  <summary>
    Number of disk sectors per second read by Chrome OS in a long interval
    (currently 30s)
  </summary>
</histogram>

<histogram name="Platform.ReadSectorsShort">
  <owner>gwendal@google.com</owner>
  <summary>
    Number of disk sectors per second read by Chrome OS in a short interval
    (currently 1s, sampled every 30s)
  </summary>
</histogram>

<histogram name="Platform.SmartTransferErrors">
  <owner>gwendal@google.com</owner>
  <summary>Disk communication errors (SMART 199), sent at boot.</summary>
</histogram>

<histogram name="Platform.SmartUncorrectableErrors">
  <owner>gwendal@google.com</owner>
  <summary>Uncorrectable disk errors (SMART 187), sent at boot.</summary>
</histogram>

<histogram name="Platform.SpringChargerType">
  <owner>vpalatin@google.com</owner>
  <summary>
    USB device ID of the charger plugged into a Spring device (if any), sent
    once a minute.  The Device ID is composed from the following 4 8-bit
    registers of the TSU6721 chip: ADC (07h), Device Type 3 (15h), Device Type 2
    (0Bh), Device Type 1 (0Ah).  Device Type 1/2/3 is a bitmap and most of bits
    are mutually exclusive (excepted VBUS debounce).  ADC is the 5-bit value of
    the ID pin, but for most types (as in Device Type), there are only one or
    two possible ID pin connections/values. The datasheet can be found here:
    http://www.ti.com/lit/ds/symlink/tsu6721.pdf.

    Note that different brand/models of the charger can have the same ID.
  </summary>
</histogram>

<histogram name="Platform.StatefulUsage" units="%">
  <owner>achuith@chromium.org</owner>
  <owner>omrilio@chromium.org</owner>
  <summary>Chrome OS stateful partition usage level.</summary>
</histogram>

<histogram name="Platform.Storage.Flash.BadBlocks">
  <owner>dehrenberg@chromium.org</owner>
  <owner>cast-analytics@google.com</owner>
  <summary>
    The number of blocks marked bad in an MTD partition. This is relevant for
    devices with raw NAND flash, such as Chromecast. Sampled once daily, if the
    Chromecast is on for any significant length of time in the day.
  </summary>
</histogram>

<histogram name="Platform.SwapInLong" units="pages/second">
  <owner>sonnyrao@chromium.org</owner>
  <summary>
    Average pages/second swapped IN over a 30s interval, sampled every 30s.
  </summary>
</histogram>

<histogram name="Platform.SwapInShort" units="pages/second">
  <owner>sonnyrao@chromium.org</owner>
  <summary>
    Average pages/second swapped IN over a 1s interval, sampled every 30s.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap0.Time1" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap0.Time2" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap0.Time3" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap0.Time4" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap1.Time1" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap1.Time2" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap1.Time3" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap1.Time4" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap2.Time1" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap2.Time2" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap2.Time3" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap2.Time4" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap3.Time1" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap3.Time2" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap3.Time3" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Cpu.Swap3.Time4" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap0.Time1"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap0.Time2"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap0.Time3"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap0.Time4"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap1.Time1"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap1.Time2"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap1.Time3"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap1.Time4"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap2.Time1"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap2.Time2"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap2.Time3"
    units="page faults/second">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap2.Time4"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap3.Time1"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap3.Time2"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap3.Time3"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.Scroll.Faults.Swap3.Time4"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    scroll event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap0.Time1" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap0.Time2" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap0.Time3" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap0.Time4" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap1.Time1" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap1.Time2" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap1.Time3" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap1.Time4" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap2.Time1" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap2.Time2" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap2.Time3" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap2.Time4" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap3.Time1" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap3.Time2" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap3.Time3" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Cpu.Swap3.Time4" units="%">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    CPU utilization for the specified swap group and time interval after a tab
    switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap0.Time1"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap0.Time2"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap0.Time3"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap0.Time4"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap1.Time1"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap1.Time2"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap1.Time3"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap1.Time4"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap2.Time1"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap2.Time2"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap2.Time3"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap2.Time4"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap3.Time1"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap3.Time2"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap3.Time3"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapJank.TabSwitch.Faults.Swap3.Time4"
    units="page faults/second">
  <obsolete>
    Deprecated 9/2013 when the SwapJank64vs32Parrot experiment ended.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Page faults/second for the specified swap group and time interval after a
    tab switch event.  See src/chrome/browser/chromeos/swap_metrics.cc.
  </summary>
</histogram>

<histogram name="Platform.SwapOutLong" units="pages/second">
  <owner>sonnyrao@chromium.org</owner>
  <summary>
    Average pages/second swapped OUT over a 30s interval, sampled every 30s.
  </summary>
</histogram>

<histogram name="Platform.SwapOutShort" units="pages/second">
  <owner>sonnyrao@chromium.org</owner>
  <summary>
    Average pages/second swapped OUT over a 1s interval, sampled every 30s.
  </summary>
</histogram>

<histogram name="Platform.Temperature.Sensor00" units="Celsius">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Temperature reading at sensor 0 (I2C_CPU-Die) taken every 30s.
  </summary>
</histogram>

<histogram name="Platform.Temperature.Sensor01" units="Celsius">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Temperature reading at sensor 1 (I2C_CPU-Object) taken every 30s.
  </summary>
</histogram>

<histogram name="Platform.Temperature.Sensor02" units="Celsius">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Temperature reading at sensor 2 (I2C_PCH-Die) taken every 30s.
  </summary>
</histogram>

<histogram name="Platform.Temperature.Sensor03" units="Celsius">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Temperature reading at sensor 3 (I2C_PCH-Object) taken every 30s.
  </summary>
</histogram>

<histogram name="Platform.Temperature.Sensor04" units="Celsius">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Temperature reading at sensor 4 (I2C_DDR-Die) taken every 30s.
  </summary>
</histogram>

<histogram name="Platform.Temperature.Sensor05" units="Celsius">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Temperature reading at sensor 5 (I2C_DDR-Object) taken every 30s.
  </summary>
</histogram>

<histogram name="Platform.Temperature.Sensor06" units="Celsius">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Temperature reading at sensor 6 (Charger-Die), taken every 30s.
  </summary>
</histogram>

<histogram name="Platform.Temperature.Sensor07" units="Celsius">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Temperature reading at sensor 7 (Charger-Object) taken every 30s.
  </summary>
</histogram>

<histogram name="Platform.Temperature.Sensor08" units="Celsius">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Temperature reading at sensor 8 (ECInternal) taken every 30s.
  </summary>
</histogram>

<histogram name="Platform.Temperature.Sensor09" units="Celsius">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Temperature reading at sensor 9 (PECI) taken every 30s.</summary>
</histogram>

<histogram name="Platform.Thermal.Temperature.Cpu.0" units="Celsius">
  <owner>mka@chromium.org</owner>
  <summary>
    Temperature reading at sensor 0 of the CPU collected every few seconds (may
    vary between devices).

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="Platform.Thermal.Temperature.Wifi0" units="Celsius">
  <owner>mka@chromium.org</owner>
  <summary>
    Temperature reading at wireless interface 0 collected every few seconds (may
    vary between devices).

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="Platform.Thermal.Temperature.Wifi1" units="Celsius">
  <owner>mka@chromium.org</owner>
  <summary>
    Temperature reading at wireless interface 1 collected every few seconds (may
    vary between devices).

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="Platform.Thermal.Temperature.Wifi2" units="Celsius">
  <owner>mka@chromium.org</owner>
  <summary>
    Temperature reading at wireless interface 2 collected every few seconds (may
    vary between devices).

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="Platform.Thermal.Zone.Cpu.States" units="Thermal state">
  <owner>mka@chromium.org</owner>
  <summary>
    State of the thermal zone of the CPU collected every second. State depends
    on device, higher state corresponds to a higher temperature.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="Platform.Thermal.Zone.Wifi0.States" units="Thermal state">
  <owner>mka@chromium.org</owner>
  <summary>
    State of the thermal zone of wireless interface 0 collected every second.
    State depends on device, higher state corresponds to a higher temperature.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="Platform.Thermal.Zone.Wifi1.States" units="Thermal state">
  <owner>mka@chromium.org</owner>
  <summary>
    State of the thermal zone of wireless interface 1 collected every second.
    State depends on device, higher state corresponds to a higher temperature.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="Platform.Thermal.Zone.Wifi2.States" units="Thermal state">
  <owner>mka@chromium.org</owner>
  <summary>
    State of the thermal zone of wireless interface 2 collected every second.
    State depends on device, higher state corresponds to a higher temperature.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="Platform.TPM.AuthErrorCode" enum="TPMResultCodeEnum">
  <owner>semenzato@chromium.org</owner>
  <summary>
    Each sample is the result code of a TPM authorized command issued through
    tcsd.  Success is 0.  For the other error codes, see
    /usr/include/tss/tpm_error.h.
  </summary>
</histogram>

<histogram name="Platform.TPM.DictionaryAttackCounter">
  <owner>dkrahn@chromium.org</owner>
  <summary>
    Each sample is the value of the TPM dictionary attack counter reported at
    boot and hourly while running.  Any non-zero value is unexpected.
  </summary>
</histogram>

<histogram name="Platform.TPM.DictionaryAttackResetStatus"
    enum="CrosTPMDictionaryAttackResetStatusEnum">
  <owner>dkrahn@chromium.org</owner>
  <summary>
    Each sample is the status of an hourly attempt to reset the TPM dictionary
    attack counter.
  </summary>
</histogram>

<histogram name="Platform.TPM.ErrorCode" enum="TPMResultCodeEnum">
  <owner>semenzato@chromium.org</owner>
  <summary>
    Each sample is the result code of a TPM command issued through tcsd. Success
    is 0.  For the other error codes, see /usr/include/tss/tpm_error.h.
  </summary>
</histogram>

<histogram name="Platform.TPMForcedReboot" units="reboots">
  <owner>dkrahn@chromium.org</owner>
  <summary>
    Each sample is the number of consecutive reboots performed while attempting
    to clear a TPM (Trusted Platform Module) error.
  </summary>
</histogram>

<histogram name="Platform.Tps65090Retries">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Retries needed to enable a FET on tps65090 (AKA tpschrome).  Tps65090 is a
    power management unit (PMU) used on many ARM Chromebooks.  Until version ES7
    was rolled into production we would sometimes run into a problem where FET1
    (the FET used to switch on and off the backlight) wouldn't turn on properly.
    This problem was especially prevalent when the voltage was high (like when
    the device was plugged into the wall).  Retrying by turning the FET off and
    on again is nearly always effective, so the kernel will retry up to 5 times
    (currently) and will also log the fact that it needed to retry.  On newest
    kernels (kernel 3.8 and up) a kernel warning will be logged with WARN_ON if
    the FET still failed to turn on after 5 tries. Refer to the kernel warning
    reports to find that information.  For more details about this bug refer to
    http://crbug.com/338657 and http://crosbug.com/p/16009.  Note that we log
    retries on all 7 FETs even though we've only ever seen failures of FET1.
  </summary>
</histogram>

<histogram name="Platform.WriteSectorsLong">
  <owner>gwendal@google.com</owner>
  <summary>
    Number of disk sectors per second written by Chrome OS in a long interval
    (currently 30s)
  </summary>
</histogram>

<histogram name="Platform.WriteSectorsShort">
  <owner>gwendal@google.com</owner>
  <summary>
    Number of disk sectors per second written by Chrome OS in a short interval
    (currently 1s, sampled every 30s)
  </summary>
</histogram>

<histogram name="Platform.ZramCompressedSize" units="MB">
  <owner>semenzato@google.com</owner>
  <summary>
    Compressed swap size in megabytes.  This is the actual amount of RAM used by
    the system to compress memory (i.e. after compression).  Snapshot every 30s.
  </summary>
</histogram>

<histogram name="Platform.ZramCompressionRatioPercent" units="%">
  <owner>semenzato@google.com</owner>
  <summary>
    The ratio of compressed memory (zram) before and after compression when the
    denominator at least 1 MB. Ratios of interest are between 1 and 6 (typically
    between 2 and 3), and we express them as a percentage (between 100% and
    600%). The size of memory before compression includes zero-filled pages.
    Values close to 100% indicate low compression effectiveness. Snapshot every
    30s.
  </summary>
</histogram>

<histogram name="Platform.ZramSavings" units="MB">
  <owner>semenzato@google.com</owner>
  <summary>
    RAM savings in megabytes from using memory compression.  This is the
    difference between the RAM size before and after compression.  Snapshot
    every 30s.
  </summary>
</histogram>

<histogram name="Platform.ZramZeroPages" units="pages">
  <owner>semenzato@google.com</owner>
  <summary>
    Number of zero-filled pages that the OS is compressing.  A large number
    suggests wasteful allocation.  Snapshot every 30s.
  </summary>
</histogram>

<histogram name="Platform.ZramZeroRatioPercent" units="%">
  <owner>semenzato@google.com</owner>
  <summary>
    The fraction of compressed memory that consists of zero-filled pages.
    Snapshot every 30s.
  </summary>
</histogram>

<histogram name="PlatformFile.FlushTime" units="ms">
  <obsolete>
    Deprecated as of 2016-07 because the histogram's purpose of adding colour to
    the description of File::Flush() has been fulfilled.
  </obsolete>
  <owner>tnagel@chromium.org</owner>
  <summary>The time it takes to run File::Flush().</summary>
</histogram>

<histogram name="PlatformFile.UnknownCreateFileErrors" units="code">
  <obsolete>
    Deprecated as of 2013-05, replaced by
    PlatformFile.UnknownCreateFileErrorsWin in chrome 29.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Errors returned by CreateFile on windows that PlatformFileError doesn't yet
    support.
  </summary>
</histogram>

<histogram name="PlatformFile.UnknownErrors.Posix" enum="OSAgnosticErrno">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Errors returned by CreateFile on POSIX that PlatformFileError doesn't yet
    support.
  </summary>
</histogram>

<histogram name="PlatformFile.UnknownErrors.Windows" enum="WinGetLastError">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Errors returned by CreateFile on Windows that PlatformFileError doesn't yet
    support.
  </summary>
</histogram>

<histogram name="PLT.Abandoned" enum="Abandoned">
  <obsolete>
    Deprecated as of 2014-06.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Distribution of actual finished pages, vs abandoned pages, where we needed
    to declare a finish time prematurely since the page was being closed
    (exited).
  </summary>
</histogram>

<histogram name="PLT.Abandoned.NoProxy.http" enum="Abandoned">
  <obsolete>
    Deprecated as of 2014-06.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.Abandoned.NoProxy.https" enum="Abandoned">
  <obsolete>
    Deprecated as of 2014-06.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.Abandoned.Proxy.http" enum="Abandoned">
  <obsolete>
    Deprecated as of 2014-06.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.Abandoned.Proxy.https" enum="Abandoned">
  <obsolete>
    Deprecated as of 2014-06.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.Abandoned_ExtensionAdblock" enum="Abandoned">
  <obsolete>
    Deprecated 6/2014. Replaced by Abandoned_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.Abandoned_ExtensionAdblockPlus" enum="Abandoned">
  <obsolete>
    Deprecated 6/2014. Replaced by Abandoned_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.Abandoned_ExtensionWebRequest" enum="Abandoned">
  <obsolete>
    Deprecated as of 2014-06.
  </obsolete>
  <owner>vabr@chromium.org</owner>
  <summary>
    The PLT.Abandoned histogram for pages loaded after WebRequest API was used.
  </summary>
</histogram>

<histogram name="PLT.Abandoned_ExtensionWebRequestAdblock" enum="Abandoned">
  <obsolete>
    Deprecated 6/2014. Replaced by Abandoned_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.Abandoned_ExtensionWebRequestAdblockPlus" enum="Abandoned">
  <obsolete>
    Deprecated 6/2014. Replaced by Abandoned_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.Abandoned_ExtensionWebRequestOther" enum="Abandoned">
  <obsolete>
    Deprecated 6/2014. Replaced by Abandoned_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.Abandoned_SpdyProxy" enum="Abandoned">
  <obsolete>
    Deprecated as of 2014-06.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.AbandonType" enum="AbandonType">
  <obsolete>
    Deprecated as of 2014-06.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Diagnose why a page load was considered abandoned.</summary>
</histogram>

<histogram name="PLT.BeginToCommit" units="ms">
  <obsolete>
    Use PageLoad.Timing2.NavigationToCommit instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from &quot;begin&quot; to &quot;commit.&quot;   &quot;Begin&quot;==
    &quot;request&quot; if user requested, and &quot;start&quot; otherwise.
    &quot;Request&quot;== time when user requested document. &quot;Start&quot;==
    time when renderer requested load of document, after any unload of last
    document. &quot;Commit&quot;== time when renderer got first byte of
    document.
  </summary>
</histogram>

<histogram name="PLT.BeginToFinish" units="ms">
  <obsolete>
    Use PageLoad.DocumentTiming.NavigationToLoadEventFired instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>TBD</summary>
</histogram>

<histogram name="PLT.BeginToFinish_AfterPreconnectRequest" units="ms">
  <obsolete>
    Deprecated as of http://crrev.com/392823002
  </obsolete>
  <owner>kouhei@chromium.org</owner>
  <summary>
    PLT.BeginToFinish, but for pages requested just after a new preconnect
    request.
  </summary>
</histogram>

<histogram name="PLT.BeginToFinish_ContentPrefetcher" units="ms">
  <obsolete>
    No longer needed.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    PLT.BeginToFinish, but for pages which contained prefetch links.
  </summary>
</histogram>

<histogram name="PLT.BeginToFinish_ContentPrefetcherReferrer" units="ms">
  <obsolete>
    No longer needed.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    PLT.BeginToFinish, but for pages which were referred to by pages which
    contained prefetch links.
  </summary>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadNormal_ExtensionAdblock" units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadNormal_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadNormal_ExtensionAdblockPlus"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadNormal_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadNormal_ExtensionWebRequest"
    units="ms">
  <obsolete>
    No longer needed.
  </obsolete>
  <owner>vabr@chromium.org</owner>
  <summary>
    The PLT.BeginToFinish histogram for pages loaded by following a link, after
    WebRequest API was used.
  </summary>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadNormal_ExtensionWebRequestAdblock"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadNormal_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram
    name="PLT.BeginToFinish_LinkLoadNormal_ExtensionWebRequestAdblockPlus"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadNormal_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadNormal_ExtensionWebRequestOther"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadNormal_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadReload_ExtensionAdblock" units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadReload_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadReload_ExtensionAdblockPlus"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadReload_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadReload_ExtensionWebRequest"
    units="ms">
  <obsolete>
    No longer needed.
  </obsolete>
  <owner>vabr@chromium.org</owner>
  <summary>
    The PLT.BeginToFinish histogram for pages reloaded by JavaScript or by
    following a link, after WebRequest API was used.
  </summary>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadReload_ExtensionWebRequestAdblock"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadReload_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram
    name="PLT.BeginToFinish_LinkLoadReload_ExtensionWebRequestAdblockPlus"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadReload_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadReload_ExtensionWebRequestOther"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadReload_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadStaleOk_ExtensionAdblock" units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadStaleOk_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadStaleOk_ExtensionAdblockPlus"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadStaleOk_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadStaleOk_ExtensionWebRequest"
    units="ms">
  <obsolete>
    No longer needed.
  </obsolete>
  <owner>vabr@chromium.org</owner>
  <summary>
    The PLT.BeginToFinish histogram for pages loads initiated by back/forward
    buttons, or by a change of encoding, after WebRequest API was used.
  </summary>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadStaleOk_ExtensionWebRequestAdblock"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadStaleOk_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram
    name="PLT.BeginToFinish_LinkLoadStaleOk_ExtensionWebRequestAdblockPlus"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadStaleOk_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_LinkLoadStaleOk_ExtensionWebRequestOther"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by
    BeginToFinish_LinkLoadStaleOk_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_NormalLoad_ExtensionAdblock" units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by BeginToFinish_NormalLoad_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_NormalLoad_ExtensionAdblockPlus" units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by BeginToFinish_NormalLoad_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_NormalLoad_ExtensionWebRequest" units="ms">
  <obsolete>
    No longer needed.
  </obsolete>
  <owner>vabr@chromium.org</owner>
  <summary>
    The PLT.BeginToFinish histogram for pages loaded by entering a URL or a
    search query into Omnibox, after WebRequest API was used.
  </summary>
</histogram>

<histogram name="PLT.BeginToFinish_NormalLoad_ExtensionWebRequestAdblock"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by BeginToFinish_NormalLoad_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_NormalLoad_ExtensionWebRequestAdblockPlus"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by BeginToFinish_NormalLoad_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_NormalLoad_ExtensionWebRequestOther"
    units="ms">
  <obsolete>
    Deprecated 6/2014. Replaced by BeginToFinish_NormalLoad_ExtensionWebRequest.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary/>
</histogram>

<histogram name="PLT.BeginToFinish_SpdyProxy" units="ms">
  <obsolete>
    Use PLT.PT_BeginToFinish_DataReductionProxy instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>PLT.BeginToFinish, but for pages fetched over a SPDY proxy.</summary>
</histogram>

<histogram name="PLT.BeginToFinishDoc">
  <obsolete>
    Use PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>TBD</summary>
</histogram>

<histogram name="PLT.BeginToFinishDoc_AfterPreconnectRequest" units="ms">
  <obsolete>
    Deprecated as of http://crrev.com/392823002
  </obsolete>
  <owner>kouhei@chromium.org</owner>
  <summary>
    PLT.BeginToFinishDoc, but for pages requested just after a new preconnect
    request.
  </summary>
</histogram>

<histogram name="PLT.BeginToFinishDoc_ContentPrefetcher" units="ms">
  <obsolete>
    No longer needed.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    PLT.BeginToFinishDoc, but for pages which contained prefetch links.
  </summary>
</histogram>

<histogram name="PLT.BeginToFinishDoc_ContentPrefetcherReferrer" units="ms">
  <obsolete>
    No longer needed.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    PLT.BeginToFinishDoc, but for pages which were referred to by pages which
    contained prefetch links.
  </summary>
</histogram>

<histogram name="PLT.BeginToFinishDoc_SpdyProxy" units="ms">
  <obsolete>
    Use PLT.PT_BeginToFinishDoc_DataReductionProxy instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    PLT.BeginToFinshDoc, but for pages fetched over a SPDY proxy.
  </summary>
</histogram>

<histogram name="PLT.BeginToFirstPaint" units="ms">
  <obsolete>
    Use PageLoad.PaintTiming.NavigationToFirstContentfulPaint instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <summary>
    Time from &quot;begin&quot; to &quot;first paint.&quot;  &quot;Begin&quot;==
    &quot;request&quot; if user requested, and &quot;start&quot; otherwise.
    &quot;Request&quot;== time when user requested document. &quot;Start&quot;==
    time when renderer requested load of document, after any unload of last
    document. &quot;First paint&quot;== time when first paint operation was
    performed.
  </summary>
</histogram>

<histogram name="PLT.BeginToFirstPaint_Negative" units="ms">
  <obsolete>
    No longer needed.
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Magnitude and difference between begin and first paint, when first_paint
    precedes begin. This is a temporary metric used to better understand the
    root cause of http://crbug.com/125273.
  </summary>
</histogram>

<histogram name="PLT.BeginToFirstPaintAfterLoad" units="ms">
  <obsolete>
    The first paint after load is not useful for most documents. Consider using
    PageLoad.PaintTiming.NavigationToFirstContentfulPaint instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <summary>
    Time from &quot;big&quot; to &quot;first paint after load.&quot;
    &quot;Begin&quot;== &quot;request&quot; if user requested, and
    &quot;start&quot; otherwise.  &quot;Request&quot;== time when user requested
    document. &quot;Start&quot;== time when renderer requested load of document,
    after any unload of last document. &quot;First paint after load&quot;== time
    after onload() when first paint operation is performed.
  </summary>
</histogram>

<histogram name="PLT.CommitToFinish" units="ms">
  <obsolete>
    Use PageLoad.DocumentTiming.NavigationToLoadEventFired instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from &quot;commit&quot; to &quot;finish.&quot; &quot;Commit&quot;==
    time when renderer got first byte of document.  &quot;Finish&quot;==after
    onload() and all resources are loaded.
  </summary>
</histogram>

<histogram name="PLT.CommitToFinishDoc" units="ms">
  <obsolete>
    Use PageLoad.ParseTiming.ParseDuration instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from &quot;commit&quot; to &quot;finish doc.&quot; &quot;Commit&quot;==
    time when renderer got first byte of document. &quot;Finish doc&quot; ==
    main document loaded, before onload(). &quot;Finish&quot;==after onload()
    and all resources are loaded.
  </summary>
</histogram>

<histogram name="PLT.CommitToFirstPaint" units="ms">
  <obsolete>
    Use PageLoad.PaintTiming.ParseStartToFirstContentfulPaint instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from &quot;commit&quot; to &quot;first paint.&quot;
    &quot;Commit&quot;== time when renderer got first byte of document.
    &quot;First paint&quot;== time when first paint operation was performed.
  </summary>
</histogram>

<histogram name="PLT.CommitToFirstPaintAfterLoad" units="ms">
  <obsolete>
    The first paint after load is not useful for most documents. Consider using
    PageLoad.PaintTiming.ParseStartToFirstContentfulPaint instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from &quot;commit&quot; to &quot;first paint after load.&quot;
    &quot;Commit&quot;== time when renderer got first byte of document.
    &quot;First paint after load&quot;== time after onload() when first paint
    operation is performed.
  </summary>
</histogram>

<histogram name="PLT.FinishDocToFinish" units="ms">
  <obsolete>
    No longer needed.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from &quot;finish doc&quot; to &quot;finish.&quot; &quot;Finish
    doc&quot;== main document loaded, before onload(). &quot;Finish&quot;==after
    onload() and all resources are loaded.
  </summary>
</histogram>

<histogram name="PLT.FinishToFirstPaintAfterLoad" units="ms">
  <obsolete>
    The first paint after load is not useful for most documents. Consider using
    PageLoad.PaintTiming.NavigationToFirstContentfulPaint instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from &quot;finish &quot; to &quot;first paint after load.&quot;
    &quot;Finish&quot;==after onload() and all resources are loaded. &quot;First
    paint after load&quot;== time after onload() when first paint operation is
    performed.
  </summary>
</histogram>

<histogram name="PLT.LoadType" enum="LoadType">
  <obsolete>
    Use PageLoad.PaintTiming.NavigationToFirstContentfulPaint.LoadType.*
    instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Probability distribution for enumerated varieties of page loads.
  </summary>
</histogram>

<histogram name="PLT.MissingStart" enum="MissingStartType">
  <obsolete>
    Deprecated as of 2014-06.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Diagnose error conditions in PLT reporting. A start time should always be
    present.
  </summary>
</histogram>

<histogram name="PLT.NavStartToLoadEnd" units="ms">
  <obsolete>
    deprecated 2012-01-19 in favour of PLT.PT_*
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time elapsed between the Navigation Timing metrics navigationStart and
    loadEventEnd. Definitions: http://www.w3.org/TR/navigation-timing/
  </summary>
</histogram>

<histogram name="PLT.NavStartToLoadStart" units="ms">
  <obsolete>
    deprecated 2012-01-19 in favour of PLT.PT_*
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time elapsed between the Navigation Timing metrics navigationStart and
    loadEventStart. Definitions: http://www.w3.org/TR/navigation-timing/
  </summary>
</histogram>

<histogram name="PLT.NT_Connect" units="ms">
  <obsolete>
    Deprecated 09/2016.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from connectStart to connectEnd based on Navigation Timing.
  </summary>
</histogram>

<histogram name="PLT.NT_DelayBeforeConnect" units="ms">
  <obsolete>
    Deprecated as of 7/19/2016.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from domanLookupEnd to connectStart based on Navigation Timing.
  </summary>
</histogram>

<histogram name="PLT.NT_DelayBeforeDomainLookup" units="ms">
  <obsolete>
    Deprecated as of 7/19/2016.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from fetchStart to domainLookupStart based on Navigation Timing.
  </summary>
</histogram>

<histogram name="PLT.NT_DelayBeforeDomLoading" units="ms">
  <obsolete>
    Deprecated as of 7/19/2016. Replaced by
    PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from responseStart to domLoading based on Navigation Timing.
  </summary>
</histogram>

<histogram name="PLT.NT_DelayBeforeFetch" units="ms">
  <obsolete>
    Deprecated as of 7/19/2016.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from navigationStart to fetchStart based on Navigation Timing when no
    redirect.
  </summary>
</histogram>

<histogram name="PLT.NT_DelayBeforeFetchRedirect" units="ms">
  <obsolete>
    Deprecated as of 7/19/2016.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from navigationStart to fetchStart excluding time spent on redirects
    based on Navigation Timing. Only page loads with redirects are considered.
  </summary>
</histogram>

<histogram name="PLT.NT_DelayBeforeLoadEvent" units="ms">
  <obsolete>
    Deprecated as of 7/19/2016. Replaced by
    PageLoad.DocumentTiming.NavigationToLoadEventFired.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from domContentLoadedEventEnd to loadEventStart based on Navigation
    Timing.
  </summary>
</histogram>

<histogram name="PLT.NT_DelayBeforeRequest" units="ms">
  <obsolete>
    Deprecated as of 7/19/2016.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from connectEnd to requestStart based on Navigation Timing.
  </summary>
</histogram>

<histogram name="PLT.NT_DomainLookup" units="ms">
  <obsolete>
    Deprecated 09/2016.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from domainLookupStart to domainLookupEnd based on Navigation Timing.
  </summary>
</histogram>

<histogram name="PLT.NT_DomContentLoaded" units="ms">
  <obsolete>
    Deprecated 09/2016. Use
    PageLoad.Clients.DataReductionProxy.DocumentTiming.NavigationToDOMContentLoadedEventFired
    instead.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from domContentLoadedEventStart to domContentLoadedEventEnd based on
    Navigation Timing.
  </summary>
</histogram>

<histogram name="PLT.NT_DomInteractive" units="ms">
  <obsolete>
    Deprecated 09/2016.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from domInteractive to domContentLoadEventStart based on Navigation
    Timing.
  </summary>
</histogram>

<histogram name="PLT.NT_DomLoading" units="ms">
  <obsolete>
    Deprecated 09/2016.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from domLoading to domInteractive based on Navigation Timing.
  </summary>
</histogram>

<histogram name="PLT.NT_LoadEvent" units="ms">
  <obsolete>
    Deprecated 09/2016. Use
    PageLoad.Clients.DataReductionProxy.DocumentTiming.NavigationToLoadEventFired
    instead.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from loadEventStart to loadEventEnd based on Navigation Timing.
  </summary>
</histogram>

<histogram name="PLT.NT_Redirect" units="ms">
  <obsolete>
    Deprecated as of 7/19/2016.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from redirectStart to redirectEnd based on Navigation Timing when
    redirects exist.
  </summary>
</histogram>

<histogram name="PLT.NT_Request" units="ms">
  <obsolete>
    Deprecated as of 7/19/2016. Replaced by
    PageLoad.ParseTiming.NavigationToParseStart.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from requestStart to responseStart based on Navigation Timing.
  </summary>
</histogram>

<histogram name="PLT.NT_Response" units="ms">
  <obsolete>
    Deprecated as of 7/19/2016. Replaced by PageLoad.ParseTiming.ParseDuration.
  </obsolete>
  <owner>bolian@chromium.org</owner>
  <summary>
    Time from responseStart to responseEnd based on Navigation Timing.
  </summary>
</histogram>

<histogram name="PLT.PageUsed_PrerenderLoad" enum="PageUsed">
  <obsolete>
    Deprecated as of 5/02/2011.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Distribution of discarded and displayed prerendered pages.</summary>
</histogram>

<histogram name="PLT.PerceivedLoadTime" units="ms">
  <obsolete>
    Deprecated as of 5/02/2011, replaced by Prerender.RendererPLT.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Perceived load time of a page. For non-prerendered pages, this is just
    BeginToFinish. For displayed prerendered pages, this is the time from when
    the prerendered page is moved into a TabContents until finish.
    &quot;Finish&quot; == after onload() and all resources are loaded. Note that
    this is 0 if the loading finishes before the page is moved into a
    TabContents.
  </summary>
</histogram>

<histogram name="PLT.PerceivedLoadTime_PrerenderLoad" units="ms">
  <obsolete>
    Deprecated as of 5/02/2011, replaced by
    Prerender.RendererPerceivedPLTMatched.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Perceived load time of a prerendered page that is displayed. This is the
    time from when the prerendered page is moved into a TabContents until
    finish. &quot;Finish&quot; == after onload() and all resources are loaded.
    Note that this is 0 if the loading finishes before the page is moved into a
    TabContents.
  </summary>
</histogram>

<histogram name="PLT.Prerender_TimeUntilDisplay" units="ms">
  <obsolete>
    Deprecated as of 5/02/2011, replaced by Prerender.RendererTimeUntilDisplay.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time elapsed between when the prerendering of a page starts and when the
    page is displayed. Prerendered pages discarded without being displayed are
    excluded from this count.
  </summary>
</histogram>

<histogram name="PLT.PrerenderIdleTime" units="ms">
  <obsolete>
    Deprecated as of 5/02/2011, replaced by Prerender.RendererIdleTime.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    This is the time from when a prerendered page finishes loading to when it is
    displayed. When a page is displayed before it finishes loading, no value is
    recorded in this histogram.
  </summary>
</histogram>

<histogram name="PLT.PT.NavigationStartToFirstLayout" units="ms">
  <obsolete>
    Deprecated. Use PageLoad.Timing2.* instead.
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's navigation start to the time the
    first document layout is performed.
  </summary>
</histogram>

<histogram name="PLT.PT.ResponseStartToFirstLayout" units="ms">
  <obsolete>
    Deprecated. Use PageLoad.Timing2.* instead.
  </obsolete>
  <owner>bmcquade@chromium.org</owner>
  <summary>
    Measures the time from navigation timing's response start to the time the
    first document layout is performed.
  </summary>
</histogram>

<histogram name="PLT.PT_BeginToCommit" units="ms">
  <obsolete>
    Use PageLoad.Timing2.NavigationToCommit instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <summary>
    This time is based on the NavigationTiming spec and is a more accurate
    version of PLT.BeginToCommit. Commit: responseStart. Begin: requestStart or
    navigationStart if user-initiated request.
  </summary>
</histogram>

<histogram name="PLT.PT_BeginToCommit_DataReductionProxy" units="ms">
  <obsolete>
    Deprecated 9/2016. Use Use
    PageLoad.Clients.DataReductionProxy.DocumentTiming.NavigationToCommit
    instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    This time is based on the PerformanceTiming spec and is a more accurate
    version of PLT.BeginToCommit. Commit: responseStart. Begin: requestStart or
    navigationStart if user-initiated request. Only page loads through the data
    reduction proxy are considered.
  </summary>
</histogram>

<histogram name="PLT.PT_BeginToFinish" units="ms">
  <obsolete>
    Use PageLoad.DocumentTiming.NavigationToLoadEventFired instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <summary>
    This time is based on the NavigationTiming spec and is a more accurate
    version of PLT.BeginToFinish. Finish: loadEventEnd. Begin: requestStart or
    navigationStart if user-initiated request.
  </summary>
</histogram>

<histogram name="PLT.PT_BeginToFinish_DataReductionProxy" units="ms">
  <obsolete>
    Deprecated 9/2016. Use Use
    PageLoad.Clients.DataReductionProxy.DocumentTiming.NavigationToLoadEventFired
    instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    This time is based on the PerformanceTiming spec and is a more accurate
    version of PLT.BeginToFinish_SpdyProxy. Finish: loadEventEnd. Begin:
    requestStart or navigationStart if user-initiated request. Only page loads
    through the data reduction proxy are considered.
  </summary>
</histogram>

<histogram name="PLT.PT_BeginToFinishDoc" units="ms">
  <obsolete>
    Use PageLoad.DocumentTiming.NavigationToLoadEventFired instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <summary>
    This time is based on the NavigationTiming spec and is a more accurate
    version of PLT.BeginToFinishDoc. FinishDoc: loadEventStart. Begin:
    requestStart or navigationStart if user-initiated request.
  </summary>
</histogram>

<histogram name="PLT.PT_BeginToFinishDoc_DataReductionProxy" units="ms">
  <obsolete>
    Deprecated 09/2016. Use
    PageLoad.Clients.DataReductionProxy.DocumentTiming.NavigationToLoadEventFired
    instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    This time is based on the PerformanceTiming spec and is a more accurate
    version of PLT.BeginToFinishDoc_SpdyProxy. FinishDoc: loadEventStart. Begin:
    requestStart or navigationStart if user-initiated request. Only page loads
    through the data reduction proxy are considered.
  </summary>
</histogram>

<histogram name="PLT.PT_CommitToFinish" units="ms">
  <obsolete>
    Use PageLoad.DocumentTiming.NavigationToLoadEventFired instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <summary>
    This time is based on the NavigationTiming spec and is a more accurate
    version of PLT.CommitToFinish. Commit: responseStart. Finish: loadEventEnd.
  </summary>
</histogram>

<histogram name="PLT.PT_CommitToFinish_DataReductionProxy" units="ms">
  <obsolete>
    Deprecated 09/2016. Use
    PageLoad.Clients.DataReductionProxy.DocumentTiming.NavigationToLoadEventFired
    instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    This time is based on the PerformanceTiming spec and is a more accurate
    version of PLT.CommitToFinish. Commit: responseStart. Finish: loadEventEnd.
    Only page loads through the data reduction proxy are considered.
  </summary>
</histogram>

<histogram name="PLT.PT_CommitToFinishDoc" units="ms">
  <obsolete>
    Use PageLoad.DocumentTiming.NavigationToLoadEventFired instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <summary>
    This time is based on the NavigationTiming spec and is a more accurate
    version of PLT.CommitToFinishDoc. Commit: responseStart. FinishDoc:
    loadEventStart.
  </summary>
</histogram>

<histogram name="PLT.PT_CommitToFinishDoc_DataReductionProxy" units="ms">
  <obsolete>
    Deprecated 09/2016. Use
    PageLoad.Clients.DataReductionProxy.DocumentTiming.NavigationToLoadEventFired
    instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    This time is based on the PerformanceTiming spec and is a more accurate
    version of PLT.CommitToFinishDoc. Commit: responseStart. FinishDoc:
    loadEventStart. Only page loads through the data reduction proxy are
    considered.
  </summary>
</histogram>

<histogram name="PLT.PT_FinishDocToFinish" units="ms">
  <obsolete>
    No longer needed.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    This time is based on the NavigationTiming spec and is a more accurate
    version of PLT.FinishDocToFinish. Finish: loadEventEnd. FinishDoc:
    loadEventStart.
  </summary>
</histogram>

<histogram name="PLT.PT_FinishDocToFinish_DataReductionProxy" units="ms">
  <obsolete>
    Deprecated 09/2016.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    This time is based on the PerformanceTiming spec and is a more accurate
    version of PLT.FinishDocToFinish. Finish: loadEventEnd. FinishDoc:
    loadEventStart. Only page loads through the data reduction proxy are
    considered.
  </summary>
</histogram>

<histogram name="PLT.PT_RequestToCommit" units="ms">
  <obsolete>
    Use PageLoad.Timing2.NavigationToCommit instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <summary>
    This time is based on the NavigationTiming spec and measures the time until
    the renderer got first byte of document. Commit: time when renderer got
    first byte of document. Request: navigationStart.
  </summary>
</histogram>

<histogram name="PLT.PT_RequestToDomContentLoaded" units="ms">
  <obsolete>
    Use PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <summary>
    This time is based on the NavigationTiming spec and measures the time until
    the beginning of the DOMContentLoaded event. DOMContentLoaded:
    domContentLoadedEventStart. Request: navigationStart.
  </summary>
</histogram>

<histogram name="PLT.PT_RequestToFinish" units="ms">
  <obsolete>
    Use PageLoad.DocumentTiming.NavigationToLoadEventFired instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <summary>
    This time is based on the NavigationTiming spec and is a more accurate
    version of PLT.RequestToFinish. Finish: loadEventEnd. Request:
    navigationStart.
  </summary>
</histogram>

<histogram name="PLT.PT_RequestToFinish_DataReductionProxy" units="ms">
  <obsolete>
    Deprecated 09/2016. Use
    PageLoad.Clients.DataReductionProxy.DocumentTiming.NavigationToLoadEventFired
    instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    This time is based on the PerformanceTiming spec and is a more accurate
    version of PLT.RequestToFinish. Finish: loadEventEnd. Request:
    navigationStart. Only page loads through the data reduction proxy are
    considered.
  </summary>
</histogram>

<histogram name="PLT.PT_RequestToFinishDoc" units="ms">
  <obsolete>
    Use PageLoad.DocumentTiming.NavigationToLoadEventFired instead.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <summary>
    This time is based on the NavigationTiming spec and measures the page load
    time until the beginning of the load event. Finish: loadEventStart. Request:
    navigationStart.
  </summary>
</histogram>

<histogram name="PLT.PT_RequestToStart" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    This time is based on the NavigationTiming spec and is a more accurate
    version of PLT.RequestToStart. Start: requestStart. Request:
    navigationStart.
  </summary>
</histogram>

<histogram name="PLT.PT_RequestToStart_DataReductionProxy" units="ms">
  <obsolete>
    Deprecated 09/2016.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    This time is based on the PerformanceTiming spec and is a more accurate
    version of PLT.RequestToStart. Start: requestStart. Request:
    navigationStart. Only page loads through the data reduction proxy are
    considered.
  </summary>
</histogram>

<histogram name="PLT.PT_StartToCommit" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    This time is based on the NavigationTiming spec and is a more accurate
    version of PLT.StartToCommit. Start: requestStart. Commit: responseStart.
  </summary>
</histogram>

<histogram name="PLT.PT_StartToCommit_DataReductionProxy" units="ms">
  <obsolete>
    Deprecated 09/2016.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    This time is based on the PerformanceTiming spec and is a more accurate
    version of PLT.StartToCommit. Start: requestStart. Commit: responseStart.
    Only page loads through the data reduction proxy are considered.
  </summary>
</histogram>

<histogram name="PLT.PT_StartToFinish" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    This time is based on the NavigationTiming spec and is a more accurate
    version of PLT.StartToFinish. Start: requestStart. Finish: loadEventEnd.
  </summary>
</histogram>

<histogram name="PLT.PT_StartToFinish_DataReductionProxy" units="ms">
  <obsolete>
    Deprecated 09/2016.
  </obsolete>
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    This time is based on the PerformanceTiming spec and is a more accurate
    version of PLT.StartToFinish. Start: requestStart. Finish: loadEventEnd.
    Only page loads through the data reduction proxy are considered.
  </summary>
</histogram>

<histogram name="PLT.RequestToFinish" units="ms">
  <obsolete>
    Use PageLoad.DocumentTiming.NavigationToLoadEventFired instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from &quot;request&quot; to &quot;finish.&quot;  &quot;Request&quot; ==
    time when user requested document.  &quot;Finish&quot; == after onload() and
    all resources are loaded.
  </summary>
</histogram>

<histogram name="PLT.RequestToStart" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from &quot;request&quot; to &quot;start.&quot; &quot;Request&quot;==
    time when user requested document. &quot;Start&quot;== time when renderer
    requested load of document, after any unload of last document.
  </summary>
</histogram>

<histogram name="PLT.StartToCommit" units="ms">
  <obsolete>
    Use PageLoad.Timing2.NavigationToCommit instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from &quot;start&quot; to &quot;commit.&quot; &quot;Start&quot;== time
    when renderer requested load of document, after any unload of last document.
    &quot;Commit&quot;== time when renderer got first byte of document.
  </summary>
</histogram>

<histogram name="PLT.StartToFinish" units="ms">
  <obsolete>
    Use PageLoad.DocumentTiming.NavigationToLoadEventFired instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from &quot;start&quot; to &quot;finish.&quot; &quot;Start&quot;== time
    when renderer requested load of document, after any unload of last document.
    &quot;Finish&quot;==after onload() and all resources are loaded.
  </summary>
</histogram>

<histogram name="PLT.StartToFinish.NoProxy.http">
  <obsolete>
    Deprecated as of 07/2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>StartToFinish times when using http and no proxy.</summary>
</histogram>

<histogram name="PLT.StartToFinish.NoProxy.https">
  <obsolete>
    Deprecated as of 07/2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>StartToFinish times when using https and no proxy.</summary>
</histogram>

<histogram name="PLT.StartToFinish.Proxy.http">
  <obsolete>
    Deprecated as of 07/2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>StartToFinish times when using http over a proxy.</summary>
</histogram>

<histogram name="PLT.StartToFinish.Proxy.https">
  <obsolete>
    Deprecated as of 07/2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>StartToFinish times when using https over a proxy.</summary>
</histogram>

<histogram name="PLT.UserTiming_Mark" units="ms">
  <obsolete>
    Deprecated as of 09/2016.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <summary>
    This time is based on the User Timing spec and measures the time from
    Navigation Timing navigationStart until the point where the page called
    performance.mark().
  </summary>
</histogram>

<histogram name="PLT.UserTiming_MeasureDuration" units="ms">
  <obsolete>
    Deprecated as of 09/2016.
  </obsolete>
  <owner>pmeenan@chromium.org</owner>
  <summary>
    This time is based on the User Timing spec and reports the time between two
    arbitrary points defined by the page being loaded and directly matches the
    measurement exposed by performance.measure().
  </summary>
</histogram>

<histogram name="Plugin.AvailabilityStatus.WidevineCdm"
    enum="PluginAvailabilityStatus">
  <owner>xhwang@chromium.org</owner>
  <summary>
    The availability status of Widevine CDM. In normal cases, this is reported
    per render process if EME API is used. This is not reported if EME API is
    not used. This could be reported multiple times per render process until
    PLUGIN_AVAILABLE is reported (which should be a rare case).
  </summary>
</histogram>

<histogram name="Plugin.EnabledStatusMigrationDone" enum="Boolean">
  <owner>pastarmovj@chromium.org</owner>
  <owner>tommycli@chromium.org</owner>
  <summary>Tracks whether plugins that were disabled were migrated.</summary>
</histogram>

<histogram name="Plugin.Flash.ClickSize.AspectRatio" units="%">
  <owner>tommycli@chromium.org</owner>
  <summary>
    Aspect ratio of Flash plugins users click at least once. The aspect ratio is
    multiplied by 100 and stored as a rounded integer.
  </summary>
</histogram>

<histogram name="Plugin.Flash.ClickSize.Height" units="pixels">
  <owner>tommycli@chromium.org</owner>
  <summary>Height of Flash plugins users click at least once.</summary>
</histogram>

<histogram name="Plugin.Flash.ClickSize.Width" units="pixels">
  <owner>tommycli@chromium.org</owner>
  <summary>Width of Flash plugins users click at least once.</summary>
</histogram>

<histogram name="Plugin.Flash.Engagement">
  <owner>dominickn@chromium.org</owner>
  <summary>
    The engagement score of origins which have passed through a site engagement
    check to permit or block Flash. Recorded every time the Flash plugin is
    requested with the PreferHtmlOverPlugins feature active.
  </summary>
</histogram>

<histogram name="Plugin.Flash.TinyContentSize" enum="FlashTinyContentSize">
  <owner>tommycli@chromium.org</owner>
  <summary>
    Collects the sizes of all loaded Flash plugin instances. This is for
    determining the prevalence of tiny flash plugin instances.
  </summary>
</histogram>

<histogram name="Plugin.Flash.YouTubeRewrite" enum="YouTubeRewriteStatus">
  <owner>mlamouri@chromium.org</owner>
  <owner>kdsilva@google.org</owner>
  <summary>
    Records the YouTube Flash embed rewrite status when attempted.
  </summary>
</histogram>

<histogram name="Plugin.FlashNavigateUsage" enum="FlashNavigateUsageType">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Record usage of PPB_Flash.Navigate() Pepper API.</summary>
</histogram>

<histogram name="Plugin.FlashUsage" enum="FlashUsage">
  <owner>yzshen@chromium.org</owner>
  <owner>thestig@chromium.org</owner>
  <summary>Collects Flash usage data.</summary>
</histogram>

<histogram name="Plugin.NpapiRemovalInfobar.Removed.PluginGroup"
    enum="PluginGroup">
  <obsolete>
    Deprecated due to NPAPI removal.
  </obsolete>
  <owner>wfh@chromium.org</owner>
  <summary>
    The plugin group of an NPAPI plugin that is no longer supported. Recorded
    when the NPAPI removal infobar is shown for a plugin which is no longer
    supported.
  </summary>
</histogram>

<histogram name="Plugin.NpapiRemovalInfobar.RemovedSoon.PluginGroup"
    enum="PluginGroup">
  <obsolete>
    Deprecated due to NPAPI removal.
  </obsolete>
  <owner>wfh@chromium.org</owner>
  <summary>
    The plugin group of an NPAPI plugin that will be unsupported soon. Recorded
    when the NPAPI removal infobar is shown after an NPAPI plugin first loads to
    warn the user that NPAPI support for this plugin will be removed soon.
  </summary>
</histogram>

<histogram name="Plugin.NPAPIStatus" enum="NPAPIPluginStatus">
  <obsolete>
    Deprecated due to NPAPI removal.
  </obsolete>
  <owner>wfh@chromium.org</owner>
  <summary>
    Records whether NPAPI plugins are supported by the platform, and if so,
    whether they are enabled or disabled.  Recorded once at browser startup.
  </summary>
</histogram>

<histogram name="Plugin.PowerSaver.PeripheralHeuristic"
    enum="PluginPowerSaverPeripheralHeuristicDecision">
  <obsolete>
    Deprecated in favor of Plugin.PowerSaver.PeripheralHeuristicInitialDecision.
  </obsolete>
  <owner>tommycli@chromium.org</owner>
  <summary>
    Records each decision of the Plugin Power Saver peripheral content
    heuristic. This UMA is counted once per peripheral query, and may count a
    single plugin instance multiple times as it is resized.
  </summary>
</histogram>

<histogram name="Plugin.PowerSaver.PeripheralHeuristicInitialDecision"
    enum="PluginPowerSaverPeripheralHeuristicDecision">
  <owner>tommycli@chromium.org</owner>
  <summary>
    Records the initial decision of the Plugin Power Saver peripheral content
    heuristic for each plugin instance. This is recorded once per plugin
    instance.
  </summary>
</histogram>

<histogram name="Plugin.PowerSaver.PosterParamPresence"
    enum="PluginPowerSaverPosterParamPresence">
  <owner>tommycli@chromium.org</owner>
  <summary>
    Record how many plugin object tags use poster param. This is recorded once
    per plugin instance, and is currently restricted to Flash plugin instances.
  </summary>
</histogram>

<histogram name="Plugin.PowerSaver.Unthrottle"
    enum="PluginPowerSaverUnthrottleMethod">
  <owner>tommycli@chromium.org</owner>
  <summary>
    Record how many throttled plugins are unthrottled, and by what method.
  </summary>
</histogram>

<histogram name="Plugin.PpapiBrokerLoadErrorCode" units="code">
  <owner>xhwang@chromium.org</owner>
  <summary>The error code of a PPAPI broker load failure.</summary>
</histogram>

<histogram name="Plugin.PpapiBrokerLoadResult" enum="PluginLoadResult">
  <owner>xhwang@chromium.org</owner>
  <summary>The result from an attempt to load a PPAPI broker.</summary>
</histogram>

<histogram name="Plugin.PpapiBrokerLoadTime" units="ms">
  <owner>xhwang@chromium.org</owner>
  <summary>The time spent to load a PPAPI broker.</summary>
</histogram>

<histogram name="Plugin.PpapiPluginLoadErrorCode" units="code">
  <owner>xhwang@chromium.org</owner>
  <summary>The error code of a PPAPI plugin load failure.</summary>
</histogram>

<histogram name="Plugin.PpapiPluginLoadResult" enum="PluginLoadResult">
  <owner>xhwang@chromium.org</owner>
  <summary>The result from an attempt to load a PPAPI plugin.</summary>
</histogram>

<histogram name="Plugin.PpapiPluginLoadTime" units="ms">
  <owner>xhwang@chromium.org</owner>
  <summary>The time spent to load a PPAPI plugin.</summary>
</histogram>

<histogram name="Plugin.PpapiSyncIPCTime" units="ms">
  <owner>gab@chromium.org</owner>
  <summary>
    The time it took to complete a synchronous IPC made from the PPAPI process.
  </summary>
</histogram>

<histogram name="Plugin.RequestObjectResult" enum="BooleanSuccess">
  <owner>mlamouri@chromium.org</owner>
  <summary>Result of HTMLPluginElement::requestObject in Blink.</summary>
</histogram>

<histogram name="Plugin.SyncMessageTime" units="ms">
  <obsolete>
    Deprecated due to NPAPI removal.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Roundtrip times for synchronous IPC calls from the renderer to NPAPI plugin
    processes.
  </summary>
</histogram>

<histogram name="PluginFinder.BuiltInPluginList.ErrorCode"
    enum="PluginListError">
  <owner>bauerb@chromium.org</owner>
  <summary>
    Error codes when parsing the built-in plugin list. Logged when the
    PluginFinder singleton is created.
  </summary>
</histogram>

<histogram name="Power.BacklightLevelOnAC" units="%">
  <owner>derat@chromium.org</owner>
  <summary>
    The level of the backlight as a percentage when the user is on AC. Sampled
    every 30 seconds.
  </summary>
</histogram>

<histogram name="Power.BacklightLevelOnBattery" units="%">
  <owner>derat@chromium.org</owner>
  <summary>
    The level of the backlight as a percentage when the user is on battery.
    Sampled every 30 seconds.
  </summary>
</histogram>

<histogram name="Power.BatteryChargeHealth" units="%">
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS battery charge health percentage.  Sampled once when device starts
    charging.
  </summary>
</histogram>

<histogram name="Power.BatteryDischargePercentPerHour" units="%">
  <obsolete>
    Deprecated 02/2017 in favor of power benchmarks that have less variability
    than data from users' machines.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
        The percentage of battery capacity used per hour relative to a full
    battery. Reported once when the power adaptor is plugged back in after the
    system is on battery power for more than 30 minutes.  If at any point the
    system is suspended or all Chrome renderers are closed the measurement is
    not recorded. Anytime the user unplugs the power adaptor, a new measurement
    will begin being recorded. Collection of this histogram only starts after 30
    minutes of uptime at which point the clock starts (assuming the user is on
    battery power at that point).  The system will need to remain unplugged for
    at least another 30 minutes in order for any measurement to be recorded.
    Values are normalized to a percent per hour scale. This measurement is tied
    tightly to hardware model/OS and is not comparable across different hardware
    configurations.
  </summary>
</histogram>

<histogram name="Power.BatteryDischargeRate" units="mW">
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS battery discharge rate in mW sampled every 30 seconds while the
    device runs on battery.
  </summary>
</histogram>

<histogram name="Power.BatteryDischargeRate_15" units="%">
  <obsolete>
    Deprecated 02/2017 in favor of power benchmarks that have less variability
    than data from users' machines.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
        The percent of depleted battery capacity relative to a full battery over
    the first 15 minutes after battery power collection information starts.
    Collection of this histogram only starts after 30 minutes of uptime at which
    point the clock starts (assuming the user is on battery power at that
    point).  The system will need to remain unplugged for at least another 15
    minutes in order for any measurement to be recorded. Values are normalized
    to a percent per hour scale. This measurement is tied tightly to hardware
    model/OS and is not comparable across different hardware configurations.
  </summary>
</histogram>

<histogram name="Power.BatteryDischargeRate_30" units="%">
  <obsolete>
    Deprecated 02/2017 in favor of power benchmarks that have less variability
    than data from users' machines.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
        The percent of depleted battery capacity relative to a full battery over
    the first 30 minutes after battery power collection information starts.
    Collection of this histogram only starts after 30 minutes of uptime at which
    point the clock starts (assuming the user is on battery power at that
    point).  The system will need to remain unplugged for at least another 30
    minutes in order for any measurement to be recorded. Values are normalized
    to a percent per hour scale. This measurement is tied tightly to hardware
    model/OS and is not comparable across different hardware configurations.
  </summary>
</histogram>

<histogram name="Power.BatteryDischargeRate_5" units="%">
  <obsolete>
    Deprecated 02/2017 in favor of power benchmarks that have less variability
    than data from users' machines.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
        The percent of depleted battery capacity relative to a full battery over
    the first 5 minutes after battery power collection information starts.
    Collection of this histogram only starts after 30 minutes of uptime at which
    point the clock starts (assuming the user is on battery power at that
    point).  The system will need to remain unplugged for at least another 5
    minutes in order for any measurement to be recorded. Values are normalized
    to a percent per hour scale. This measurement is tied tightly to hardware
    model/OS and is not comparable across different hardware configurations.
  </summary>
</histogram>

<histogram name="Power.BatteryDischargeRateWhileSuspended" units="mW">
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS battery discharge rate in mW while the system was suspended,
    sampled at resume. Only reported if the system was on battery power both
    before suspending and after resuming, if the energy level didn't increase
    while suspended (which would indicate that an AC adapter was connected), and
    if the system was suspended for at least a minute.
  </summary>
</histogram>

<histogram name="Power.BatteryInfoSample" enum="BatteryInfoSampleResult">
  <owner>derat@chromium.org</owner>
  <summary>
    Counts the number of times we have read the battery status from sysfs and if
    it gave us sensible values.
  </summary>
</histogram>

<histogram name="Power.BatteryRemainingAtEndOfSessionOnAC" units="%">
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS remaining battery charge as percent of the maximum battery charge,
    sampled at the end of a user session when the device is on AC.
  </summary>
</histogram>

<histogram name="Power.BatteryRemainingAtEndOfSessionOnBattery" units="%">
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS remaining battery charge as percent of the maximum battery charge,
    sampled at the end of a user session when the device is on battery.
  </summary>
</histogram>

<histogram name="Power.BatteryRemainingAtStartOfSessionOnAC" units="%">
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS remaining battery charge as percent of the maximum battery charge,
    sampled at the start of a user session when the device is on AC.
  </summary>
</histogram>

<histogram name="Power.BatteryRemainingAtStartOfSessionOnBattery" units="%">
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS remaining battery charge as percent of the maximum battery charge,
    sampled at the start of a user session when the device is on battery.
  </summary>
</histogram>

<histogram name="Power.BatteryRemainingCharge" units="%">
  <obsolete>
    Deprecated as of 03/2012, no longer being generated by powerd.
  </obsolete>
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS remaining battery charge as percent of the maximum battery charge
    sampled when the device runs on battery.
  </summary>
</histogram>

<histogram name="Power.BatteryRemainingWhenChargeStarts" units="%">
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS remaining battery charge as percent of the maximum battery charge,
    sampled when charging starts.
  </summary>
</histogram>

<histogram name="Power.BatteryTimeToEmpty" units="minutes">
  <obsolete>
    Deprecated as of 03/2012, no longer being generated by powerd.
  </obsolete>
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS remaining time to empty battery in minutes sampled when the device
    runs on battery.
  </summary>
</histogram>

<histogram name="Power.BitfixChunks">
  <owner>dianders@chromium.org</owner>
  <summary>
    Chrome OS (Snow RO firmware 2695.90.0 only) number of 8K chunks that were
    fixed (memory corruption corrected) for each suspend/resume cycle.  Expect 0
    around 97% of the time and a non-zero value around 3% of the time.
  </summary>
</histogram>

<histogram name="Power.BitfixFixes">
  <owner>dianders@chromium.org</owner>
  <summary>
    Chrome OS (Snow RO firmware 2695.90.0 only) number of 4-byte words that were
    fixed (memory corruption corrected) for each suspend/resume cycle.  Expect 0
    around 97% of the time and a non-zero value around 3% of the time.  Would be
    exactly equal to Power.BitfixChunks if there were only one corrupted word in
    each chunk but is sometimes several times higher.
  </summary>
</histogram>

<histogram name="Power.BrightnessAdjustOnAC" enum="PowerBrightnessAdjust">
  <obsolete>
    Deprecated as of 5/2013. See Accel_BrightnessDown_F6 and
    Accel_BrightnessUp_F7 user actions instead.
  </obsolete>
  <owner>derat@chromium.org</owner>
  <summary>
    Number of times the user has adjusted brightness up and down while running
    on battery power.
  </summary>
</histogram>

<histogram name="Power.BrightnessAdjustOnBattery" enum="PowerBrightnessAdjust">
  <obsolete>
    Deprecated as of 5/2013. See Accel_BrightnessDown_F6 and
    Accel_BrightnessUp_F7 user actions instead.
  </obsolete>
  <owner>derat@chromium.org</owner>
  <summary>
    Number of times the user has adjusted brightness up and down while running
    on AC power.
  </summary>
</histogram>

<histogram name="Power.ChargerType" enum="PowerChargerType">
  <obsolete>
    Deprecated 11/2014 in issue 427057.
  </obsolete>
  <owner>derat@chromium.org</owner>
  <summary>
    External power supply type such as MAINS_CHARGER, USB_CHARGER,
    UNCONFIRMED_SPRING_CHARGER, SAFE_SPRING_CHARGER. A sample is reported each
    time a charger is connected to the device.
  </summary>
</histogram>

<histogram name="Power.ConnectedChargingPorts"
    enum="PowerConnectedChargingPorts">
  <owner>bleung@chromium.org</owner>
  <owner>derat@chromium.org</owner>
  <summary>
    Connected charging ports on Chrome OS. A sample is reported every time that
    the power manager polls sysfs (typically every 30 seconds). Ordinals are
    assigned based on the lexicographical ordering of power supply names from
    sysfs and have no implied correspondence with ports' physical locations. For
    example, with ports 'CROS_USB_PD_CHARGER0' and 'CROS_USB_PD_CHARGER1',
    'first' refers to the former and 'second' to the latter. To determine a
    port's physical location, see the powerd charging_ports pref in the device's
    overlay.
  </summary>
</histogram>

<histogram name="Power.DarkResumeWakeDurationMs" units="ms">
  <owner>chirantan@chromium.org</owner>
  <summary>
    The amount of time a system spent awake every time it woke up in dark
    resume.
  </summary>
</histogram>

<histogram name="Power.DarkResumeWakeDurationMs.Other" units="ms">
  <owner>chirantan@chromium.org</owner>
  <owner>samueltan@chromium.org</owner>
  <summary>
    The amount of time a system spent awake every time it woke up in dark resume
    triggered by an unknown or unsupported wake trigger.
  </summary>
</histogram>

<histogram name="Power.DarkResumeWakeDurationMs.WiFi.Disconnect" units="ms">
  <owner>chirantan@chromium.org</owner>
  <owner>samueltan@chromium.org</owner>
  <summary>
    The amount of time a system spent awake every time it woke up in dark resume
    triggered by a WiFi disconnect.
  </summary>
</histogram>

<histogram name="Power.DarkResumeWakeDurationMs.WiFi.Pattern" units="ms">
  <owner>chirantan@chromium.org</owner>
  <owner>samueltan@chromium.org</owner>
  <summary>
    The amount of time a system spent awake every time it woke up in dark resume
    triggered by a WiFi packet pattern match.
  </summary>
</histogram>

<histogram name="Power.DarkResumeWakeDurationMs.WiFi.SSID" units="ms">
  <owner>chirantan@chromium.org</owner>
  <owner>samueltan@chromium.org</owner>
  <summary>
    The amount of time a system spent awake every time it woke up in dark resume
    triggered by a net detect SSID match.
  </summary>
</histogram>

<histogram name="Power.DarkResumeWakeupsPerHour">
  <owner>chirantan@chromium.org</owner>
  <summary>
    The number of times a system woke up in dark resume in an hour.  Note that
    this value is scaled up or down to an hour based on the amount of time the
    system spent in suspend.  So if the system suspended for 20 minutes and woke
    up 3 times, it would report a value of 9.
  </summary>
</histogram>

<histogram name="Power.ExternalBrightnessReadResult"
    enum="ExternalDisplayReceiveResult">
  <owner>derat@chromium.org</owner>
  <summary>
    The result of attempting to read an external display's brightness on Chrome
    OS. A read attempt is made after successfully requesting the brightness (see
    Power.ExternalBrightnessRequestResult).
  </summary>
</histogram>

<histogram name="Power.ExternalBrightnessRequestResult"
    enum="ExternalDisplaySendResult">
  <owner>derat@chromium.org</owner>
  <summary>
    The result of requesting an external display's brightness on Chrome OS. A
    request is sent when the user presses a brightness key and the current
    brightness is not already cached. A successful request is followed shortly
    thereafter by a read attempt (see Power.ExternalBrightnessReadResult).
  </summary>
</histogram>

<histogram name="Power.ExternalBrightnessWriteResult"
    enum="ExternalDisplaySendResult">
  <owner>derat@chromium.org</owner>
  <summary>
    The result of attempting to change an external display's brightness on
    Chrome OS. A request is sent when the user presses a brightness key and the
    current brightness is either already cached or successfully loaded.
  </summary>
</histogram>

<histogram name="Power.ExternalDisplayOpenResult"
    enum="ExternalDisplayOpenResult">
  <owner>derat@chromium.org</owner>
  <summary>
    The result of attempting to open an I2C device to control an external
    display's brightness on Chrome OS. An attempt is made when a display is
    connected to a device that lacks an internal display.
  </summary>
</histogram>

<histogram name="Power.FirmwareResumeTimeOnAC" units="ms">
  <owner>snanda@chromium.org</owner>
  <summary>
    The time that the firmware took to resume the Chrome OS device from
    suspend-to-RAM state when running on AC at pre-suspend time.
  </summary>
</histogram>

<histogram name="Power.FirmwareResumeTimeOnBattery" units="ms">
  <owner>snanda@chromium.org</owner>
  <summary>
    The time that the firmware took to resume the Chrome OS device from
    suspend-to-RAM state when running on battery at pre-suspend time.
  </summary>
</histogram>

<histogram name="Power.IdleTimeAfterDimOnAC" units="ms">
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS user idle time since the screen dimmed sampled when the user
    becomes active again if the device runs on AC.
  </summary>
</histogram>

<histogram name="Power.IdleTimeAfterDimOnBattery" units="ms">
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS user idle time since the screen dimmed sampled when the user
    becomes active again if the device runs on battery.
  </summary>
</histogram>

<histogram name="Power.IdleTimeAfterScreenOffOnAC" units="ms">
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS user idle time since the screen turned off sampled when the user
    becomes active again if the device runs on AC.
  </summary>
</histogram>

<histogram name="Power.IdleTimeAfterScreenOffOnBattery" units="ms">
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS user idle time since the screen turned off sampled when the user
    becomes active again if the device runs on battery.
  </summary>
</histogram>

<histogram name="Power.IdleTimeOnAC" units="ms">
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS user idle time sampled when the user becomes active again if the
    device runs on AC.
  </summary>
</histogram>

<histogram name="Power.IdleTimeOnBattery" units="ms">
  <owner>derat@chromium.org</owner>
  <summary>
    Chrome OS user idle time sampled when the user becomes active again if the
    device runs on battery.
  </summary>
</histogram>

<histogram name="Power.KernelResumeTimeOnAC" units="ms">
  <owner>snanda@chromium.org</owner>
  <summary>
    The time that the kernel took to resume the Chrome OS device from
    suspend-to-RAM state when running on AC at pre-suspend time.
  </summary>
</histogram>

<histogram name="Power.KernelResumeTimeOnBattery" units="ms">
  <owner>snanda@chromium.org</owner>
  <summary>
    The time that the kernel took to resume the Chrome OS device from
    suspend-to-RAM state when running on battery at pre-suspend time.
  </summary>
</histogram>

<histogram name="Power.KernelSuspendTimeOnAC" units="ms">
  <owner>snanda@chromium.org</owner>
  <summary>
    The time that the kernel took to suspend-to-RAM the Chrome OS device when
    running on AC.
  </summary>
</histogram>

<histogram name="Power.KernelSuspendTimeOnBattery" units="ms">
  <owner>snanda@chromium.org</owner>
  <summary>
    The time that the kernel took to suspend-to-RAM the Chrome OS device when
    running on battery.
  </summary>
</histogram>

<histogram name="Power.KeyboardBacklightLevel" units="%">
  <owner>derat@chromium.org</owner>
  <summary>
    The level of the keyboard backlight as a percentage. Sampled every 30
    seconds.
  </summary>
</histogram>

<histogram name="Power.LengthOfSession" units="seconds">
  <owner>derat@chromium.org</owner>
  <summary>
    The length of time, in seconds, that a user spent in a single session.
    Values for this metric are clamped to 12 hours, so the last bucket should be
    considered to be including all metrics above 12 hours.
  </summary>
</histogram>

<histogram name="Power.MilliConsumptionPerHourIosOnActive">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The average power consumption, measured in milli-units per hour, when sync
    invalidator listens to on_application_active events. Values for this metric
    are per session, i.e. from battery level at application entering foreground
    to returning to background, and normalized to an hourly average consumption.
    This is an iOS only measurement. Due to how iOS reports battery levels, it
    is likely to see many readings of 0.
  </summary>
</histogram>

<histogram name="Power.MilliConsumptionPerHourOthers">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The average power consumption, measured in milli-units per hour, for other
    sync invalidator methods. Values for this metric are per session, i.e. from
    battery level at application entering foreground to returning to background,
    and normalized to an hourly average consumption. This is an iOS only
    measurement. Due to how iOS reports battery levels, it is likely to see many
    readings of 0.
  </summary>
</histogram>

<histogram name="Power.MilliConsumptionPerHourP2P">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The average power consumption, measured in milli-units per hour, when sync
    invalidator uses peer-to-peer notifications. Values for this metric are per
    session, i.e. from battery level at application entering foreground to
    returning to background, and normalized to an hourly average consumption.
    This is an iOS only measurement. Due to how iOS reports battery levels, it
    is likely to see many readings of 0.
  </summary>
</histogram>

<histogram name="Power.MilliConsumptionPerHourServer">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The average power consumption, measured in milli-units per hour, when sync
    invalidator uses server-based non-blocking invalidator. Values for this
    metric are per session, i.e. from battery level at application entering
    foreground to returning to background, and normalized to an hourly average
    consumption. This is an iOS only measurement. Due to how iOS reports battery
    levels, it is likely to see many readings of 0.
  </summary>
</histogram>

<histogram name="Power.NumberOfAlsAdjustmentsPerSession">
  <owner>derat@chromium.org</owner>
  <summary>
    The number of times that the Automatic Light Sensor (ALS) adjusted the
    brightness during a session.  Values for this metric are clamped to 10k
    count, so the last bucket should be considered to be including all metrics
    above 10k.
  </summary>
</histogram>

<histogram name="Power.NumberOfSessionsPerCharge">
  <owner>derat@chromium.org</owner>
  <summary>
    The number of user sessions that occured since the last time that the device
    was charged. Values for this metric are clamped at 10k, so the last bucket
    should be considered to include all metrics about 10k.
  </summary>
</histogram>

<histogram name="Power.PowerButtonAcknowledgmentDelay" units="ms">
  <owner>derat@chromium.org</owner>
  <summary>
    The amount of time between the user pressing the power button and Chrome
    acknowledging the button-down event on Chrome OS. Values for this metric are
    capped to two seconds.
  </summary>
</histogram>

<histogram name="Power.PowerButtonDownTime" units="ms">
  <owner>derat@chromium.org</owner>
  <summary>
    The amount of time between the user pressing the power button and releasing
    it on Chrome OS.
  </summary>
</histogram>

<histogram name="Power.PowerSupplyMaxPower" units="W">
  <owner>bleung@chromium.org</owner>
  <owner>derat@chromium.org</owner>
  <summary>
    The maximum power supported by the connected power supply on Chrome OS. A
    sample is reported every time that the power manager polls sysfs (typically
    every 30 seconds) and sees a connected supply.
  </summary>
</histogram>

<histogram name="Power.PowerSupplyMaxVoltage" units="V">
  <owner>bleung@chromium.org</owner>
  <owner>derat@chromium.org</owner>
  <summary>
    The maximum voltage supported by the connected power supply on Chrome OS. A
    sample is reported every time that the power manager polls sysfs (typically
    every 30 seconds) and sees a connected supply.
  </summary>
</histogram>

<histogram name="Power.PowerSupplyType" enum="PowerSupplyType">
  <owner>bleung@chromium.org</owner>
  <owner>derat@chromium.org</owner>
  <summary>
    The type of the connected power supply on Chrome OS. A sample is reported
    every time that the power manager polls sysfs (typically every 30 seconds)
    and sees a connected supply.
  </summary>
</histogram>

<histogram name="Power.RetrySuspendCount">
  <obsolete>
    Deprecated Feb 2014 by Power.SuspendAttemptsBeforeCancel and
    Power.SuspendAttemptsBeforeSuccess.
  </obsolete>
  <owner>derat@chromium.org</owner>
  <summary>
    The number of times Chrome OS retried suspend due to previous failure.
  </summary>
</histogram>

<histogram name="Power.ShutdownReason" enum="ShutdownReason">
  <owner>derat@chromium.org</owner>
  <summary>
    The reason for the Chrome OS power manager shutting down or rebooting the
    system.
  </summary>
</histogram>

<histogram name="Power.SuspendAttempt" enum="SuspendAttempt">
  <owner>derat@chromium.org</owner>
  <owner>snanda@chromium.org</owner>
  <summary>
    The number of suspend attempts on Chrome OS. Samples are reported before
    each attempt, so this histogram may include cases where the system crashed
    instead of suspending.
  </summary>
</histogram>

<histogram name="Power.SuspendAttemptsBeforeCancel">
  <owner>derat@chromium.org</owner>
  <owner>snanda@chromium.org</owner>
  <summary>
    The number of suspend attempts performed for a single suspend request (e.g.
    triggered by the lid being closed) that was eventually canceled on Chrome
    OS. This also includes requests that were canceled due to the system
    eventually shutting down due to repeated suspend failures.
  </summary>
</histogram>

<histogram name="Power.SuspendAttemptsBeforeSuccess">
  <owner>derat@chromium.org</owner>
  <owner>snanda@chromium.org</owner>
  <summary>
    The number of suspend attempts performed for a single suspend request (e.g.
    triggered by the lid being closed) that eventually succeeded on Chrome OS.
    This includes the successful attempt.
  </summary>
</histogram>

<histogram name="Power.SuspendResult" enum="SuspendResult">
  <owner>derat@chromium.org</owner>
  <owner>snanda@chromium.org</owner>
  <summary>
    The results of suspend attempts on Chrome OS. Samples are reported after
    each attempt.
  </summary>
</histogram>

<histogram name="Power.SuspendStatus" enum="SuspendStatus">
  <obsolete>
    Deprecated Jan 2014 by Power.SuspendAttempt and Power.SuspendResult.
  </obsolete>
  <owner>derat@chromium.org</owner>
  <summary>Chrome OS suspend status.</summary>
</histogram>

<histogram name="Power.ThermalAbortedFanTurnOn" units="%">
  <obsolete>
    No longer sent.
  </obsolete>
  <owner>derat@chromium.org</owner>
  <summary>
    The percentage of aborted fan attempts out of total fan attempts per
    session, where an abort is due to hysteresis.  This value is computed from
    boot and sent when powerd starts and then every 15 minutes afterwards.
  </summary>
</histogram>

<histogram name="Power.ThermalMultipleFanTurnOn" units="%">
  <obsolete>
    No longer sent.
  </obsolete>
  <owner>derat@chromium.org</owner>
  <summary>
    The percentage of fan trip point passes that are more than one trip point.
    This value is computed from boot and sent when powerd starts and then every
    15 minutes afterwards.
  </summary>
</histogram>

<histogram name="Power.TimeInSuspendAtBoot" units="minutes">
  <owner>derat@chromium.org</owner>
  <owner>snanda@chromium.org</owner>
  <summary>
    Chrome OS time in minutes spent in suspend-to-RAM mode sampled at boot
    (i.e., the device most likely ran out of battery while in suspend).
  </summary>
</histogram>

<histogram name="Power.TimeInSuspendAtResume" units="minutes">
  <owner>derat@chromium.org</owner>
  <owner>snanda@chromium.org</owner>
  <summary>
    Chrome OS time in minutes spent in suspend-to-RAM mode sampled at resume.
  </summary>
</histogram>

<histogram name="Power.UserBrightnessAdjustmentsPerSessionOnAC">
  <owner>derat@chromium.org</owner>
  <summary>
    The number of times that the user adjusted the brightness during a session
    when on AC. Values for this metric are clamped to 10k count, so the last
    bucket should be considered to be including all metrics above 10k.
  </summary>
</histogram>

<histogram name="Power.UserBrightnessAdjustmentsPerSessionOnBattery">
  <owner>derat@chromium.org</owner>
  <summary>
    The number of times that the user adjusted the brightness during a session
    when on battery. Values for this metric are clamped to 10k count, so the
    last bucket should be considered to be including all metrics above 10k.
  </summary>
</histogram>

<histogram name="Precache.BatteryPercentage.Start" units="%">
  <owner>bengr@chromium.org</owner>
  <owner>rajendrant@chromium.org</owner>
  <summary>
    The battery level in percentage when the precache task was started.
  </summary>
</histogram>

<histogram name="Precache.BatteryPercentageDiff.End" units="%">
  <owner>bengr@chromium.org</owner>
  <owner>rajendrant@chromium.org</owner>
  <summary>
    Measures the difference between the battery level percentage when the
    precache task is started and ended. This value indicates the possible
    battery usage due to the precache task. Logged when the precache task ends,
    which could be due to successful completion, time-out, error conditions, max
    download limit exceeded, etc.
  </summary>
</histogram>

<histogram name="Precache.CacheSize.AllEntries" units="KB">
  <owner>jamartin@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The size in kilobytes occupied by all the entries existing in the cache at
    the time of the last precache.
  </summary>
</histogram>

<histogram name="Precache.CacheStatus.NonPrefetch" enum="HttpCachePattern">
  <owner>jamartin@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Like HttpCache.Pattern but only for requests not made during precaching.
    Logged per-request.
  </summary>
</histogram>

<histogram name="Precache.CacheStatus.NonPrefetch.FromPrecache"
    enum="HttpCachePattern">
  <owner>jamartin@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Like Precache.CacheStatus.NonPrefetch but only for requests which having a
    matching URL in the precache. Measures the amount of precache misses due to
    expiration or eviction. Logged per-request.
  </summary>
</histogram>

<histogram name="Precache.CacheStatus.NonPrefetch.NonTopHosts"
    enum="HttpCachePattern">
  <owner>twifkak@chromium.org</owner>
  <owner>jamartin@chromium.org</owner>
  <summary>
    Like Precache.CacheStatus.NonPrefetch, but only for requests with a referer
    not in the user's top visited hosts. See History.TopHostsVisitsByRank for
    details on the top hosts computation.
  </summary>
</histogram>

<histogram name="Precache.CacheStatus.NonPrefetch.TopHosts"
    enum="HttpCachePattern">
  <owner>twifkak@chromium.org</owner>
  <owner>jamartin@chromium.org</owner>
  <summary>
    Like Precache.CacheStatus.NonPrefetch, but only for requests with a referer
    in the user's top visited hosts. See History.TopHostsVisitsByRank for
    details on the top hosts computation.
  </summary>
</histogram>

<histogram name="Precache.CacheStatus.Prefetch" enum="HttpCachePattern">
  <owner>jamartin@chromium.org</owner>
  <owner>twifkak@chromium.org</owner>
  <summary>
    Like HttpCache.Pattern but only for requests made during precaching. Logged
    per-request.
  </summary>
</histogram>

<histogram name="Precache.DownloadedNonPrecache" units="bytes">
  <owner>bengr@chromium.org</owner>
  <summary>
    The number of bytes that were downloaded over the network for HTTP/HTTPS
    fetches that were not motivated by precaching. Logged per-request.
  </summary>
</histogram>

<histogram name="Precache.DownloadedPrecacheMotivated" units="bytes">
  <owner>bengr@chromium.org</owner>
  <summary>
    The number of bytes that were downloaded because of precaching. Logged
    per-request.
  </summary>
</histogram>

<histogram name="Precache.Events" enum="PrecacheEvents">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Enumerates the various failure reasons and events of interest for
    precaching. The events are persisted when the native library is not loaded,
    and recorded when the library loads next time.
  </summary>
</histogram>

<histogram name="Precache.Fetch.FailureReasons">
  <owner>twifkak@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    A bit vector of reasons why the precache fetch failed to start. Bit values
    are documented in the FailureReason Java enum.
  </summary>
</histogram>

<histogram name="Precache.Fetch.MinWeight" units="thousandths">
  <owner>twifkak@chromium.org</owner>
  <summary>
    The minimum resource weight that is fetched in a given precache run.
    Reported if the precache completed successfully or was canceled due to the
    byte cap, but not if it was cancelled due to an ill-formed manifest or
    exceeding the time limit. Reported only if global_ranking is true.
  </summary>
</histogram>

<histogram name="Precache.Fetch.PercentCompleted" units="%">
  <owner>twifkak@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The percent of manifests for which all resources have been downloaded.
    Logged per prefetch run.
  </summary>
</histogram>

<histogram name="Precache.Fetch.ResponseBytes" units="bytes">
  <obsolete>
    Deprecated July 29 2015.
  </obsolete>
  <owner>twifkak@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The total number of response bytes received from all prefetch requests,
    including config, manifests, and resources. Logged per prefetch run.
  </summary>
</histogram>

<histogram name="Precache.Fetch.ResponseBytes.Daily" units="bytes">
  <owner>twifkak@chromium.org</owner>
  <summary>
    The total number of response bytes in 24 hours received over the network
    from all prefetch requests, including config, manifests, and resources.
    Logged during the next precache run after the 24 hours has elapsed.
  </summary>
</histogram>

<histogram name="Precache.Fetch.ResponseBytes.Network" units="bytes">
  <owner>twifkak@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The total number of response bytes received over the network from all
    prefetch requests, including config, manifests, and resources. Logged per
    prefetch run.
  </summary>
</histogram>

<histogram name="Precache.Fetch.ResponseBytes.NetworkWasted" units="bytes">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The total number of response bytes received over the network for a wasted
    resource precache fetch. Logged when a partially downloaded resource
    precache fetch gets cancelled due to per-resource size limit or max precache
    size limit.
  </summary>
</histogram>

<histogram name="Precache.Fetch.ResponseBytes.Total" units="bytes">
  <owner>twifkak@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The total number of response bytes contained in all prefetch requests,
    including config, manifests, and resources. Logged per prefetch run.
  </summary>
</histogram>

<histogram name="Precache.Fetch.TimeToComplete" units="ms">
  <owner>twifkak@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The time, in milliseconds, to complete a prefetch run. Only applies to
    non-cancelled runs (those for which PercentCompleted is 100).
  </summary>
</histogram>

<histogram name="Precache.Freshness.Prefetch" units="seconds">
  <owner>jamartin@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The freshness lifetimes of the resources that were precached from the moment
    they were fetched or revalidated as described in RFC 2616 13.2.4. Logged per
    precache request.
  </summary>
</histogram>

<histogram name="Precache.Latency.NonPrefetch" units="ms">
  <obsolete>
    Deprecated March 7 2017.
  </obsolete>
  <owner>twifkak@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The latency for requests that were not made during precaching. Logged
    per-request.
  </summary>
</histogram>

<histogram name="Precache.Latency.NonPrefetch.NonTopHosts" units="ms">
  <obsolete>
    Deprecated March 7 2017.
  </obsolete>
  <owner>twifkak@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Like Precache.Latency.NonPrefetch, but limited to requests with a referer
    not in the user's top visited hosts. See History.TopHostsVisitsByRank for
    details on the top hosts computation.
  </summary>
</histogram>

<histogram name="Precache.Latency.NonPrefetch.TopHosts" units="ms">
  <obsolete>
    Deprecated March 7 2017.
  </obsolete>
  <owner>twifkak@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    Like Precache.Latency.NonPrefetch, but limited to requests with a referer in
    the user's top visited hosts. See History.TopHostsVisitsByRank for details
    on the top hosts computation.
  </summary>
</histogram>

<histogram name="Precache.Latency.Prefetch" units="ms">
  <obsolete>
    Deprecated March 7 2017.
  </obsolete>
  <owner>twifkak@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The latency for requests that were made during precaching. Logged
    per-request.
  </summary>
</histogram>

<histogram name="Precache.PeriodicTaskInterval" units="minutes">
  <owner>rajendrant@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The time between successive precache periodic GCM task invocations. When
    precache task is started, the time interval from previous task invocation is
    logged.
  </summary>
</histogram>

<histogram name="Precache.Saved" units="bytes">
  <owner>bengr@chromium.org</owner>
  <summary>
    The number of bytes during user browsing that were served from the cache,
    but would have been downloaded over a network if precaching was disabled.
    Logged per-request.
  </summary>
</histogram>

<histogram name="Precache.Saved.Freshness" units="seconds">
  <owner>jamartin@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The freshness lifetimes (RFC 2616 13.2.4) of the resources that were
    precached and later used (and thus served from the cache). This is computed
    at serving time and thus possibly different from the precached value if the
    cache entry was revalidated. Logged per-request but only once per URL and
    precaching cycle (as Precache.Saved).
  </summary>
</histogram>

<histogram name="Precache.TimeSinceLastPrecache" units="seconds">
  <owner>jamartin@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The time between the the beginning of the last precache session and each of
    the URL fetches made by the user ever since. Logged per-request.
  </summary>
</histogram>

<histogram name="PrefService.CreateProfilePrefsTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>The amount of time that elapsed during CreateProfilePrefs.</summary>
</histogram>

<histogram name="PrefService.PersistentLogRecallProtobufs"
    enum="PersistedLogsLogReadStatus">
  <owner>holte@chromium.org</owner>
  <summary>The status when loading PersistedLogs from Prefs.</summary>
</histogram>

<histogram name="PreloadScanner.Counts" units="preloads">
  <obsolete>
    Deprecated 5/25/2016 in favor of PreloadScanner.Counts2
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>The number of preloads generated by the preload scanner.</summary>
</histogram>

<histogram name="PreloadScanner.Counts.Miss" units="preloads">
  <obsolete>
    Deprecated 5/25/2016 in favor of PreloadScanner.Counts2.Miss
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    The number of unused preloads generated by the preload scanner. Note that
    some link rel preloads are not referenced until after this point, so they
    will be falsely marked as preload misses. These will show up in the Raw
    bucket.
  </summary>
</histogram>

<histogram name="PreloadScanner.Counts2" units="preloads">
  <owner>csharrison@chromium.org</owner>
  <summary>The number of preloads generated by the preload scanner.</summary>
</histogram>

<histogram name="PreloadScanner.Counts2.Miss" units="preloads">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The number of unused preloads generated by the preload scanner. Note that
    some link rel preloads are not referenced until after this point, so they
    will be falsely marked as preload misses.
  </summary>
</histogram>

<histogram name="PreloadScanner.DocumentWrite.ExecutionTime.Failure" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    Time spent executing a script tag in the blink preload scanner, for the
    purpose of preloading scripts that will be fetched via a call to
    document.write. The execution failed to generate a preload request.
  </summary>
</histogram>

<histogram name="PreloadScanner.DocumentWrite.ExecutionTime.Success" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    Time spent executing a script tag in the blink preload scanner, for the
    purpose of preloading scripts that will be fetched via a call to
    document.write. The execution successfully resulted in a preload request.
  </summary>
</histogram>

<histogram name="PreloadScanner.DocumentWrite.GatedEvaluation"
    enum="DocumentWriteGatedEvaluation">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The reason a particular inline script was blocked from evaluation.
  </summary>
</histogram>

<histogram name="PreloadScanner.DocumentWrite.InitializationTime" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    Time spent initializing a new V8 context for the purpose of evaluating it
    and preloading document.written strings.
  </summary>
</histogram>

<histogram name="PreloadScanner.DocumentWrite.ScriptLength" units="characters">
  <obsolete>
    No longer needed
  </obsolete>
  <owner>csharrison@chromium.org</owner>
  <summary>
    The length of the inline script that is being considered for document write
    evaluation.
  </summary>
</histogram>

<histogram name="PreloadScanner.ExternalCSS.PreloadCount" units="preloads">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The number of preloads generated by scanning an external preloaded CSS
    resource. As of 4/25/2016 this only includes @import declarations.
  </summary>
</histogram>

<histogram name="PreloadScanner.ExternalCSS.ScanTime" units="microseconds">
  <owner>csharrison@chromium.org</owner>
  <summary>
    Microseconds it took to scan the first chunk of external CSS for preloads.
  </summary>
</histogram>

<histogram name="PreloadScanner.ReferenceTime" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The time between preload discovery and when the resource is actually
    referenced. This is implemented by marking when a preload is discovered by
    the scanner, and when it has its first ResourceClient added to it. Note that
    for link rel preloads, this tracks the time from scanner discory to DOM
    discovery of the link declaration, not the actual resource.
  </summary>
</histogram>

<histogram name="PreloadScanner.TTFB" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The time between preload discovery and when the first bytes of the response
    data arrive.
  </summary>
</histogram>

<histogram name="Prerender.AbandonTimeUntilUsed" units="ms">
  <owner>davidben@chromium.org</owner>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time from when a prerendered page is abandoned to when it is first used due
    to user navigation. If the page is swapped before begin abandoned, a zero is
    recorded.
  </summary>
</histogram>

<histogram name="Prerender.CookieSendType" enum="PrerenderCookieSendType">
  <obsolete>
    Deprecated March 13 2015.
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Enumeration of what types of cookies were sent for a prerender.
  </summary>
</histogram>

<histogram name="Prerender.CookieStatus" enum="PrerenderCookieStatus">
  <obsolete>
    Deprecated March 13 2015.
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>Enumeration of what cookie actions a prerender caused.</summary>
</histogram>

<histogram name="Prerender.Event" enum="PrerenderEvent">
  <obsolete>
    Deprecated Dec 12 2014.
  </obsolete>
  <summary>
    Enumeration of what events related to prerendering have occurred.
  </summary>
</histogram>

<histogram name="Prerender.Events" enum="PrerenderHoverEvent">
  <obsolete>
    deprecated May 10 2012
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Hover Event counts for prerendering.</summary>
</histogram>

<histogram name="Prerender.FinalStatus" enum="PrerenderFinalStatus">
  <owner>pasko@chromium.org</owner>
  <summary>
    Final status for prerender pages - either success, or why it was canceled.
  </summary>
</histogram>

<histogram name="Prerender.FinalStatusMatchComplete"
    enum="PrerenderFinalStatus">
  <obsolete>
    deprecated 2016-05-12
  </obsolete>
  <summary>
    Final status for prerender pages - either success, or why it was canceled.
    This is for the MatchComplete set of pages (including some pages that were
    not actually prerendered), to match the control group.
  </summary>
</histogram>

<histogram name="Prerender.FractionPixelsFinalAtSwapin">
  <obsolete>
    Deprecated Jan 14 2014.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For prerenders that are swapped in, the percentage of pixels that is already
    final at swap-in time compared to when the spinner stops.
  </summary>
</histogram>

<histogram name="Prerender.HoverStats_TimeUntilClicked" units="ms">
  <obsolete>
    deprecated May 10 2012
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Duration that a user hovers a link before clicking on it.

    This is recorded for all pages loaded in a session.
  </summary>
</histogram>

<histogram name="Prerender.HoverStats_TimeUntilDiscarded" units="ms">
  <obsolete>
    deprecated May 10 2012
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Duration that the mouse pointer hovers on a link before the mouse pointer
    moves off of it.

    This is recorded for all pages loaded in a session.
  </summary>
</histogram>

<histogram name="Prerender.LocalPredictorEvent"
    enum="PrerenderLocalPredictorEvents">
  <obsolete>
    Deprecated April 2015
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Enumeration of what events related to the local predictor have occurred
  </summary>
</histogram>

<histogram name="Prerender.LocalPredictorLoggedInLookupTime" units="ms">
  <obsolete>
    Deprecated April 2015
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time to perform the LoggedIn Lookup for the local predictor. This operation
    checks whether a user is likely logged into a page that we would like to
    prerender.
  </summary>
</histogram>

<histogram name="Prerender.LocalPredictorPrefetchMatchPLT" units="ms">
  <obsolete>
    Deprecated April 2015
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    The PrerenderLocalPredictor uses local browsing history and the prerender
    service to predict pages likely visited soon. Some of these URLs are
    prefetched. When such prefetched likely next pages are visited, this
    histogram records the PLT for such pages. In particular, this also happens
    if prefetch is actually disabled, allowing (by pivoting on whether or not
    prefetch is enabled) to compare the effect of prefetch on PLT.
  </summary>
</histogram>

<histogram name="Prerender.LocalPredictorServiceLookupTime" units="ms">
  <obsolete>
    Deprecated April 2015
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time to perform the Service Lookup for the local predictor. This operation
    queries a Google service to obtain pages to prerender, as well as whether
    prerender candidate pages are likely safe for prerendering.
  </summary>
</histogram>

<histogram name="Prerender.LocalPredictorTimeUntilUsed" units="ms">
  <obsolete>
    Deprecated April 2015
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time from when a prerendered page is started to when it is first used due to
    user navigation. If the page is never used, it is not included in this
    histogram.  This only refers to prerenders based on the local predictor.
  </summary>
</histogram>

<histogram name="Prerender.LocalPredictorURLLookupTime" units="ms">
  <obsolete>
    Deprecated April 2015
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time to perform the URL Lookup for the local predictor. This operation
    retrieves from the user's local browsing history the URLs corresponding to
    URLIDs.
  </summary>
</histogram>

<histogram name="Prerender.LocalVisitCoreTransition" enum="CorePageTransition">
  <obsolete>
    deprecated Nov 16 2012
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The transition type for each new visit as recorded in the local visits
    database.
  </summary>
</histogram>

<histogram name="Prerender.LocalVisitDatabaseSize">
  <obsolete>
    deprecated Nov 16 2012
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Size of the local visits database (number of entries).</summary>
</histogram>

<histogram name="Prerender.LocalVisitEvents" enum="PrerenderLocalVisitEvents">
  <obsolete>
    deprecated Nov 16 2012
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Enumeration of what events related to local visits have occurred
  </summary>
</histogram>

<histogram name="Prerender.ModPagespeedHeader">
  <obsolete>
    Deprecated as of 10/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Previous version of the Prerender.PagespeedHeader.* histograms.
  </summary>
</histogram>

<histogram name="Prerender.NetworkBytes.TotalForProfile" units="bytes">
  <obsolete>
    Deprecated May 13th 2014, use Prerender.NetworkBytesTotalForProfile instead.
  </obsolete>
  <owner>hajimehoshi@chromium.org</owner>
  <owner>jkarlin@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Number of bytes transferred on the network for URLRequests (not including
    HTTP/TLS/TCP/IP overhead).  Reported on event of a PrerenderContents
    deletion.  Includes prerender bytes.  Bytes are only counted when
    prerendering is enabled and not in a control group.  The sum of the
    distribution for a single user represents all of that user's network
    transfers for resource for that time period while prerendering was enabled.
  </summary>
</histogram>

<histogram name="Prerender.NetworkBytes.Used" units="bytes">
  <obsolete>
    Deprecated May 13th 2014, use Prerender.NetworkBytes.Used instead.
  </obsolete>
  <owner>hajimehoshi@chromium.org</owner>
  <owner>jkarlin@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Number of bytes transferred on the network for URLRequests (not including
    HTTP/TLS/TCP/IP overhead) for a prerender that was used (or would have been
    used).
  </summary>
</histogram>

<histogram name="Prerender.NetworkBytes.Wasted" units="bytes">
  <obsolete>
    Deprecated May 13th 2014, use Prerender.NetworkBytes.Wasted instead.
  </obsolete>
  <owner>hajimehoshi@chromium.org</owner>
  <owner>jkarlin@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Number of bytes transferred on the network for URLRequests (not including
    HTTP/TLS/TCP/IP overhead) for a prerender that was not used.
  </summary>
</histogram>

<histogram name="Prerender.NetworkBytesTotalForProfile" units="bytes">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>jkarlin@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Number of bytes transferred on the network for URLRequests (not including
    HTTP/TLS/TCP/IP overhead).  Reported on event of a PrerenderContents
    deletion.  Includes prerender bytes.  Bytes are only counted when
    prerendering is enabled and not in a control group.  The sum of the
    distribution for a single user represents all of that user's network
    transfers for resource for that time period while prerendering was enabled.
  </summary>
</histogram>

<histogram name="Prerender.NetworkBytesUsed" units="bytes">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>jkarlin@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Number of bytes transferred on the network for URLRequests (not including
    HTTP/TLS/TCP/IP overhead) for a prerender that was used (or would have been
    used).
  </summary>
</histogram>

<histogram name="Prerender.NetworkBytesWasted" units="bytes">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>jkarlin@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Number of bytes transferred on the network for URLRequests (not including
    HTTP/TLS/TCP/IP overhead) for a prerender that was not used.
  </summary>
</histogram>

<histogram name="Prerender.NoStatePrefetchAge" units="ms">
  <obsolete>
    Deprecated December 28, 2016, use Prerender.PrefetchAge instead.
  </obsolete>
  <owner>droger@chromium.org</owner>
  <owner>mattcary@chromium.org</owner>
  <owner>pasko@chromium.org</owner>
  <summary>Time between the prefetch and the actual load of the page.</summary>
</histogram>

<histogram name="Prerender.NoStatePrefetchMainResourceRedirects"
    units="redirects">
  <owner>droger@chromium.org</owner>
  <owner>mattcary@chromium.org</owner>
  <owner>pasko@chromium.org</owner>
  <summary>
    Length of the redirect chain for main resources loaded by NoStatePrefetch.
    Recorded when the final response in the chain is received.
  </summary>
</histogram>

<histogram name="Prerender.NoStatePrefetchResponseTypes"
    enum="NoStatePrefetchResponseType">
  <owner>droger@chromium.org</owner>
  <owner>mattcary@chromium.org</owner>
  <owner>pasko@chromium.org</owner>
  <summary>
    Type of responses received by NoStatePrefetch, distinguishing cacheable
    resources from no-store resources, and main resources from sub-resources.
    Recorded when a response is received, including on each redirect.
  </summary>
</histogram>

<histogram name="Prerender.NoStatePrefetchSubResourceRedirects"
    units="redirects">
  <owner>droger@chromium.org</owner>
  <owner>mattcary@chromium.org</owner>
  <owner>pasko@chromium.org</owner>
  <summary>
    Length of the redirect chain for sub-resources loaded by NoStatePrefetch.
    Recorded when the final response in the chain is received.
  </summary>
</histogram>

<histogram name="Prerender.OmniboxNavigationsCouldPrerender">
  <owner>pasko@chromium.org</owner>
  <summary>
    A boolean that indicates whether the Omnibox navigation being committed
    could have been prerendered by the Omnibox Prerender system. This provides
    an upper bound for Prerender.OmniboxNavigationsUsedPrerenderCount and allows
    the potential for Omnibox Prerendering coverage to be understood. If Omnibox
    Prerendering is disabled, this histogram will register a 'false' entry. The
    total count is the equivalent of the deprecated
    NetworkActionPredictor.NavigationCount histogram.
  </summary>
</histogram>

<histogram name="Prerender.OmniboxNavigationsUsedPrerenderCount">
  <owner>pasko@chromium.org</owner>
  <summary>
    The number of navigations that use a prerender initiated from the Omnibox.
    The count is incremented when the Prerendered tab is swapped in if the
    Prerender was initiated by the Omnibox, which obviously requires
    Prerendering from the Omnibox to be enabled.
  </summary>
</histogram>

<histogram name="Prerender.OmniboxPrerenderCount">
  <owner>pasko@chromium.org</owner>
  <summary>
    The number of prerenders initiated from the Omnibox. This is incremented
    when the NetworkActionPredictor suggests Prerendering as an optimal strategy
    given the text the user has entered and the Autocomplete suggestion
    currently selected. It is only incremented if Prerendering from the Omnibox
    is enabled.
  </summary>
</histogram>

<histogram name="Prerender.PagespeedHeader.ServerCounts"
    enum="PagespeedHeaderServerType">
  <owner>pasko@chromium.org</owner>
  <summary>
    The number of responses received bucketed into the range [0,4]: bucket 0 is
    the total number of responses received; bucket 1 is the number of responses
    received with an X-Mod-Pagespeed header [indicating a mod_pagespeed server];
    bucket 2 is the number of responses received with an X-Page-Speed header and
    a header value in the X-Mod-Pagespeed format (a.b.c.d-e) [indicating an
    ngx_pagespeed server]; bucket 3 is the number of responses received with an
    X-Page-Speed header and a header value in the PageSpeed Service format
    (a_b_c) [indicating a PSS server]; and bucket 4 is the number of responses
    received with an X-Page-Speed header and a header value in neither of the
    preceding formats [indicating some other server; IISpeed is the only known
    one at this stage].
  </summary>
</histogram>

<histogram name="Prerender.PagespeedHeader.VersionCounts"
    enum="PagespeedVersion">
  <owner>pasko@chromium.org</owner>
  <summary>
    The number of responses received that either have an X-Mod-Pagespeed header
    or have an X-Page-Speed header with a value in the X-Mod-Pagespeed format
    (a.b.c.d-e), bucketed into the range [1,99]: bucket 1 is for header values
    that aren't in the a.b.c.d-e format, the remaining buckets are an encoding
    of the value: 2 + 2 * (max(c, 10) - 10) + (d &gt; 1 ? 1 : 0). The rationale
    is that 'c' is incremented with each new release and 'd' is initially 0 but
    is incremented for each patch to a release.
  </summary>
</histogram>

<histogram name="Prerender.PageviewEvents" enum="PrerenderPageviewEvents">
  <obsolete>
    deprecated Nov 16 2012
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Types of pages rendered.</summary>
</histogram>

<histogram name="Prerender.PageVisitedStatus" enum="Boolean">
  <obsolete>
    deprecated March 30, 2015
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Indicates whether the user has ever visited (in the past) a URL for which a
    prerender is launched.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPageLoadTime_Control" units="ms">
  <obsolete>
    Deprecated 03/24/11.  Replaced by
    Prerender.PerceivedPLT_ContentPrefetchPrerenderControl.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    This particular histogram is for all page loads for users who do not have
    prerendering enabled.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPageLoadTime_PrerenderMatchControl"
    units="ms">
  <obsolete>
    Deprecated 03/24/11.   Replaced by
    Prerender.PerceivedPLTMatched_ContentPrefetchPrerenderControl.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    This particular histogram is only for pages that would have been prerendered
    if the user had prerender enabled.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPageLoadTime_PrerenderMatchTreatment"
    units="ms">
  <obsolete>
    Deprecated 03/24/11.   Replaced by
    Prerender.PerceivedPLTMatched_ContentPrefetchPrerender.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    This particular histogram is for all prerendered page loads for users who
    have prerender enabled.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPageLoadTime_Treatment" units="ms">
  <obsolete>
    Deprecated 03/24/11.   Replaced by
    Prerender.PerceivedPLT_ContentPrefetchPrerender.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    This particular histogram is for all page loads for users who have
    prerendering enabled.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPageLoadTime_WindowControl" units="ms">
  <obsolete>
    Deprecated 03/24/11.   Replaced by
    Prerender.PerceivedPLTWindowed_ContentPrefetchPrerenderControl.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    This particular histogram is for all page loads within 30 seconds after a
    prefetch tag is seen for users who do not have prerendering enabled.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPageLoadTime_WindowTreatment" units="ms">
  <obsolete>
    Deprecated 03/24/11.   Replaced by
    Prerender.PerceivedPLTWindowed_ContentPrefetchPrerender.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load pre navigation.

    This particular histogram is for all page loads within 30 seconds after a
    prefetch tag is seen for users who have prerendering enabled.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPLT" units="ms">
  <obsolete>
    Deprecated 2017-03.
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    This is recorded for all pages loaded in a session.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPLTFirstAfterMiss" units="ms">
  <obsolete>
    Deprecated 2017-03.
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    This is recorded for the first page load completing immediately after a
    prerender.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPLTFirstAfterMissAnyOnly" units="ms">
  <obsolete>
    Deprecated 2017-03.
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    &quot;FirstAfterMiss&quot; means the first pageload after a prerender miss.
    There are two types: Any, and Non-overlapping.  The latter only applies to
    page loads initiated after the prerender.  This variable records cases where
    only Any triggered.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPLTFirstAfterMissBoth" units="ms">
  <obsolete>
    Deprecated 2017-03.
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    &quot;FirstAfterMiss&quot; means the first pageload after a prerender miss.
    There are two types: Any, and Non-overlapping.  The latter only applies to
    page loads initiated after the prerender.  This variable records cases where
    both triggered.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPLTFirstAfterMissNonOverlapping" units="ms">
  <obsolete>
    Deprecated 2017-03.
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    This is recorded for the first page load completing immediately after a
    prerender, but which has also started after the prerender has been
    initiated.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPLTFirstAfterMissNonOverlappingOnly"
    units="ms">
  <obsolete>
    Deprecated 2017-03.
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    &quot;FirstAfterMiss&quot; means the first pageload after a prerender miss.
    There are two types: Any, and Non-overlapping.  The latter only applies to
    page loads initiated after the prerender.  This variable records cases where
    only Non-overlapping triggered.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPLTMatched" units="ms">
  <obsolete>
    Deprecated 2017-03.
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    This is recorded only for prerendered pages, or for pages which would have
    been prerendered in the control case.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPLTMatchedComplete" units="ms">
  <obsolete>
    Deprecated August 2016
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    This is recorded only for prerendered pages, or for pages which would have
    been prerendered in the control case.

    In MatchedComplete, the prerender group also contains cancelled prerenders,
    so as to produce a perfect match of page views attributed this group in the
    prerender group with those attributed to this group in the control group.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPLTWindowed" units="ms">
  <obsolete>
    Deprecated 2017-03.
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    This is recorded for all page loads which happen within 30 seconds after a
    prefetch tag is observed.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedPLTWindowNotMatched" units="ms">
  <obsolete>
    Deprecated 2017-03.
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time from when a user navigates to a page to when it loads. Since the pages
    may start loading before the user navigates to it, this does not include any
    portion of load prior to navigation.

    This is recorded for all page loads which happen within 30 seconds after a
    prefetch tag is observed and which do not correspond to a prerender tag.
  </summary>
</histogram>

<histogram name="Prerender.PerceivedTTFCPRecorded" enum="BooleanRecorded">
  <owner>droger@chromium.org</owner>
  <owner>mattcary@chromium.org</owner>
  <owner>pasko@chromium.org</owner>
  <summary>
    Whether the perceived Time to First Contentful Paint (TTFCP) was recorded
    successfully for a prerendered page. Since a prerendered page will start
    loading before a user navigates to it, the perceived TTFCP does not include
    an time prior to the user navigation. If true, there is an associated
    PrefetchTTFCP that records the TTFCP from the swapped-in navigation start.
    If false, no PrefetchTTFCP was recorded.
  </summary>
</histogram>

<histogram name="Prerender.PercentLoadDoneAtSwapin">
  <owner>pasko@chromium.org</owner>
  <summary>
    For prerenders that are swapped in, the percentage of the time from load
    start until the onload event fires that has elapsed at the time of the
    swapin.
  </summary>
</histogram>

<histogram name="Prerender.PeriodicCleanupDeleteContentsTime" units="ms">
  <owner>pasko@chromium.org</owner>
  <summary>
    How long the cleanup portion of PrerenderManager::PeriodicCleanup takes, to
    measure jank.
  </summary>
</histogram>

<histogram name="Prerender.PeriodicCleanupResourceCheckTime" units="ms">
  <owner>pasko@chromium.org</owner>
  <summary>
    How long the resource check portion of PrerenderManager::PeriodicCleanup
    takes, to measure jank.
  </summary>
</histogram>

<histogram name="Prerender.PrefetchAge" units="ms">
  <owner>droger@chromium.org</owner>
  <owner>mattcary@chromium.org</owner>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time between a prefetch or effective prefetch and the actual load of the
    page. For NoState prefetch, this is the time of the actual prefetch. For
    prerendering, it is the time that prerender began. For control groups in
    NoState prefetch experiments, it is the time that prefetch would have
    occurred.
  </summary>
</histogram>

<histogram name="Prerender.PrefetchTTFCP" units="ms">
  <owner>droger@chromium.org</owner>
  <owner>mattcary@chromium.org</owner>
  <owner>pasko@chromium.org</owner>
  <summary>
    Time to first contentful paint (TTFCP) for navigations related to prefetch
    (including prerender, no-state prefetch, and associated experiments). This
    measures user-visible TTFCP. For no-state prefetch this is standard
    navigation-to-FCP; for prerender this is the time from navigation start when
    the prerender is swapped in to FCP.
  </summary>
</histogram>

<histogram name="Prerender.PrerenderCountOf3Max">
  <obsolete>
    Deprecated 2017-03.
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    After launching a prerender, how many simultanious prerenders are recorded
    as running, out of a maximum of three.
  </summary>
</histogram>

<histogram name="Prerender.PrerenderNotSwappedInPLT" units="ms">
  <obsolete>
    Deprecated 2017-03.
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    For prerenders that finish loading before they are ever swapped in, their
    page load time until the onload event fires.
  </summary>
</histogram>

<histogram name="Prerender.PrerendersPerSessionCount">
  <owner>pasko@chromium.org</owner>
  <summary>
    The number of sessions that have at least X successful prerenders.
  </summary>
</histogram>

<histogram name="Prerender.RelTypesLinkAdded" enum="PrerenderRelTypes">
  <owner>pasko@chromium.org</owner>
  <summary>
    For each prerender link added to a document, records the rel types present
    on the link element.
  </summary>
</histogram>

<histogram name="Prerender.RelTypesLinkStarted" enum="PrerenderRelTypes">
  <owner>pasko@chromium.org</owner>
  <summary>
    For each prerender in a document which starts prerendering, records the rel
    types present on the link element.
  </summary>
</histogram>

<histogram name="Prerender.RendererIdleTime" units="ms">
  <obsolete>
    deprecated Nov 16 2012
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    This is the time from when a prerendered page finishes loading to when it is
    displayed, as measured by the renderer process. When a page is displayed
    before it finishes loading, no value is recorded in this histogram.
  </summary>
</histogram>

<histogram name="Prerender.RendererPerceivedPLT" units="ms">
  <obsolete>
    deprecated Nov 16 2012
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Perceived load time of a page, as measured by the renderer process. For
    non-prerendered pages, this is just BeginToFinish. For displayed prerendered
    pages, this is the time from when the prerendered page is moved into a
    TabContents until finish. &quot;Finish&quot; == after onload() and all
    resources are loaded. Note that this is 0 if the loading finishes before the
    page is moved into a TabContents.
  </summary>
</histogram>

<histogram name="Prerender.RendererPerceivedPLTMatched" units="ms">
  <obsolete>
    deprecated Nov 16 2012
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Perceived load time of a prerendered page that is displayed, as measured by
    the renderer process. This is the time from when the prerendered page is
    moved into a TabContents until finish. &quot;Finish&quot; == after onload()
    and all resources are loaded. Note that this is 0 if the loading finishes
    before the page is moved into a TabContents.
  </summary>
</histogram>

<histogram name="Prerender.RendererTimeUntilDisplay" units="ms">
  <obsolete>
    deprecated Nov 16 2012
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time elapsed between when the prerendering of a page starts and when the
    page is displayed, as measured by the renderer process. Prerendered pages
    discarded without being displayed are excluded from this count.
  </summary>
</histogram>

<histogram name="Prerender.SchemeCancelReason"
    enum="PrerenderSchemeCancelReason">
  <owner>pasko@chromium.org</owner>
  <summary>
    The detailed reason why a prerender is canceled with
    FINAL_STATUS_UNSUPPORTED_SCHEME
  </summary>
</histogram>

<histogram name="Prerender.Sessions" enum="PrerenderMode">
  <obsolete>
    deprecated Nov 16 2012
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Enumeration of how prerender was used per session.</summary>
</histogram>

<histogram name="Prerender.SessionStorageNamespaceMergeTime" units="ms">
  <obsolete>
    Deprecated Dec 12 2014.
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>Time to perform the session storage namespace merge.</summary>
</histogram>

<histogram name="Prerender.SimulatedLocalBrowsingBaselinePLT" units="ms">
  <obsolete>
    Deprecated April 2015
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    For simulated local browsing prerendering, the baseline PLT of pages without
    any prerendering for pages that would be prerendered.
  </summary>
</histogram>

<histogram name="Prerender.SimulatedLocalBrowsingPLT" units="ms">
  <obsolete>
    Deprecated April 2015
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    For simulated local browsing prerendering, the estimated PLT of pages with
    prerendering enabled for pages that would be prerendered.
  </summary>
</histogram>

<histogram name="Prerender.TabContentsDeleterSuppressedDialog"
    enum="BooleanSuppressed">
  <owner>pasko@chromium.org</owner>
  <summary>
    A boolean that indicates how often we suppress a dialog from a tab when
    swapping it with a prerender.
  </summary>
</histogram>

<histogram name="Prerender.TabContentsDeleterTimeout"
    enum="BooleanCloseTimeout">
  <owner>pasko@chromium.org</owner>
  <summary>
    A boolean that indicates how often we fail to delete an old prerendered tab
    before the timeout.
  </summary>
</histogram>

<histogram name="Prerender.TabHelperEvent" enum="PrerenderTabHelperEvents">
  <obsolete>
    Deprecated April 2015
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    Enumeration of what events related to the TabHelper class have occurred.
  </summary>
</histogram>

<histogram name="Prerender.TimeBetweenPrerenderRequests" units="ms">
  <owner>pasko@chromium.org</owner>
  <summary>Time between subsequent prerender requests.</summary>
</histogram>

<histogram name="Prerender.TimeSinceLastRecentVisit" units="ms">
  <owner>pasko@chromium.org</owner>
  <summary>
    The time elapsed between the most recent visit to a URL and when an
    attempted prerender of the same URL is cancelled with
    FINAL_STATUS_RECENTLY_VISITED.
  </summary>
</histogram>

<histogram name="Prerender.TimeToClick" units="ms">
  <obsolete>
    deprecated Nov 16 2012
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Duration that a user hovers a link before clicking on it.</summary>
</histogram>

<histogram name="Prerender.TimeUntilUsed" units="ms">
  <obsolete>
    deprecated Nov 16 2012.  See Prerender.TimeUntilUsed2, which has a larger
    range.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time from when a prerendered page is started to when it is first used due to
    user navigation. If the page is never used, it is not included in this
    histogram.
  </summary>
</histogram>

<histogram name="Prerender.TimeUntilUsed2" units="ms">
  <owner>pasko@chromium.org</owner>
  <summary>
    Time from when a prerendered page is started to when it is first used due to
    user navigation. If the page is never used, it is not included in this
    histogram.
  </summary>
</histogram>

<histogram name="Previews.ContentLength" units="KB">
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The actual data used for a page load using a preview optimization.
  </summary>
</histogram>

<histogram name="Previews.ContextMenuAction.LoFi"
    enum="PreviewsContextMenuActionLoFi">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    User interactions with the Lo-Fi context menu options. These include:

    Displays and clicks on the &quot;Load image&quot; and &quot;Load
    images&quot; context menu options. Count of pages where the user has clicked
    &quot;Load image&quot; at least once.
  </summary>
</histogram>

<histogram name="Previews.DataInflation" units="KB">
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The estimated amount that the content was inflated for a page load using a
    previews optimization. Recorded when a page load using a previews
    optimization inflates the data used.
  </summary>
</histogram>

<histogram name="Previews.DataInflationPercent" units="%">
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The estimated percent of data used that a page load would have otherwise
    cost for a page load using a previews optimization. Recorded when a page
    load using a previews optimization inflates the data used.
  </summary>
</histogram>

<histogram name="Previews.DataSavings" units="KB">
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The estimated data savings for a page load using a previews optimization.
    Recorded when a page load using a previews optimization reduces the data
    used.
  </summary>
</histogram>

<histogram name="Previews.DataSavingsPercent" units="%">
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The estimated percent of data savings for a page load using a previews
    optimization. Recorded when a page load using a previews optimization
    reduces the data used.
  </summary>
</histogram>

<histogram name="Previews.EligibilityReason" enum="PreviewsEligibilityReason">
  <owner>ryansturm@chromium.org</owner>
  <summary>
    Whether a particular preview was allowed to be shown or the reason the
    preview could not be shown to the user.
  </summary>
</histogram>

<histogram name="Previews.InfoBarAction.LitePage" enum="PreviewsInfoBarAction">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    User interactions with the previews LitePage &quot;Saved data&quot; infobar.
    These include:

    Displays of the infobar and clicks on the &quot;Load original&quot; link.
    Whether the infobar was dismissed by navigation or the user clicking on
    &quot;X&quot; close button.
  </summary>
</histogram>

<histogram name="Previews.InfoBarAction.LoFi" enum="PreviewsInfoBarAction">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    User interactions with the previews Lo-Fi &quot;Saved data&quot; infobar.
    These include:

    Displays of the infobar and clicks on the &quot;Load original&quot; link.
    Whether the infobar was dismissed by navigation or the user clicking on
    &quot;X&quot; close button.
  </summary>
</histogram>

<histogram name="Previews.InfoBarAction.Offline" enum="PreviewsInfoBarAction">
  <owner>bengr@chromium.org</owner>
  <owner>megjablon@chromium.org</owner>
  <summary>
    User interactions with the previews Offline &quot;Faster page loaded&quot;
    infobar. These include:

    Displays of the infobar and clicks on the &quot;Load original&quot; link.
    Whether the infobar was dismissed by navigation or the user clicking on
    &quot;X&quot; close button.
  </summary>
</histogram>

<histogram name="Previews.OptOut.DBRowCount" units="rows">
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The number of rows in the Previews opt out SQLite table at profile startup.
  </summary>
</histogram>

<histogram name="Previews.OptOut.UserOptedOut.Offline"
    enum="PreviewsUserOptedOut">
  <owner>ryansturm@chromium.org</owner>
  <summary>
    Whether the user chose to reload the full page when shown an offline
    preview.
  </summary>
</histogram>

<histogram name="Previews.OriginalContentLength" units="KB">
  <owner>ryansturm@chromium.org</owner>
  <summary>
    The estimated content length of a page load using a preview optimization.
  </summary>
</histogram>

<histogram name="PrinterService.PrinterServiceEvent"
    enum="PrinterServiceEventType">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Count of events in PrinterService on ChromeOS related to USB printers.
  </summary>
</histogram>

<histogram name="PrintPreview.DestinationAction"
    enum="PrintPreviewPrintDestinationBuckets">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Actions performed by the user when the print destination search widget is
    shown to the user.
  </summary>
</histogram>

<histogram name="PrintPreview.FontType" enum="PrintPreviewFontTypeType">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Count of font file formats embeeded in print preview PDFs. These numbers are
    biased by what the platforms supports in terms of detection.
  </summary>
</histogram>

<histogram name="PrintPreview.GcpPromo" enum="PrintPreviewGcpPromoBuckets">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Actions performed by the user when the Google Cloud Print add-printers
    promotion is shown to the user.
  </summary>
</histogram>

<histogram name="PrintPreview.InitialDisplayTime" units="ms">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Time from when print preview is intiated until the intial preview is sent to
    the preview tab for rendering.
  </summary>
</histogram>

<histogram name="PrintPreview.InitializationTime" units="ms">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Time from when print preview is intiated until the preview PDF generation is
    started.
  </summary>
</histogram>

<histogram name="PrintPreview.InitiatedByScript" enum="BooleanMainFrame">
  <owner>nasko@chromium.org</owner>
  <summary>
    Logged when a document calls the window.print() API. The boolean value
    indicates whether it is invoked by the main frame. It will be false for
    documents in subframes.
  </summary>
</histogram>

<histogram name="PrintPreview.ManagePrinters">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Count the number of requests received to show the manage printers dialog.
  </summary>
</histogram>

<histogram name="PrintPreview.NumberOfPrinters">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Count the total number of printers shown in destination drop down list.
  </summary>
</histogram>

<histogram name="PrintPreview.OutOfProcessSubframe" enum="Boolean">
  <owner>nasko@chromium.org</owner>
  <summary>
    Logged when a document calls the window.print() API in any frame. The
    boolean value will be true when the API call is invoked by a document which
    is in a process different than the top level document. It will be false in
    all other cases.
  </summary>
</histogram>

<histogram name="PrintPreview.PageCount.Initial">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The page count of the initial print preview, a.k.a. the total number of
    pages in documents to be printed.
  </summary>
</histogram>

<histogram name="PrintPreview.PageCount.PrintToCloudPrint">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The final page count (after page selection) of documents printed to a cloud
    printer.
  </summary>
</histogram>

<histogram name="PrintPreview.PageCount.PrintToCloudPrintWebDialog">
  <obsolete>
    No longer used as of 01/2016.
  </obsolete>
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The final page count (after page selection) of documents printed to a cloud
    printer using web dialog.
  </summary>
</histogram>

<histogram name="PrintPreview.PageCount.PrintToPDF">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The final page count (after page selection) of documents printed to PDF.
  </summary>
</histogram>

<histogram name="PrintPreview.PageCount.PrintToPrinter">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The final page count (after page selection) of documents printed to a
    printer.
  </summary>
</histogram>

<histogram name="PrintPreview.PageCount.PrintWithExtension">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The final page count (after page selection) of documents printed to an
    extension printer (using printerProvider API).
  </summary>
</histogram>

<histogram name="PrintPreview.PageCount.PrintWithPrivet">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The final page count (after page selection) of documents printed to a privet
    printer.
  </summary>
</histogram>

<histogram name="PrintPreview.PageCount.SystemDialog">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The final page count (after page selection) of documents printed using
    system dialog.
  </summary>
</histogram>

<histogram name="PrintPreview.PreviewEvent" enum="PrintPreviewHelperEvents">
  <owner>vitalybuka@chromium.org</owner>
  <summary>Print preview events.</summary>
</histogram>

<histogram name="PrintPreview.PrintDocumentType"
    enum="PrintPreviewPrintDocumentTypeBuckets">
  <owner>rbpotter@chromium.org</owner>
  <summary>
    Track type of documents printed (HTML vs PDF). Recorded immediately after a
    user requests that a document be printed.
  </summary>
</histogram>

<histogram name="PrintPreview.PrintSettings" enum="PrintSettings">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Track the popularity of print settings. (Settings when printing to PDF are
    excluded from this statistic.)
  </summary>
</histogram>

<histogram name="PrintPreview.PrintSettingsUi"
    enum="PrintPreviewPrintSettingsUiBuckets">
  <owner>alekseys@chromium.org</owner>
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Actions performed by the user interacting with print settings UI elements.
  </summary>
</histogram>

<histogram name="PrintPreview.RegeneratePreviewRequest.BeforeCancel">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The number of times regenerate preview requests received before the user
    clicked the cancel button.
  </summary>
</histogram>

<histogram name="PrintPreview.RegeneratePreviewRequest.BeforeFirstData">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The number of times regenerate preview requests received before the first
    preview data is availible.
  </summary>
</histogram>

<histogram name="PrintPreview.RegeneratePreviewRequest.BeforePrint">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    The number of times regenerate preview requests received before the user
    clicked the print button.
  </summary>
</histogram>

<histogram name="PrintPreview.RenderAndGeneratePDFTime" units="ms">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Time taken to render and generate PDF for print preview. (Includes time to
    reflow the page back to normal, but not the time to reflow the page to
    prepare for printing.)
  </summary>
</histogram>

<histogram name="PrintPreview.RenderAndGeneratePDFTimeAvgPerPage" units="ms">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Time taken to render and generate PDF for print preview divided by the
    number of pages. (Includes time to reflow the page back to normal, but not
    the time to reflow the page to prepare for printing.)
  </summary>
</histogram>

<histogram name="PrintPreview.RendererError" enum="PrintPreviewFailureType">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Count how frequently a set of pre-defined print preview errors occur.
  </summary>
</histogram>

<histogram name="PrintPreview.RenderPDFPageTime" units="ms">
  <owner>vitalybuka@chromium.org</owner>
  <summary>Time taken to render each PDF page for print preview.</summary>
</histogram>

<histogram name="PrintPreview.RenderToPDFTime" units="ms">
  <owner>vitalybuka@chromium.org</owner>
  <summary>Time taken to render to PDF for print preview.</summary>
</histogram>

<histogram name="PrintPreview.UserAction" enum="PrintPreviewUserActionType">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Action taken by the user in the preview tab such as print, cancel, print to
    pdf and show advanced print settings dialog.
  </summary>
</histogram>

<histogram name="Process.Sandbox.FlagOverrodeRemoteSessionCheck" enum="Boolean">
  <owner>pastarmovj@chromium.org</owner>
  <summary>
    Measure how often the automatic recognition for terminal services
    environment would have incorrectly decided that the job object should be
    applied, when it shouldn't have been as dictated by the flag
    --allow-no-sanbox-job. This histogram will guide the final removal of the
    flag, which will be possible when the number of false values becomes
    insignificant.
  </summary>
</histogram>

<histogram name="Process.Sandbox.Launch.Error" enum="WinGetLastError">
  <owner>shrikant@chromium.org</owner>
  <summary>
    Errors returned while launching sandboxed process on Windows. For decoding
    error code please refer to http://goo.gl/fJJiAv.
  </summary>
</histogram>

<histogram name="Process.Sandbox.Launch.Warning" enum="WinGetLastError">
  <owner>forshaw@chromium.org</owner>
  <summary>
    Warnings returned while launching sandboxed process on Windows. For decoding
    error code please refer to http://goo.gl/fJJiAv. This will only be logged
    when SpawnTarget succeeds with SBOX_ALL_OK but the last warning result does
    not equal SBOX_ALL_OK.
  </summary>
</histogram>

<histogram name="Process.Sandbox.Launch.WarningResultCode"
    units="LaunchErrorCodes">
  <owner>forshaw@chromium.org</owner>
  <summary>
    The warning launch error returned while launching sandboxed process on
    Windows. This will only be logged when SpawnTarget succeeds with SBOX_ALL_OK
    but the last warning result does not equal SBOX_ALL_OK.
  </summary>
</histogram>

<histogram name="Process.Sandbox.Lowbox.Launch.Error" enum="WinGetLastError">
  <owner>shrikant@chromium.org</owner>
  <summary>
    Errors returned while launching lowbox enabled sandboxed process on Windows.
    For decoding error code please refer to http://goo.gl/fJJiAv.
  </summary>
</histogram>

<histogram name="Profile.AddNewUser" enum="ProfileAddNewUser">
  <owner>bcwhite@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <summary>The frequency of ways that new user profiles are added.</summary>
</histogram>

<histogram name="Profile.AndroidAccountManagementMenu"
    enum="ProfileAndroidAccountManagementMenu">
  <owner>aruslan@chromium.org</owner>
  <summary>
    Track user interactions that can be performed in the Android account
    management menu.
  </summary>
</histogram>

<histogram name="Profile.AppCount">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The number of installed apps when a profile is opened.</summary>
</histogram>

<histogram name="Profile.AuthResult" enum="ProfileAuth">
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Counts of authorization results when trying to open a locked profile from
    the User Manager.
  </summary>
</histogram>

<histogram name="Profile.Avatar" enum="ProfileAvatar">
  <owner>rlp@chromium.org</owner>
  <summary>The frequency of selection of each avatar.</summary>
</histogram>

<histogram name="Profile.BookmarksSize" units="MB">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Size of the bookmarks database.</summary>
</histogram>

<histogram name="Profile.CookiesSize" units="MB">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Size of the cookies database.</summary>
</histogram>

<histogram name="Profile.CreateAndInitializeProfile" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>Length of time to setup profile.</summary>
</histogram>

<histogram name="Profile.CreateBrowserContextServicesTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during the CreateBrowserContextServices call
    within OnPrefsLoaded.
  </summary>
</histogram>

<histogram name="Profile.CreateProfileHelperTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during ProfileManager::CreateProfileHelper.
    This is called when a profile is created synchronously (usually at startup).
  </summary>
</histogram>

<histogram name="Profile.CreateResult" enum="ProfileCreateResult">
  <owner>pam@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <summary>Result (final status) when creating a new profile.</summary>
</histogram>

<histogram name="Profile.CreateTime" units="ms">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Back-end time elapsed while creating a new profile. The max is 30 seconds,
    when an external timeout was applied.
  </summary>
</histogram>

<histogram name="Profile.CreateTimeCanceled" units="ms">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time elapsed before the user decided to cancel creation of a new profile.
    Since only managed-user profile creation can be canceled, this time comes
    from managed-user registration. The max is 30 seconds, when an external
    timeout was applied.
  </summary>
</histogram>

<histogram name="Profile.CreateTimeCanceledNoTimeout" units="ms">
  <owner>pam@chromium.org</owner>
  <summary>
    Time elapsed from when the handler received the message that a user clicked
    'Create' until the user decided to cancel creation of a new profile. Since
    only managed-user profile creation can be canceled, this time comes from
    managed-user registration.
  </summary>
</histogram>

<histogram name="Profile.CreateTimeNoTimeout" units="ms">
  <owner>pam@chromium.org</owner>
  <summary>
    Time elapsed from when the handler received the message that a user clicked
    'Create' until the creation either failed with a local error (see
    Profile.CreateResult), was canceled (also recorded in
    Profile.CreateTimeCanceledNoTimeout), or completed successfully.
  </summary>
</histogram>

<histogram name="Profile.Delete" enum="BooleanProfileSignedIn">
  <owner>mlerman@chromium.org</owner>
  <summary>
    This histogram tracks the deletion of the profile. This tracks when the
    cleanup actually takes place, not the UI interaction. The parameter
    indicates if the profile was signed in or not; true means the profile was
    signed in, false means the profile was not signed in.
  </summary>
</histogram>

<histogram name="Profile.DeleteProfileAction" enum="ProfileDeleteAction">
  <owner>mlerman@chromium.org</owner>
  <owner>anthonyvd@chromium.org</owner>
  <summary>
    This histogram tracks which UI screen was used to initiate and confirm the
    deletion of a profile. This does not track when the profile is actually
    deleted, which is an asynchronous process that happens later.
  </summary>
</histogram>

<histogram name="Profile.DesktopMenu" enum="ProfileDesktopMenu">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Track user interactions that can be performed in the user menu and user
    manager. The origin of the action, whether the an interaction in the content
    area or some other source, is noted in the histogram suffix.
  </summary>
</histogram>

<histogram name="Profile.ExtensionSize" units="MB">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Size of the extension cookies database.</summary>
</histogram>

<histogram name="Profile.FaviconsSize" units="MB">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Size of the favicons database.</summary>
</histogram>

<histogram name="Profile.GetProfile" units="ms">
  <obsolete>
    Deprecated 02/2015. Profile.CreateAndInitializeProfile is more useful.
  </obsolete>
  <owner>rkaplow@chromium.org</owner>
  <summary>Length of time to retrieve profile.</summary>
</histogram>

<histogram name="Profile.GetProfileInfoPath.OutsideUserDir" enum="BooleanHit">
  <owner>anthonyvd@chromium.org</owner>
  <summary>
    Whether Profile::GetProfileInfoPath is called with a profile outside the
    user data directory. We expect this to never happen but need to verify in
    stable. This metric may be removed after M54.
  </summary>
</histogram>

<histogram name="Profile.HistorySize" units="MB">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>Size of the history database.</summary>
</histogram>

<histogram name="Profile.InitProfileUserPrefs.OutsideUserDir" enum="BooleanHit">
  <owner>anthonyvd@chromium.org</owner>
  <summary>
    Whether Profile::InitProfileUserPrefs is called with a profile outside the
    user data directory. We expect this to never happen but need to verify in
    stable. This metric may be removed after M54.
  </summary>
</histogram>

<histogram name="Profile.LaunchBrowser" enum="ProfileType">
  <owner>rlp@chromium.org</owner>
  <summary>
    Number of times users launch a browser window from either a primary or
    secondary profile (i.e., each time a browser window is opened we log which
    type of profile it belongs to).
  </summary>
</histogram>

<histogram name="Profile.LockedProfilesDuration" units="minutes">
  <owner>mlerman@chromium.org</owner>
  <summary>
    How long locked profiles have been locked for. This is logged each time any
    profile is loaded. Note that this does not track the total time the profile
    was locked, but rather the span from when the profile was locked to when the
    measurement takes place.
  </summary>
</histogram>

<histogram name="Profile.NetUserCount" enum="ProfileNetUserCount">
  <owner>bcwhite@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <summary>
    Counts of users added and deleted. Percentages are not meaningful. Please
    look at the ratio of the counts/percentages.
  </summary>
</histogram>

<histogram name="Profile.NewAvatarMenu.NotYou"
    enum="ProfileNewAvatarMenuNotYou">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Tracks user interactions with the 'Not You?' bubble that users can navigate
    to from the Upgrade bubble after upgrade to the New Avatar Menu.
  </summary>
</histogram>

<histogram name="Profile.NewAvatarMenu.Signin"
    enum="ProfileNewAvatarMenuSignin">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Tracks user interactions with the signin bubble that appears in the New
    Avatar Menu upon signin. This bubble appears after the user signs in using
    the Inline Signin flow.
  </summary>
</histogram>

<histogram name="Profile.NewAvatarMenu.Upgrade"
    enum="ProfileNewAvatarMenuUpgrade">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Tracks user interactions with the bubble that appears for users in the new
    avatar menu after upgrade.
  </summary>
</histogram>

<histogram name="Profile.NotifyProfileCreatedTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during the Notify() of
    NOTIFICATION_PROFILE_CREATED during ProfileImpl::DoFinalInit().
  </summary>
</histogram>

<histogram name="Profile.NumberOfAccountsPerProfile">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Counts the number of Google-managed accounts linked to a profile. This may
    be counted multiple times per profile. Please review with the &quot;Show
    user counts&quot; option enabled on the dashboard.
  </summary>
</histogram>

<histogram name="Profile.NumberOfManagedProfiles">
  <owner>pam@chromium.org</owner>
  <summary>
    Counts the number of locally managed profiles on a user's machine at least
    every 24 hours while Chrome is running, among cases with at least one
    profile. Always de-dupe the results with Show User Counts.
  </summary>
</histogram>

<histogram name="Profile.NumberOfProfiles">
  <owner>bcwhite@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <summary>
    Counts the number of profiles on a user's machine at least every 24 hours
    while Chrome is running. Always de-dupe the results with Show User Counts.
  </summary>
</histogram>

<histogram name="Profile.NumberOfProfilesAfterAddOrDelete">
  <obsolete>
    Deprecated 2013-04-09. No longer tracked. See Profile.NumberOfProfiles.
  </obsolete>
  <owner>bcwhite@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <summary>
    Counts the number of profiles on a user's machine whenever a profile is
    added or deleted.
  </summary>
</histogram>

<histogram name="Profile.NumberOfProfilesOnStartup">
  <obsolete>
    Deprecated; replaced by Profile.NumberOfProfiles on 2013-04-09. Data are
    suspect, especially after 2012-02-24: see https://crbug.com/189213.
  </obsolete>
  <owner>bcwhite@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <summary>
    Counts the number of profiles on a user's machine when Chrome starts up.
  </summary>
</histogram>

<histogram name="Profile.NumberOfProfilesWithAuthErrors">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Counts the type GAIA authentication errors on a user's machine when Chrome
    starts up. The types of errors are broken down in Signin.AuthError.
  </summary>
</histogram>

<histogram name="Profile.NumberOfSignedInProfiles">
  <owner>bcwhite@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <summary>
    Counts the number of signed-in profiles on a user's machine at least every
    24 hours while Chrome is running. Always de-dupe the results with Show User
    Counts.
  </summary>
</histogram>

<histogram name="Profile.NumberOfSignedInProfilesOnStartup">
  <obsolete>
    Deprecated; replaced by Profile.NumberOfSignedInProfiles on 2013-04-09.
  </obsolete>
  <owner>bcwhite@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <summary>
    Counts the number of profiles that are signed in to Chrome when Chrome
    starts up.
  </summary>
</histogram>

<histogram name="Profile.NumberOfSignedInProfilesWithGAIAIcons">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Counts the number of signed-in profiles that are using the GAIA image as the
    avatar icon. This is counted at least every 24 hours while Chrome is
    running, so always de-dupe the results with Show User Counts.
  </summary>
</histogram>

<histogram name="Profile.NumberOfSwitches">
  <owner>anthonyvd@chromium.org</owner>
  <summary>
    Counts the number of times profiles were switched in a browser session. This
    value is incremented when a profile is switched to and the result is logged
    during shutdown.
  </summary>
</histogram>

<histogram name="Profile.NumberOfUnusedProfiles">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Counts the number of profiles unused within the past 28 days on a user's
    machine. This is counts at least every 24 hours while Chrome is running, so
    always de-dupe the results with Show User Counts.
  </summary>
</histogram>

<histogram name="Profile.OnLocaleReadyTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during ProfileImpl::OnLocaleReady. This
    happens once after profile was loaded.
  </summary>
</histogram>

<histogram name="Profile.OnPrefsLoadedTime" units="ms">
  <obsolete>
    Deprecated 04/2015, and replaced by Profile.OnLocaleReadyTime.
  </obsolete>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during ProfileImpl::OnPrefsLoaded.
  </summary>
</histogram>

<histogram name="Profile.Opening" enum="ProfileOpen">
  <obsolete>
    Deprecated because it did not present the information clearly.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The frequency of ways that the profiles are opened.</summary>
</histogram>

<histogram name="Profile.OpenMethod" enum="ProfileOpenMethod">
  <owner>bcwhite@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <summary>
    The frequency with which the user opens the different profile menus or
    switches profiles. For the open statistics, this does not mean the user
    necessarily opened a profile after clicking. The switch statistics indicate
    how often and how the user switches profiles. They are provided together for
    comparison of how often the user actually switches after opening the avatar
    bubble menu.
  </summary>
</histogram>

<histogram name="Profile.PercentageOfManagedProfiles">
  <owner>pam@chromium.org</owner>
  <summary>
    Tracks the percentage (0-100) of profiles that are locally managed, recorded
    when Chrome starts up.
  </summary>
</histogram>

<histogram name="Profile.ProfileError" enum="ProfileErrorType">
  <owner>tnagel@chromium.org</owner>
  <summary>
    The error with the current user profile that caused an error dialog to be
    shown. This dialog is shown usually when there is some sort of corruption in
    the user's profile data.
  </summary>
</histogram>

<histogram name="Profile.ProfileImplDoFinalInit" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during the ProfileImpl::DoFinalInit().
  </summary>
</histogram>

<histogram name="Profile.SupervisedProfileCreateError"
    enum="GoogleServiceAuthError">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The error code generated in the final step (registration step) of creating a
    new supervised profile.
  </summary>
</histogram>

<histogram name="Profile.SupervisedProfileImportError"
    enum="GoogleServiceAuthError">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The error code generated in the final step (registration step) of importing
    a supervised profile.
  </summary>
</histogram>

<histogram name="Profile.SupervisedProfileTotalCreateTime" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time elapsed from when the handler received the message that a user clicked
    'Create' to create a new supervised user profile until the registration ends
    either successfully or with a failure (both recorded in
    Profile.SupervisedProfileCreateResult).
  </summary>
</histogram>

<histogram name="Profile.SupervisedProfileTotalImportTime" units="ms">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Time elapsed from when the handler received the message that a user clicked
    'Import supervised user' until the registration ends either successfully or
    with a failure (both recorded in Profile.SupervisedProfileImportResult).
  </summary>
</histogram>

<histogram name="Profile.SwitchGaiaPhotoSettings"
    enum="ProfileGaiaPhotoOptions">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Counts of when users switch to using their GAIA photo instead of an avatar
    icon or the opposite when they switch back to an avatar icon instead of
    their GAIA photo.
  </summary>
</histogram>

<histogram name="Profile.Sync" enum="ProfileSync">
  <obsolete>
    Deprecated because it did not present the information clearly.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Activity of the user with regards to sync.</summary>
</histogram>

<histogram name="Profile.SyncCustomize" enum="ProfileSyncCustomize">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Number of times and ways the user customized the sync options of their
    profile. Percentages are not meaningful. To determine percentages, take the
    count of a given action over the count of number of customizations.
  </summary>
</histogram>

<histogram name="Profile.SyncSignIn" enum="ProfileType">
  <owner>rpop@google.com</owner>
  <summary>
    Number of times the user signed into sync from original or secondary
    profile.
  </summary>
</histogram>

<histogram name="Profile.ThumbnailsSize" units="MB">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Size of the thumbnails database.</summary>
</histogram>

<histogram name="Profile.TimeToOpenUserManager" units="ms">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Time required to open the UserManager, from when it started to show until
    when its javascript started executing.
  </summary>
</histogram>

<histogram name="Profile.TopSitesSize" units="MB">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Size of the top sites database.</summary>
</histogram>

<histogram name="Profile.TotalHistorySize" units="MB">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Total size of all history databases.</summary>
</histogram>

<histogram name="Profile.TotalSize" units="MB">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Total size of the profile data (excluding sub-folders).</summary>
</histogram>

<histogram name="Profile.TriggeredReset" enum="BooleanReset">
  <owner>robertshield@chromium.org</owner>
  <summary>
    Indicates whether a profile had a reset trigger that caused it to launch a
    reset flow. The presence of this trigger is recorded during profile
    creation.
  </summary>
</histogram>

<histogram name="Profile.Update" enum="ProfileType">
  <owner>rlp@chromium.org</owner>
  <summary>Times a profile name and/or avatar was updated.</summary>
</histogram>

<histogram name="Profile.UpgradeEnrollment" enum="ProfileUpgradeEnrollment">
  <obsolete>
    Deprecated 8/2014. Upgrade Promotional UI removed.
  </obsolete>
  <owner>mlerman@chromium.org</owner>
  <summary>
    The process which leads a user to enroll in New Profile Management. Also
    tracks if the user chooses to opt out, and tutorials which guide the user
    into New Profile Management.
  </summary>
</histogram>

<histogram name="Profile.ValidateMenuItemInvalidIndex.IsGuest" enum="Boolean">
  <owner>anthonyvd@chromium.org</owner>
  <summary>
    Whether the active profile is a guest profile when -validateMenuItem in the
    ProfileMenuController gets an invalid value for the current profile's index.
  </summary>
</histogram>

<histogram name="Profile.ValidateMenuItemInvalidIndex.ProfileCount">
  <owner>anthonyvd@chromium.org</owner>
  <summary>
    The count of profiles in the avatar menu when -validateMenuItem in the
    ProfileMenuController gets an invalid value for the current profile's index.
  </summary>
</histogram>

<histogram name="Profile.ValidateMenuItemInvalidIndex.Selector"
    enum="ValidateMenuItemSelectorType">
  <owner>anthonyvd@chromium.org</owner>
  <summary>
    The selector associated with the menu item when -validateMenuItem in the
    ProfileMenuController gets an invalid value for the current profile's index.
  </summary>
</histogram>

<histogram name="Profile.VisitedLinksSize" units="MB">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Size of the visited links database.</summary>
</histogram>

<histogram name="Profile.WebDataSize" units="MB">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Size of the web data database.</summary>
</histogram>

<histogram name="ProfileReset.ResetRequestOrigin"
    enum="ProfileResetRequestOriginEnum">
  <owner>alito@chromium.org</owner>
  <summary>
    Encodes from where the request for resetting the profile settings
    originated.
  </summary>
</histogram>

<histogram name="ProfileReset.SendFeedback" enum="Boolean">
  <owner>engedy@chromium.org</owner>
  <owner>vasilii@chromium.org</owner>
  <summary>
    Signifies if the user selected &quot;Send feedback&quot; checkbox in the
    Reset Profile dialog.
  </summary>
</histogram>

<histogram name="Protector.DefaultSearchProvider" enum="ProtectorError">
  <obsolete>
    Deprecated 8/2013. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Errors that Protector detects about default search provider in Web Data.
    Reported once when Web Data is loaded.
  </summary>
</histogram>

<histogram name="Protector.Preferences" enum="ProtectorError">
  <obsolete>
    Deprecated 8/2013. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Errors that Protector detects about protected settings in Preferences.
    Reported once when profile is loaded.
  </summary>
</histogram>

<histogram name="Protector.SearchProvider" enum="SearchEngine">
  <obsolete>
    Deprecated 8/2013. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    When the default search provider setting is changed outside of Chrome, which
    is detected by the Protector, this histogram reports the new setting.
  </summary>
</histogram>

<histogram name="Protector.StartupSettings" enum="SessionStartupType">
  <obsolete>
    Deprecated 8/2013. No longer tracked.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    When the startup settings are changed outside of Chrome, which is detected
    by the Protector, this histogram reports the new setting.
  </summary>
</histogram>

<histogram name="ProxyOverriddenBubble.ExtensionCount" units="Extensions">
  <obsolete>
    Deprecated 9/2016. Never added to histograms.xml and value is always 1.
  </obsolete>
  <summary>
    The number of extensions overriding the proxy, triggering the proxy override
    extension warning bubble.
  </summary>
</histogram>

<histogram name="ProxyOverriddenBubble.UserSelection"
    units="ExtensionBubbleAction">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The action taken by the user when the &quot;proxy overridden&quot; extension
    warning bubble is shown. Logged immediately after the action is taken.
  </summary>
</histogram>

<histogram base="true" name="PurgeAndSuspend.Experimental.MemoryGrowth"
    units="KB">
<!-- Name completed by histogram_suffixes name="PurgeAndSuspendExperiment" -->

  <owner>tasak@google.org</owner>
  <summary>
    The growth of the background renderer's memory usage after a background
    renderer is purged. This is recorded 5, 10 and 15 minutes after the purge.
  </summary>
</histogram>

<histogram name="PurgeAndSuspend.Experimental.TimeToFirstActivePaint"
    units="ms">
  <owner>tasak@google.com</owner>
  <summary>
    Time elapsed from when the backgrounded and purged renderer is foregrounded
    until the renderer is painted. This is recorded every time the backgrounded
    and purged renderer is foregrounded.
  </summary>
</histogram>

<histogram name="PurgeAndSuspend.Memory.BlinkGCKB" units="KB">
  <owner>tasak@google.com</owner>
  <summary>
    The memory usage of the BlinkGC allocator after a background renderer is
    purged and suspended. Note: this metric is for A/B testing.
  </summary>
</histogram>

<histogram name="PurgeAndSuspend.Memory.DiscardableKB" units="KB">
  <owner>tasak@google.com</owner>
  <summary>
    The memory usage of the discardable memory after a background renderer is
    purged and suspended. Note: this metric is for A/B testing.
  </summary>
</histogram>

<histogram name="PurgeAndSuspend.Memory.MallocMB" units="MB">
  <owner>tasak@google.com</owner>
  <summary>
    The memory usage of the malloc after a background renderer is purged and
    suspended. Note: this metric is for A/B testing.
  </summary>
</histogram>

<histogram name="PurgeAndSuspend.Memory.PartitionAllocKB" units="KB">
  <owner>tasak@google.com</owner>
  <summary>
    The memory usage of PartitionAlloc after a background renderer is purged and
    suspended. Note: this metric is for A/B testing.
  </summary>
</histogram>

<histogram name="PurgeAndSuspend.Memory.TotalAllocatedMB" units="MB">
  <owner>tasak@google.com</owner>
  <summary>
    The sum of the memory usages of PartitionAlloc, malloc, discardable memory,
    mainThreadIsolate() and BlinkGC allocator after a backgrounded renderer is
    purged and suspended. Note: this metric is for A/B testing.
  </summary>
</histogram>

<histogram name="PurgeAndSuspend.Memory.V8MainThreadIsolateMB" units="MB">
  <owner>tasak@google.com</owner>
  <summary>
    The memory usage of mainThreadIsolate() after a backgrounded renderer is
    purged and suspended. Note: this metric is for A/B testing.
  </summary>
</histogram>

<histogram name="PurgeAndSuspend.PendingTaskCount">
  <owner>tasak@google.com</owner>
  <summary>
    This records how many tasks are still in task queues when a backgrounded
    renderer is suspended.
  </summary>
</histogram>

<histogram name="PushMessaging.BackgroundBudget">
  <owner>harkness@chromium.org</owner>
  <summary>
    Whenever a Service Worker receives a push message, this records the budget
    available to the service worker, which is an internal Chrome value for the
    amount of background processing a service worker is allowed to do without
    visibly alerting the user. Scale for the budget is 0 to 100.
  </summary>
</histogram>

<histogram name="PushMessaging.DeliveryStatus" enum="PushDeliveryStatus">
  <owner>johnme@google.com</owner>
  <summary>
    When a Service Worker receives a push message, this records whether the
    overall operation was successful, or otherwise the type of error
    encountered.
  </summary>
</histogram>

<histogram name="PushMessaging.DeliveryStatus.FindServiceWorker"
    enum="ServiceWorkerStatusCode">
  <owner>johnme@google.com</owner>
  <summary>
    When attempting to deliver a push message to a Service Worker, this records
    the result of finding the Service Worker registration given its ID and
    origin.
  </summary>
</histogram>

<histogram name="PushMessaging.DeliveryStatus.ServiceWorkerEvent"
    enum="ServiceWorkerStatusCode">
  <owner>johnme@google.com</owner>
  <summary>
    When a Service Worker receives a push message, this records the precise
    result received from the Service Worker code.
  </summary>
</histogram>

<histogram name="PushMessaging.GetRegistrationStatus"
    enum="PushGetRegistrationStatus">
  <owner>johnme@google.com</owner>
  <summary>
    When a webpage asks for details about its current push messaging
    registration, this records whether the request is successful, or otherwise
    the type of error encountered.
  </summary>
</histogram>

<histogram name="PushMessaging.ReceivedMessageInBackground" enum="Boolean">
  <owner>dgn@chromium.org</owner>
  <summary>
    Whenever a Service Worker receives a push message, this records whether
    Chrome is completely running in the background. A successful report means
    that the message was received when Chrome was in complete background mode,
    without UI, while a failure means it was in some other state: in background
    with some apps running, showing browser windows, etc.
  </summary>
</histogram>

<histogram name="PushMessaging.RegistrationStatus"
    enum="PushRegistrationStatus">
  <owner>johnme@google.com</owner>
  <summary>
    When a webpage registers for push messaging, this records whether the
    request is successful, or otherwise the type of error encountered.
  </summary>
</histogram>

<histogram name="PushMessaging.SESForLowBudgetOrigin">
  <owner>harkness@chromium.org</owner>
  <summary>
    When a Service Worker hits low budget when servicing a push message, this
    records what the Site Engagement Service score is at that time.
  </summary>
</histogram>

<histogram name="PushMessaging.SESForNoBudgetOrigin">
  <owner>harkness@chromium.org</owner>
  <summary>
    When a Service Worker hits zero budget when servicing a push message, this
    records what the Site Engagement Service score is at that time.
  </summary>
</histogram>

<histogram name="PushMessaging.UnregistrationGCMResult" enum="GCMClientResult">
  <owner>johnme@google.com</owner>
  <summary>
    When unregistering a legacy non-InstanceID push messaging subscription, this
    records the result returned by the GCMDriver (note that exceeding the
    maximum number of retries due to network errors is logged as SERVER_ERROR).
  </summary>
</histogram>

<histogram name="PushMessaging.UnregistrationIIDResult" enum="InstanceIDResult">
  <owner>johnme@google.com</owner>
  <summary>
    When unregistering an InstanceID push messaging subscription, this records
    the result returned from deleting the InstanceID (note that exceeding the
    maximum number of retries due to network errors is logged as SERVER_ERROR).
  </summary>
</histogram>

<histogram name="PushMessaging.UnregistrationReason"
    enum="PushUnregistrationReason">
  <owner>johnme@google.com</owner>
  <summary>
    When unregistering a website from push messaging, this records the reason
    why it is being unregistered.
  </summary>
</histogram>

<histogram name="PushMessaging.UnregistrationStatus"
    enum="PushUnregistrationStatus">
  <owner>johnme@google.com</owner>
  <summary>
    When unregistering a website from push messaging, this records whether the
    request is successful, or otherwise the type of error encountered.
  </summary>
</histogram>

<histogram name="PushMessaging.UserVisibleStatus" enum="PushUserVisibleStatus">
  <owner>johnme@google.com</owner>
  <summary>
    When a Service Worker receives a push message, this records whether it
    showed user-visible UX (like a notification), or whether we showed a forced
    notification on its behalf.
  </summary>
</histogram>

<histogram name="Quickoffice.csvFormattedCellCount">
  <owner>dskelton@google.com</owner>
  <summary>
    Records the number of cells that contain formatting data in the default
    worksheet when a comma separated value spreadsheet is opened.
  </summary>
</histogram>

<histogram name="Quickoffice.csvNonEmptyCellCount">
  <owner>dskelton@google.com</owner>
  <summary>
    Records the number of non-empty cells in the default worksheet when a comma
    separated value spreadsheet is opened.
  </summary>
</histogram>

<histogram name="Quickoffice.csvSheetCount">
  <owner>dskelton@google.com</owner>
  <summary>
    Records the number of worksheets when a comma separated value spreadsheet is
    opened.
  </summary>
</histogram>

<histogram name="Quickoffice.docPageCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the page count when a compound binary format document is opened.
  </summary>
</histogram>

<histogram name="Quickoffice.docParagraphCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the paragraph count when a compound binary format document is
    opened.
  </summary>
</histogram>

<histogram name="Quickoffice.docSectionCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the section count when a compound binary format document is opened.
  </summary>
</histogram>

<histogram name="Quickoffice.docxPageCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the page count when an OOXML format document is opened.
  </summary>
</histogram>

<histogram name="Quickoffice.docxParagraphCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the paragraph count when an OOXML format document is opened.
  </summary>
</histogram>

<histogram name="Quickoffice.docxSectionCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the section count when an OOXML format document is opened.
  </summary>
</histogram>

<histogram name="Quickoffice.ErrorTypes" enum="QuickofficeErrorTypes">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the various different error types encountered when opening and
    reading MS Office file formats in the Quickoffice viewer. These range from
    Nacl crashes and uncaught javascript exceptions to document errors inside
    Quickoffice Web Toolkit (eg QOWT). The errors are recorded against the file
    format in which they occurred.
  </summary>
</histogram>

<histogram name="Quickoffice.FileFormat" enum="QuickofficeFileFormat">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the various different file types supported by Quickoffice (like MS
    Word, Excel, Powerpoint files) when they opened in the browser to measure
    which file formats are most popular.
  </summary>
</histogram>

<histogram name="Quickoffice.pptMasterCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the number of slide masters when a compound binary format
    presentation is opened.
  </summary>
</histogram>

<histogram name="Quickoffice.pptSlideCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the slide count when a compound binary format presentation is
    opened.
  </summary>
</histogram>

<histogram name="Quickoffice.pptxMasterCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the number of slide masters when an OOXML format presentation is
    opened.
  </summary>
</histogram>

<histogram name="Quickoffice.pptxSlideCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the slide count when an OOXML format presentation is opened.
  </summary>
</histogram>

<histogram name="Quickoffice.xlsFormattedCellCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the number of cells that contain formatting data in the default
    worksheet when a compound binary format spreadsheet is opened.
  </summary>
</histogram>

<histogram name="Quickoffice.xlsNonEmptyCellCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the number of non-empty cells in the default worksheet when a
    compound binary format spreadsheet is opened.
  </summary>
</histogram>

<histogram name="Quickoffice.xlsSheetCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the number of worksheets when a compound binary format spreadsheet
    is opened.
  </summary>
</histogram>

<histogram name="Quickoffice.xlsxFormattedCellCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the number of cells that contain formatting data in the default
    worksheet when an OOXML format spreadsheet is opened.
  </summary>
</histogram>

<histogram name="Quickoffice.xlsxNonEmptyCellCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the number of non-empty cells when an OOXML format spreadsheet is
    opened.
  </summary>
</histogram>

<histogram name="Quickoffice.xlsxSheetCount">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Records the number of worksheets when an OOXML format spreadsheet is opened.
  </summary>
</histogram>

<histogram name="Quota.AgeOfDataInDays" units="days">
  <owner>michaeln@chromium.org</owner>
  <summary>
    How many kilobytes are how old. Similar to |AgeOfOrigin| except a sample is
    added for each kilobyte of an origin's data. Logged hourly for all origins
    with stored data.
  </summary>
</histogram>

<histogram name="Quota.AgeOfOriginInDays" units="days">
  <owner>michaeln@chromium.org</owner>
  <summary>
    How many days it's been since an origin's temporary storage has been
    accessed. Logged hourly for all origins with stored data.
  </summary>
</histogram>

<histogram name="Quota.AvailableDiskSpace" units="MB">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Amount of free disk space for the storage directory. Logged at irregular
    intervals.
  </summary>
</histogram>

<histogram name="Quota.DaysBetweenRepeatedOriginEvictions">
  <owner>calamity@chromium.org</owner>
  <summary>
    The number of days since an origin was last chosen to be evicted from the
    storage, recorded each time the origin is evicted (except for the first
    eviction).
  </summary>
</histogram>

<histogram name="Quota.DaysSinceLastAccess" units="days">
  <owner>michaeln@chromium.org</owner>
  <summary>
    The number of days since an origin's data was last accessed. Logged upon
    access when the time since last access is at least 24 hours.
  </summary>
</histogram>

<histogram name="Quota.DiskspaceShortage" units="MB">
  <owner>tzik@chromium.org</owner>
  <summary>
    Difference between acceptable lower limit of diskspace and actual free
    diskspace at beginning of an eviction round.
  </summary>
</histogram>

<histogram name="Quota.ErrorsOnEvictingOriginPerHour">
  <owner>tzik@chromium.org</owner>
  <summary>
    Number of errors on evicting origin by QuotaTemporaryStorageEvictor in an
    hour.
  </summary>
</histogram>

<histogram name="Quota.ErrorsOnGettingUsageAndQuotaPerHour">
  <owner>tzik@chromium.org</owner>
  <summary>
    Number of errors on getting usage and quota by QuotaTemporaryStorageEvictor
    in an hour.
  </summary>
</histogram>

<histogram name="Quota.EvictedBytesPerRound" units="MB">
  <owner>tzik@chromium.org</owner>
  <summary>
    Amount of usage used by evicted origins in an eviction round.
  </summary>
</histogram>

<histogram name="Quota.EvictedOriginAccessCount">
  <owner>calamity@chromium.org</owner>
  <summary>
    The number of times the evicted origin was accessed. Logged when the origin
    is evicted.
  </summary>
</histogram>

<histogram name="Quota.EvictedOriginDaysSinceAccess">
  <owner>calamity@chromium.org</owner>
  <summary>
    The number of days since the evicted origin was last accessed. Logged when
    the origin  is evicted.
  </summary>
</histogram>

<histogram name="Quota.EvictedOriginsPerHour">
  <owner>tzik@chromium.org</owner>
  <summary>Number of evicted origins in an hour.</summary>
</histogram>

<histogram name="Quota.EvictedOriginTimeSinceAccess">
  <obsolete/>
  <owner>calamity@chromium.org</owner>
  <summary>
    The time since the evicted origin was last accessed. Logged when the origin
    is evicted.
  </summary>
</histogram>

<histogram name="Quota.EvictionRoundsPerHour">
  <owner>tzik@chromium.org</owner>
  <summary>Number of eviction rounds in an hour.</summary>
</histogram>

<histogram name="Quota.FreeDiskSpaceForProfile" units="MB">
  <obsolete/>
  <owner>tzik@chromium.org</owner>
  <summary>Amount of free disk space for profile directory.</summary>
</histogram>

<histogram name="Quota.GlobalTemporaryPoolSize" units="MB">
  <owner>michaeln@chromium.org</owner>
  <summary>
    The size of the global temporary storage pool. Logged at irregular
    intervals.
  </summary>
</histogram>

<histogram name="Quota.GlobalUsageOfPersistentStorage" units="MB">
  <owner>tzik@chromium.org</owner>
  <summary>Global usage of persistent storage.</summary>
</histogram>

<histogram name="Quota.GlobalUsageOfTemporaryStorage" units="MB">
  <owner>tzik@chromium.org</owner>
  <summary>Global usage of temporary storage.</summary>
</histogram>

<histogram name="Quota.InitialTemporaryGlobalStorageQuota" units="MB">
  <obsolete/>
  <owner>tzik@chromium.org</owner>
  <summary>Initial quota for global temporary storage.</summary>
</histogram>

<histogram name="Quota.LRUOriginTypes" enum="QuotaOriginTypes">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Types of origins that are initially selected for eviction via LRU. Some of
    these types are exempt from eviction.
  </summary>
</histogram>

<histogram name="Quota.NumberOfEvictedOriginsPerRound">
  <owner>tzik@chromium.org</owner>
  <summary>Number of evicted origins per round.</summary>
</histogram>

<histogram name="Quota.NumberOfPersistentStorageOrigins">
  <owner>tzik@chromium.org</owner>
  <summary>Number of origins using persistent storage.</summary>
</histogram>

<histogram name="Quota.NumberOfProtectedPersistentStorageOrigins">
  <owner>tzik@chromium.org</owner>
  <summary>Number of protected origins using persistent storage.</summary>
</histogram>

<histogram name="Quota.NumberOfProtectedTemporaryStorageOrigins">
  <owner>tzik@chromium.org</owner>
  <summary>Number of protected origins using temporary storage.</summary>
</histogram>

<histogram name="Quota.NumberOfTemporaryStorageOrigins">
  <owner>tzik@chromium.org</owner>
  <summary>Number of origins using temporary storage.</summary>
</histogram>

<histogram name="Quota.NumberOfUnlimitedPersistentStorageOrigins">
  <owner>tzik@chromium.org</owner>
  <summary>Number of unlimited origins using persistent storage.</summary>
</histogram>

<histogram name="Quota.NumberOfUnlimitedTemporaryStorageOrigins">
  <owner>tzik@chromium.org</owner>
  <summary>Number of unlimited origins using temporary storage.</summary>
</histogram>

<histogram name="Quota.OSAccomodationDelta" units="MB">
  <owner>michaeln@chromium.org</owner>
  <summary>
    If our hardcoded OS accomodation is too large for the volume size, we define
    the value as a fraction of the total volume size instead. The
    OSAccomodationDelta is the difference between the hardcoded and computed
    values.
  </summary>
</histogram>

<histogram name="Quota.PercentDiskAvailable" units="%">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Percentage of the storage device that is free. Logged at irregular
    intervals.
  </summary>
</histogram>

<histogram name="Quota.PercentUsedByOrigin" units="%">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Percentage of an origin's quota that is being used by the origin. Logged at
    irregular intervals.
  </summary>
</histogram>

<histogram name="Quota.PercentUsedForTemporaryStorage" units="%">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Percentage of the storage device that ia being use for temporary storage.
    Logged at irregular intervals.
  </summary>
</histogram>

<histogram name="Quota.QuotaForOrigin" units="MB">
  <owner>michaeln@chromium.org</owner>
  <summary>
    The quota value computed for an origin using temporary storage. Logged at
    irregular intervals. (In the process of writing new data, storage systems
    consult the quota system for &quot;usage and quota&quot; to determine if
    there is sufficient space available for the new data. This value is logged
    at the time of that consultation. The frequency is dependent on how
    individual websites use the various storage apis.)
  </summary>
</histogram>

<histogram name="Quota.SkippedEvictionRoundsPerHour">
  <owner>tzik@chromium.org</owner>
  <summary>Number of skipped eviction rounds in an hour.</summary>
</histogram>

<histogram name="Quota.TimeBetweenRepeatedOriginEvictions">
  <obsolete/>
  <owner>calamity@chromium.org</owner>
  <summary>
    Time since an origin was last chosen to be evicted from the storage,
    recorded each time the origin is evicted (except for the first eviction).
  </summary>
</histogram>

<histogram name="Quota.TimeDeltaOfEvictionRounds">
  <owner>tzik@chromium.org</owner>
  <summary>Time between two consecutive active eviction rounds.</summary>
</histogram>

<histogram name="Quota.TimeSpentToAEvictionRound">
  <owner>tzik@chromium.org</owner>
  <summary>Time spent to an eviction round.</summary>
</histogram>

<histogram name="Quota.TimeToGetSettings" units="ms">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Time spent querying the embedder for the settings values. Logged at
    irregular intervals as the values are refreshed.
  </summary>
</histogram>

<histogram name="Quota.TimeToInitializeGlobalQuota" units="ms">
  <obsolete>
    Removed November 2016
  </obsolete>
  <owner>michaeln@chromium.org</owner>
  <summary>
    Time spent initializing the global quota. Logged when the storage
    partition's quota manager is initialized.
  </summary>
</histogram>

<histogram name="Quota.TotalDiskSpace" units="MB">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Total disk space for the storage directory. Logged at irregular intervals.
  </summary>
</histogram>

<histogram name="Quota.UsageOverageOfTemporaryGlobalStorage" units="MB">
  <owner>tzik@chromium.org</owner>
  <summary>
    Overage of the temporary global storage usage at beginning of an eviction
    round.
  </summary>
</histogram>

<histogram name="Rappor.DailyEvent.IntervalType" enum="DailyEventIntervalType">
  <owner>holte@chromium.org</owner>
  <summary>Counts how often daily interval events were fired.</summary>
</histogram>

<histogram name="Rappor.DiscardReason" enum="RapporDiscardReason">
  <owner>holte@chromium.org</owner>
  <summary>
    For each Rappor log that is discarded, the reason that it was discarded.
  </summary>
</histogram>

<histogram name="Rappor.FailedUploadErrorCode" enum="NetErrorCodes">
  <owner>holte@chromium.org</owner>
  <summary>Net error codes for failed Rappor uploads.</summary>
</histogram>

<histogram name="rappor.last_daily_sample" enum="DailyEventIntervalType">
  <obsolete>
    Removed 2015/05/05.
  </obsolete>
  <owner>holte@chromium.org</owner>
  <summary>
    Rappor.DailyEvent.IntervalType reported under the wrong name.
  </summary>
</histogram>

<histogram name="Rappor.LoadCohortResult" enum="RapporLoadResultType">
  <owner>holte@chromium.org</owner>
  <summary>
    Success or errors encountered when loading Rappor cohort pref.
  </summary>
</histogram>

<histogram name="Rappor.LoadSecretResult" enum="RapporLoadResultType">
  <owner>holte@chromium.org</owner>
  <summary>
    Success or errors encountered when loading Rappor secret pref.
  </summary>
</histogram>

<histogram name="Rappor.UploadResponseCode" enum="HttpResponseCode">
  <owner>holte@chromium.org</owner>
  <summary>
    For each upload to the Rappor server, log the response received from the
    server.
  </summary>
</histogram>

<histogram name="ReadingList.ContextMenu" enum="ReadingListContextMenuActions">
  <owner>gambard@chromium.org</owner>
  <summary>
    The action chosen by the user after displaying the reading list context
    menu.
  </summary>
</histogram>

<histogram name="ReadingList.Download.Failures" units="count">
  <owner>gambard@chromium.org</owner>
  <summary>
    Number of tries before the download of the entry is successful.
  </summary>
</histogram>

<histogram name="ReadingList.Download.Status" enum="ReadingListDownloadStatus">
  <owner>gambard@chromium.org</owner>
  <summary>Final status of the download of a reading list entry.</summary>
</histogram>

<histogram name="ReadingList.FirstReadAgeOnDeletion" units="hours">
  <owner>gambard@chromium.org</owner>
  <summary>
    Time since the first read of the reading list entry getting deleted. 0 if it
    has never been read.
  </summary>
</histogram>

<histogram name="ReadingList.OfflineVersionDisplayed" enum="Boolean">
  <owner>gambard@chromium.org</owner>
  <summary>Whether the displayed version is the offline one.</summary>
</histogram>

<histogram name="ReadingList.Read.AgeOnDeletion" units="hours">
  <owner>gambard@chromium.org</owner>
  <summary>
    Time since the creation of the read reading list entry getting deleted.
  </summary>
</histogram>

<histogram name="ReadingList.Read.Number" units="count">
  <owner>gambard@chromium.org</owner>
  <summary>Number of read entries in reading list.</summary>
</histogram>

<histogram name="ReadingList.Unread.AgeOnDeletion" units="hours">
  <owner>gmabard@chromium.org</owner>
  <summary>
    Time since the creation of the unread reading list entry getting deleted.
  </summary>
</histogram>

<histogram name="ReadingList.Unread.Number" units="count">
  <owner>gambard@chromium.org</owner>
  <summary>Number of unread entries in reading list.</summary>
</histogram>

<histogram name="RecoveryComponent.Event" enum="RecoveryComponentEvent">
  <owner>robertshield@chromium.org</owner>
  <summary>Log each stage of a recovery component event.</summary>
</histogram>

<histogram name="Render.Workers.MaxWorkerCountInRendererProcess">
  <obsolete>
    Deprecated Dec 2016. This metric did not report the number of shared workers
    correctly, since it used the RenderProcessHostImpl ref counts, which in the
    shared worker case is more like a boolean flag (zero or one or maybe two)
    than the number of shared workers. So its results can be thought of as
    roughly the number of service workers only.
  </obsolete>
  <owner>kinuko@chromium.org</owner>
  <summary>
    Maximum number of workers (SharedWorker or ServiceWorker) that are
    simultaneously hosted in a single renderer process. Recorded when the
    renderer process host is being destructed.
  </summary>
</histogram>

<histogram name="Renderer.AcceleratedFixedRootBackground"
    enum="AcceleratedFixedRootBackground">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Keeps track of the number of main frame scrolls with an accelerated fixed
    root background, the number of main frame scrolls with an unaccelerated
    fixed root background, and the total number of main frame scrolls.
  </summary>
</histogram>

<histogram name="Renderer.CompositedScrolling" enum="CompositedScrolling">
  <owner>hartmanng@chromium.org</owner>
  <summary>
    Total count of the number of RenderLayers which are scrollable areas, need
    to be promoted to stacking containers, and will use composited scrolling.
    Each bucket is sampled at most once per RenderLayer, when the RenderLayer
    first becomes scrollable, first needs to become a stacking container, and
    first uses composited scrolling, respectively.
  </summary>
</histogram>

<histogram name="Renderer.DrawDuration" units="ms">
  <obsolete>
    Replaced by Scheduling.Renderer.DrawDuration. This metric did not
    differentiate between processes.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>The time it takes for the compositor to draw a frame.</summary>
</histogram>

<histogram name="Renderer.DrawDurationOverestimate" units="ms">
  <obsolete>
    Measurement no longer taken.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    The amount by which the compositor's draw duration was overestimated in a
    particular frame (0 if the duration was perfectly predicted or
    underestimated).
  </summary>
</histogram>

<histogram name="Renderer.DrawDurationUnderestimate" units="ms">
  <obsolete>
    Measurement no longer taken.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    The amount by which the compositor's draw duration was underestimated in a
    particular frame (0 if the duration was perfectly predicted or
    overestimated).
  </summary>
</histogram>

<histogram name="Renderer.GpuLatency" units="ms">
  <obsolete>
    Measurement no longer taken.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    The delay between the compositor submitting a command to the GPU and that
    command executing on the GPU. This delay is measured once per frame.
  </summary>
</histogram>

<histogram name="Renderer.GpuLatencyOverestimate" units="ms">
  <obsolete>
    Measurement no longer taken.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    The amount by which GPU latency was overestimated in a particular frame (0
    if the latency was perfectly predicted or underestimated).
  </summary>
</histogram>

<histogram name="Renderer.GpuLatencyUnderestimate" units="ms">
  <obsolete>
    Measurement no longer taken.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    The amount by which GPU latency was underestimated in a particular frame (0
    if the latency was perfectly predicted or overestimated).
  </summary>
</histogram>

<histogram name="Renderer.Hung.MobileInfoBar.UserEvent"
    enum="MobileHungRendererInfoBarEvent">
  <owner>dfalcantara@chromium.org</owner>
  <summary>
    Android: Records the terminal event associated with a hung renderer infobar.
    This includes both the explicit user actions as well as implicit dismissals,
    e.g., when the renderer regains responsiveness before the infobar is
    interactively dismissed.
  </summary>
</histogram>

<histogram name="Renderer.LayoutMs" units="ms">
  <obsolete>
    Deprecated as of 3/2015.
  </obsolete>
  <owner>benjhayden@chromium.org</owner>
  <summary>
    Duration of the FrameView::performLayout trace event, which occurs at most
    once per frame.
  </summary>
</histogram>

<histogram name="Renderer.LineLayoutMs" units="ms">
  <obsolete>
    Deprecated as of 3/2015.
  </obsolete>
  <owner>benjhayden@chromium.org</owner>
  <summary>
    Amount of time spent doing line layout during FrameView::performLayout.
  </summary>
</histogram>

<histogram name="Renderer.PixelIncreaseFromTransitions">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    A lower-bound on the percentage increase in memory that would result from
    promoting all layers that have a webkit-transition on opacity or transform.
  </summary>
</histogram>

<histogram name="Renderer.unloadEventsDurationMS" units="ms">
  <obsolete>
    Deprecated as of 10/2013.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    This measures how long all unload event handlers required to run whenever an
    unload event is processed.
  </summary>
</histogram>

<histogram name="Renderer.ViewportZoomBugCount" enum="BooleanHit">
  <owner>kkhorimoto@chromium.org</owner>
  <summary>
    [iOS] A boolean that is used to indicate that the WebKit rendering bug in
    http://crbug.com/583231 has occurred. This occurs when a page with no
    viewport tag is rendered with an unusable zoom scale. Only logged on iOS.
  </summary>
</histogram>

<histogram name="Renderer2.FinishDocToFinish">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time from when a document finished loading to when all it's resources
    are also loaded.
  </summary>
</histogram>

<histogram name="Renderer2.RequestToFinish">
  <obsolete>
    Deprecated 6/15/09.  Replaced by Renderer2.RequestToFinish_L
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time from when a page was requested by a user to when it is fully
    loaded.
  </summary>
</histogram>

<histogram name="Renderer2.RequestToFinish_L">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time from when a page was requested by a user to when it is fully
    loaded.
  </summary>
</histogram>

<histogram name="Renderer2.RequestToFirstLayout">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time from when a page was requested by a user to its first layout.
  </summary>
</histogram>

<histogram name="Renderer2.RequestToStart">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time from when a page was requested by a user to when it starts loading.
  </summary>
</histogram>

<histogram name="Renderer2.StartToFinish">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time from when a page started loading to when it is fully loaded.
  </summary>
</histogram>

<histogram name="Renderer2.StartToFinishDoc">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time from when a page starts loading to when the main document is
    finished loading.
  </summary>
</histogram>

<histogram name="Renderer2.StartToFirstLayout">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time from when a page starts loading to its first layout.
  </summary>
</histogram>

<histogram name="Renderer4.Abandoned" enum="Abandoned">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Distribution of actual finished pages, vs abandoned pages, where we needed
    to declare a finish time prematurely since the page was being closed
    (exited).
  </summary>
</histogram>

<histogram name="Renderer4.AccelContentPaintDurationMS">
  <obsolete>
    Deprecated 2014-05 because of impl-side painting.
  </obsolete>
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time spent by WebKit painting the page, in milliseconds, when the GPU
    acceleration is active, for paints that affect non-root layers.
  </summary>
</histogram>

<histogram name="Renderer4.AccelContentPaintMegapixPerSecond">
  <obsolete>
    Deprecated 2014-05 because of impl-side painting.
  </obsolete>
  <owner>wiltzius@chromium.org</owner>
  <summary>
    WebKit paint throughput, measured in megapixels per second, when GPU
    acceleration is active, for paints that affect non-root layers.
  </summary>
</histogram>

<histogram name="Renderer4.AccelDoDeferredUpdateDelay">
  <owner>wiltzius@chromium.org</owner>
  <summary>Time between frames when GPU acceleration is active.</summary>
</histogram>

<histogram name="Renderer4.AccelRootPaintDurationMS">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time spent by WebKit painting the page, in milliseconds, when the GPU
    acceleration is active, for paints that affect the root layer.
  </summary>
</histogram>

<histogram name="Renderer4.AccelRootPaintMegapixPerSecond">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    WebKit paint throughput, measured in megapixels per second, when GPU
    acceleration is active, for paints that affect the root layer.
  </summary>
</histogram>

<histogram name="Renderer4.AnimationCallbackDelayTime" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time from when the animation callback was posted to when it ran.
  </summary>
</histogram>

<histogram name="Renderer4.BeginToCommit" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time from &quot;begin&quot; to &quot;commit.&quot;   &quot;Begin&quot;==
    &quot;request&quot; if user requested, and &quot;start&quot; otherwise.
    &quot;Request&quot;== time when user requested document. &quot;Start&quot;==
    time when renderer requested load of document, after any unload of last
    document. &quot;Commit&quot;== time when renderer got first byte of
    document.
  </summary>
</histogram>

<histogram name="Renderer4.BeginToFinish">
  <owner>wiltzius@chromium.org</owner>
  <summary>TBD</summary>
</histogram>

<histogram name="Renderer4.BeginToFinishDoc">
  <owner>wiltzius@chromium.org</owner>
  <summary>TBD</summary>
</histogram>

<histogram name="Renderer4.BeginToFirstPaint" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time from &quot;begin&quot; to &quot;first paint.&quot;  &quot;Begin&quot;==
    &quot;request&quot; if user requested, and &quot;start&quot; otherwise.
    &quot;Request&quot;== time when user requested document. &quot;Start&quot;==
    time when renderer requested load of document, after any unload of last
    document. &quot;First paint&quot;== time when first paint operation was
    performed.
  </summary>
</histogram>

<histogram name="Renderer4.BeginToFirstPaintAfterLoad" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time from &quot;big&quot; to &quot;first paint after load.&quot;
    &quot;Begin&quot;== &quot;request&quot; if user requested, and
    &quot;start&quot; otherwise.  &quot;Request&quot;== time when user requested
    document. &quot;Start&quot;== time when renderer requested load of document,
    after any unload of last document. &quot;First paint after load&quot;== time
    after onload() when first paint operation is performed.
  </summary>
</histogram>

<histogram name="Renderer4.Browser.PartialRasterPercentageSaved" units="%">
  <owner>ericrk@chromium.org</owner>
  <summary>
    Percentage of pixels which would have been rastered, but were skipped due to
    the partial raster optimization. Logged for each raster task run in a
    Browser process. The histogram is suffixed by the RasterBufferProvider which
    is in use.
  </summary>
</histogram>

<histogram name="Renderer4.CommitToFinish" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time from &quot;commit&quot; to &quot;finish.&quot; &quot;Commit&quot;==
    time when renderer got first byte of document.  &quot;Finish&quot;==after
    onload() and all resources are loaded.
  </summary>
</histogram>

<histogram name="Renderer4.CommitToFinishDoc" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time from &quot;commit&quot; to &quot;finish doc.&quot; &quot;Commit&quot;==
    time when renderer got first byte of document. &quot;Finish doc&quot; ==
    main document loaded, before onload(). &quot;Finish&quot;==after onload()
    and all resources are loaded.
  </summary>
</histogram>

<histogram name="Renderer4.CommitToFirstPaint" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time from &quot;commit&quot; to &quot;first paint.&quot;
    &quot;Commit&quot;== time when renderer got first byte of document.
    &quot;First paint&quot;== time when first paint operation was performed.
  </summary>
</histogram>

<histogram name="Renderer4.CommitToFirstPaintAfterLoad" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time from &quot;commit&quot; to &quot;first paint after load.&quot;
    &quot;Commit&quot;== time when renderer got first byte of document.
    &quot;First paint after load&quot;== time after onload() when first paint
    operation is performed.
  </summary>
</histogram>

<histogram name="Renderer4.CompositorScrollHitTestResult"
    enum="CompositorScrollResult">
  <owner>vollick@chromium.org</owner>
  <summary>
    It's possible for compositor hit testing to determine conclusively that
    compositor thread scrolling can or cannot be done. It's also possible that
    the hit testing result is inconclusive. We would like to see the I-don't-
    know result as little as possible. This histogram tracks the ratios.
  </summary>
</histogram>

<histogram name="Renderer4.CompositorThreadImplDrawDelay" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time between frames, as measured on the compositor thread. This is collected
    once per frame while it is being drawn to the screen in the compositor.
  </summary>
</histogram>

<histogram name="Renderer4.CompositorTouchScrollUpdateThread"
    enum="ScrollThread">
  <owner>tdresser@chromium.org</owner>
  <summary>Whether the scroll from touch is executed on main thread.</summary>
</histogram>

<histogram name="Renderer4.CompositorWheelScrollUpdateThread"
    enum="ScrollThread">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Whether the scroll from mouse wheel is executed on main thread.
  </summary>
</histogram>

<histogram name="Renderer4.drawPixelCountCulled" units="NormalizedPixels">
  <obsolete>
    Renamed to Renderer4.pixelCountCulled_Draw.
  </obsolete>
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Number of pixels that culling prevented being drawn to the screen,
    normalized to the viewport size. This is collected once per frame while it
    is being drawn to the screen in the compositor.
  </summary>
</histogram>

<histogram name="Renderer4.drawPixelCountOpaque" units="NormalizedPixels">
  <obsolete>
    Renamed to Renderer4.pixelCountOpaque_Draw.
  </obsolete>
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Number of pixels drawn to the screen and known opaque, normalized to the
    viewport size. This is collected once per frame while it is being drawn to
    the screen in the compositor.
  </summary>
</histogram>

<histogram name="Renderer4.drawPixelCountTranslucent" units="NormalizedPixels">
  <obsolete>
    Renamed to Renderer4.pixelCountTranslucent_Draw.
  </obsolete>
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Number of pixels drawn to the screen and not known opaque, normalized to the
    viewport size. This is collected once per frame while it is being drawn to
    the screen in the compositor.
  </summary>
</histogram>

<histogram name="Renderer4.FinishDocToFinish" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time from &quot;finish doc&quot; to &quot;finish.&quot; &quot;Finish
    doc&quot;== main document loaded, before onload(). &quot;Finish&quot;==after
    onload() and all resources are loaded.
  </summary>
</histogram>

<histogram name="Renderer4.FinishToFirstPaintAfterLoad" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time from &quot;finish &quot; to &quot;first paint after load.&quot;
    &quot;Finish&quot;==after onload() and all resources are loaded. &quot;First
    paint after load&quot;== time after onload() when first paint operation is
    performed.
  </summary>
</histogram>

<histogram name="Renderer4.GestureScrollingThreadStatus"
    enum="ScrollingThreadStatus">
  <owner>tdresser@chromium.org</owner>
  <summary>
    For every gesture, we record whether the scroll occurred on the main thread,
    on the compositor thread, or on the compositor thread but blocked on the
    main thread. The last case will happen when there is a blocking event
    listener.
  </summary>
</histogram>

<histogram name="Renderer4.GpuImageDecodeState" enum="GpuImageDecodeState">
  <owner>vmpstr@chromium.org</owner>
  <summary>
    Gpu image decode usage statistics. Images are decoded and locked prior to
    upload; this indicates how that decode is used during tile management.
  </summary>
</histogram>

<histogram name="Renderer4.GpuImageDecodeState.FirstLockWasted"
    enum="BooleanWasted">
  <owner>vmpstr@chromium.org</owner>
  <summary>
    Indication whether the first lock of an image decode was wasted (image was
    not used). Images are decoded and locked prior to raster; this indicates
    whether the decode was used or not during the first lock.
  </summary>
</histogram>

<histogram name="Renderer4.GpuImageUploadState.FirstRefWasted"
    enum="BooleanWasted">
  <owner>vmpstr@chromium.org</owner>
  <summary>
    Indication whether the first ref of a GPU image upload was wasted (not used
    in raster). Images are uploaded prior to raster; this indicates whether the
    upload was used during the first ref.
  </summary>
</histogram>

<histogram name="Renderer4.GpuImageUploadState.Used" enum="BooleanUsage">
  <owner>vmpstr@chromium.org</owner>
  <summary>
    Indication whether the GPU image upload was used in raster. Images are
    uploaded prior to raster; this indicates whether the upload was used during
    raster.
  </summary>
</histogram>

<histogram name="Renderer4.GpuRasterizationEnabled" enum="BooleanEnabled">
  <owner>alokp@chromium.org</owner>
  <summary>
    Whether gpu rasterization is enabled (checked once after the page is painted
    for the first time).
  </summary>
</histogram>

<histogram name="Renderer4.GpuRasterizationSuitableContent"
    enum="BooleanEnabled">
  <owner>alokp@chromium.org</owner>
  <summary>
    If gpu rasterization is enabled, whether the page contents are suitable for
    gpu rasterization (checked once after the page is painted for the first
    time).
  </summary>
</histogram>

<histogram name="Renderer4.GpuRasterizationTriggered" enum="BooleanEnabled">
  <owner>alokp@chromium.org</owner>
  <summary>
    If gpu rasterization is enabled, whether it was triggered (checked once
    after the page is painted for the first time).
  </summary>
</histogram>

<histogram name="Renderer4.GpuRasterizationUsed" enum="BooleanEnabled">
  <owner>alokp@chromium.org</owner>
  <summary>
    If gpu rasterization is enabled, whether it was actually used for the page
    (checked once after the page is painted for the first time).
  </summary>
</histogram>

<histogram name="Renderer4.IdealContentsScale">
  <owner>vmpstr@chromium.org</owner>
  <summary>
    The contents scale at which picture layer impl should be rasterized in order
    to appear crisp. This is also known as ideal contents scale. This value is
    recorded any time the ideal contents scale changes. Some examples of this
    are pinch-zoom and JavaScript transform changes.
  </summary>
</histogram>

<histogram name="Renderer4.ImageDecodeTaskDurationUs" units="microseconds">
  <owner>vmpstr@chromium.org</owner>
  <summary>
    This metric records the duration of an image decode in the compositor. It is
    recorded every time we decode an image. It is suffixed by the type of
    rasterization we're in (either Gpu or Software).
  </summary>
</histogram>

<histogram name="Renderer4.InvalidationRegionApproximateRectCount"
    units="rects">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Number of rects inside of a PictureLayer's invalidation region per commit.
  </summary>
</histogram>

<histogram name="Renderer4.LanguageDetection" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time to determine the page language. This is done after the page has been
    loaded.
  </summary>
</histogram>

<histogram name="Renderer4.LCDText.PercentageOfAALayers" units="%">
  <obsolete>
    Deprecated as of 02/2015.  No longer generated.
  </obsolete>
  <owner>wiltzius@chromium.org</owner>
  <summary>
    The ratio of LCDText CC Layers / candidate LCDText layers. Recorded in
    LayerTreeHost, after LayerTreeHostCommon::CalculateDrawProperties() has
    computed the properties we need. Only recorded for the first 50 frames of
    every page.
  </summary>
</histogram>

<histogram name="Renderer4.LCDText.PercentageOfCandidateLayers" units="%">
  <obsolete>
    Deprecated as of 02/2015.  No longer generated.
  </obsolete>
  <owner>wiltzius@chromium.org</owner>
  <summary>
    The ratio of CC Layers which are candidates for LCDText AA / total picture
    or content Layers.  Recorded in LayerTreeHost, after
    LayerTreeHostCommon::CalculateDrawProperties() has computed the properties
    we need. Only recorded for the first 50 frames of every page.
  </summary>
</histogram>

<histogram name="Renderer4.LoadType" enum="LoadType">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Probability distribution for enumerated varieties of page loads.
  </summary>
</histogram>

<histogram name="Renderer4.LockExistingCachedImage" enum="BooleanSuccess">
  <owner>vmpstr@chromium.org</owner>
  <summary>
    For each attempted lock of a cached image, records whether it was
    successful.
  </summary>
</histogram>

<histogram name="Renderer4.MainThreadGestureScrollReason"
    enum="MainThreadScrollingReason">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Ideally we'd always scroll on the impl thread, but there are a variety of
    situations where we need to scroll on main. We should try to drive these
    down. For every gesture, we record whether or not the scroll occurred on the
    main thread, and if it did, what the reason was.
  </summary>
</histogram>

<histogram name="Renderer4.MainThreadWheelScrollReason"
    enum="MainThreadScrollingReason">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Ideally we'd always scroll on the impl thread, but there are a variety of
    situations where we need to scroll on main. We should try to drive these
    down. For every wheel tick, we record whether or not the the scroll occurred
    on the main thread, and if it did, what the reason was.
  </summary>
</histogram>

<histogram name="Renderer4.pixelCountCulled_Draw" units="NormalizedPixels">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Number of pixels that culling prevented being drawn to the screen, recorded
    as 10 times the percentage of the viewport that these pixels cover. This is
    collected once per frame while it is being drawn to the screen in the
    compositor.
  </summary>
</histogram>

<histogram name="Renderer4.pixelCountOpaque" units="NormalizedPixels">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Number of pixels known to be opaque, recorded as 10 times the percentage of
    the viewport that these pixels cover.
  </summary>
</histogram>

<histogram name="Renderer4.pixelCountPainted" units="NormalizedPixels">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Number of pixels painted by WebKit into main memory, recorded as 10 times
    the percentage of the viewport that these pixels cover. This is collected
    once per commit from WebKit to the compositor.
  </summary>
</histogram>

<histogram name="Renderer4.pixelCountTranslucent" units="NormalizedPixels">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Number of pixels not known to be opaque opaque, recorded as 10 times the
    percentage of the viewport that these pixels cover.
  </summary>
</histogram>

<histogram name="Renderer4.ReadyToDrawTileDrawStatus" enum="UsedInDraw">
  <obsolete>
    Deprecated 02/2017 in Issue 675840.
  </obsolete>
  <owner>vmpstr@chromium.org</owner>
  <summary>
    For each tile that was ready to draw at some point, logs whether the tile
    was actually used in a draw. This is logged at tile destruction time.
  </summary>
</histogram>

<histogram name="Renderer4.Renderer.PartialRasterPercentageSaved" units="%">
  <owner>ericrk@chromium.org</owner>
  <summary>
    Percentage of pixels which would have been rastered, but were skipped due to
    the partial raster optimization. Logged for each raster task run in a
    Renderer process. The histogram is suffixed by the RasterBufferProvider
    which is in use.
  </summary>
</histogram>

<histogram name="Renderer4.renderPassCount">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    The number of render passes (or render targets) in the renderer's frame. If
    the value is more than one, then an intermediate rendering target must be
    used during the rendering of the frame for each render pass greater than
    one.
  </summary>
</histogram>

<histogram name="Renderer4.RequestToFinish" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time from &quot;request&quot; to &quot;finish.&quot;  &quot;Request&quot;==
    time when user requested document.  &quot;Finish&quot;==after onload() and
    all resources are loaded.
  </summary>
</histogram>

<histogram name="Renderer4.RequestToStart" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time from &quot;request&quot; to &quot;start.&quot; &quot;Request&quot;==
    time when user requested document. &quot;Start&quot;== time when renderer
    requested load of document, after any unload of last document.
  </summary>
</histogram>

<histogram name="Renderer4.ResourcePoolMemoryUsage" units="MB">
  <owner>ericrk@chromium.org</owner>
  <summary>
    Size of the in-use portion of the ResourcePool. Recorded each time resources
    are reclaimed after tile work completes.
  </summary>
</histogram>

<histogram name="Renderer4.Snapshot">
  <owner>wiltzius@chromium.org</owner>
  <summary>Time to capture a renderer snapshot.</summary>
</histogram>

<histogram name="Renderer4.SoftwareCompositorThreadImplDrawDelay" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time between frames when the software renderer is being used, as measured on
    the compositor thread. This is collected once per frame while it is being
    drawn to the screen in the compositor.
  </summary>
</histogram>

<histogram name="Renderer4.SoftwareDoDeferredUpdateDelay">
  <owner>wiltzius@chromium.org</owner>
  <summary>Time between frames when the page is not GPU accelerated.</summary>
</histogram>

<histogram name="Renderer4.SoftwareImageDecodeState"
    enum="SoftwareImageDecodeState">
  <owner>vmpstr@chromium.org</owner>
  <summary>
    Software image decode usage statistics. Images are decoded and locked prior
    to raster; this indicates how that decode is used during tile management.
  </summary>
</histogram>

<histogram name="Renderer4.SoftwareImageDecodeState.FirstLockWasted"
    enum="BooleanWasted">
  <owner>vmpstr@chromium.org</owner>
  <summary>
    Indication whether the first lock of an image decode was wasted (image was
    not used). Images are decoded and locked prior to raster; this indicates
    whether the decode was used or not during the first lock.
  </summary>
</histogram>

<histogram name="Renderer4.SoftwarePaintDurationMS">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time spent by WebKit painting the page, in milliseconds, when the page is
    not GPU accelerated.
  </summary>
</histogram>

<histogram name="Renderer4.SoftwarePaintMegapixPerSecond">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    WebKit paint throughput, measured in megapixels per second, when the page is
    not GPU accelerated.
  </summary>
</histogram>

<histogram name="Renderer4.StartToCommit" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time from &quot;start&quot; to &quot;commit.&quot; &quot;Start&quot;== time
    when renderer requested load of document, after any unload of last document.
    &quot;Commit&quot;== time when renderer got first byte of document.
  </summary>
</histogram>

<histogram name="Renderer4.StartToFinish" units="ms">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Time from &quot;start&quot; to &quot;finish.&quot; &quot;Start&quot;== time
    when renderer requested load of document, after any unload of last document.
    &quot;Finish&quot;==after onload() and all resources are loaded.
  </summary>
</histogram>

<histogram name="Renderer4.TextureCopyLatency" units="microseconds">
  <owner>reveman@chromium.org</owner>
  <summary>
    Time between the issue of a texture copy operation and detecting that it has
    completed as measured by the GPU process.
  </summary>
</histogram>

<histogram name="Renderer4.TextureGpuUploadTimeUS">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    The number of microseconds it took to upload a tile's full texture as
    measured on the GPU process.
  </summary>
</histogram>

<histogram name="Renderer4.Thumbnail">
  <owner>wiltzius@chromium.org</owner>
  <summary>Time to capture a renderer thumbnail.</summary>
</histogram>

<histogram name="Renderer4.tileCountCulled_Upload" units="NormalizedTiles">
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Number of tiles that culling prevented being uploaded to texture memory.
    This is an approximation and is recorded as a 100 times the percentage of
    the number of tiles, of default size, needed to cover the viewport. This is
    collected once per commit from WebKit to the compositor.
  </summary>
</histogram>

<histogram name="Renderer4.uploadPixelCountCulled" units="NormalizedPixels">
  <obsolete>
    Deprecated as of 04/2012, replaced with Renderer4.tileCountCulled_Upload.
  </obsolete>
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Number of pixels that culling prevented being uploaded to texture memory,
    normalized to the viewport size. This is collected once per commit from
    WebKit to the compositor.
  </summary>
</histogram>

<histogram name="Renderer4.uploadPixelCountOpaque" units="NormalizedPixels">
  <obsolete>
    Renamed to Renderer4.pixelCountOpaque_Upload.
  </obsolete>
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Number of pixels uploaded to texture memory and known to be opaque,
    normalized to the viewport size. This is collected once per commit from
    WebKit to the compositor.
  </summary>
</histogram>

<histogram name="Renderer4.uploadPixelCountTranslucent"
    units="NormalizedPixels">
  <obsolete>
    Renamed to Renderer4.pixelCountTranslucent_Upload.
  </obsolete>
  <owner>wiltzius@chromium.org</owner>
  <summary>
    Number of pixels uploaded to texture memory and not known opaque, normalized
    to the viewport size.  This is collected once per commit from WebKit to the
    compositor.
  </summary>
</histogram>

<histogram name="Renderer4.WheelScrollingThreadStatus"
    enum="ScrollingThreadStatus">
  <owner>tdresser@chromium.org</owner>
  <summary>
    For every wheel tick, we record whether the scroll occurred on the main
    thread, on the compositor thread, or on the compositor thread but blocked on
    the main thread. The last case will happen when there is a blocking event
    listener.
  </summary>
</histogram>

<histogram name="RendererScheduler.BackgroundRendererMainThreadLoad" units="%">
  <owner>altimin@chromium.org</owner>
  <summary>
    Renderer main thread load when renderer is backgrounded, i.e. percentage of
    time spent on running tasks.

    This metric is emitted when the renderer main thread task is completed or
    renderer is backgrounded or foregrounded, at most once per second per
    renderer amortized.
  </summary>
</histogram>

<histogram name="RendererScheduler.ExpectedTaskQueueingDuration" units="ms">
  <owner>tdresser@chromium.org</owner>
  <summary>
    The estimated queueing duration which would be observed for additional high
    priority tasks posted to the RendererScheduler. Recorded for each 1000 ms
    window.
  </summary>
</histogram>

<histogram name="RendererScheduler.ForegroundRendererMainThreadLoad" units="%">
  <owner>altimin@chromium.org</owner>
  <summary>
    Renderer main thread load when renderer is foregrounded, i.e. percentage of
    time spent on running tasks.

    This metric is emitted when the renderer main thread task is completed or
    renderer is backgrounded or foregrounded, at most once per second per
    renderer amortized.
  </summary>
</histogram>

<histogram name="RendererScheduler.NumberOfTasksPerQueueType"
    enum="RendererSchedulerTaskQueueType">
  <owner>altimin@chromium.org,alexclarke@chromium.org</owner>
  <summary>
    The number of completed renderer tasks split per task queue type. Used to
    monitor usage of each type of task queues. Reported each time when task is
    completed.
  </summary>
</histogram>

<histogram name="RendererScheduler.TaskQueueManager.DelayedTaskLateness"
    units="ms">
  <owner>alexclarke@chromium.org</owner>
  <summary>
    The delta between when a delayed task was scheduled to run and when the
    RendererScheduler actually ran it. Note: to reduce overhead only 10% of
    tasks are sampled.
  </summary>
</histogram>

<histogram
    name="RendererScheduler.TaskQueueManager.ImmediateTaskQueueingDuration"
    units="ms">
  <owner>alexclarke@chromium.org</owner>
  <summary>
    The queueing duration for non-delayed tasks posted to the RendererScheduler.
    This metric is only recorded if TrackingInfo::time_posted is set (i.e. not
    on android). Note: to reduce overhead only 10% of tasks are sampled.
  </summary>
</histogram>

<histogram name="RendererScheduler.TaskTime" units="microseconds">
  <owner>sunyunjia@chromium.org</owner>
  <owner>tdresser@chromium.org</owner>
  <summary>
    The duration of every task queued in the _renderer_ scheduler to see the
    distribution of the task duration.
  </summary>
</histogram>

<histogram name="RendererScheduler.UserModel.GestureDuration" units="ms">
  <owner>alexclarke@chromium.org</owner>
  <summary>Duration of gestures (scrolls and pinches).</summary>
</histogram>

<histogram name="RendererScheduler.UserModel.GesturePredictedCorrectly"
    units="GesturePredictionResult">
  <owner>alexclarke@chromium.org</owner>
  <summary>Whether a user gesture was predicted correctly.</summary>
</histogram>

<histogram name="RendererScheduler.UserModel.GestureStartTimeSinceModelReset"
    units="ms">
  <owner>alexclarke@chromium.org</owner>
  <summary>
    Time between when the UserModel was last reset (which happens on navigation)
    and a gesture starting.
  </summary>
</histogram>

<histogram name="RendererScheduler.UserModel.TimeBetweenGestures" units="ms">
  <owner>alexclarke@chromium.org</owner>
  <summary>Time between subsequent gestures (scrolls and pinches).</summary>
</histogram>

<histogram name="RendererSyncIPC.ElapsedTime" units="ms">
  <owner>ppi@chromium.org</owner>
  <summary>
    Roundtrip times for synchronous IPC calls from the renderer to browser.
  </summary>
</histogram>

<histogram name="RenderViewContextMenu.OpenLinkAsUser" enum="OpenLinkAsUser">
  <owner>jochen@chromium.org</owner>
  <summary>
    State of the profile that is activated via the &quot;Open Link as User&quot;
    menu. Logged when one of the &quot;Open Link as User&quot; context menu
    options is selected.
  </summary>
</histogram>

<histogram name="RenderViewContextMenu.OpenLinkAsUserProfilesState"
    enum="OpenLinkAsUserProfilesState">
  <owner>jochen@chromium.org</owner>
  <summary>
    Whether or not other profiles are active when the &quot;Open Link as
    User&quot; context menu is shown. Logged when the context menu is created.
  </summary>
</histogram>

<histogram name="RenderViewContextMenu.OpenLinkAsUserShown" units="profiles">
  <owner>jochen@chromium.org</owner>
  <summary>
    Count of the profiles shown for the &quot;Open Link as User&quot; context
    menu. Logged when the context menu is created.
  </summary>
</histogram>

<histogram name="RenderViewContextMenu.Shown" enum="RenderViewContextMenuItem">
  <owner>vitalybuka@chromium.org</owner>
  <summary>Count of renderer view context menu items shown.</summary>
</histogram>

<histogram name="RenderViewContextMenu.Used" enum="RenderViewContextMenuItem">
  <owner>vitalybuka@chromium.org</owner>
  <summary>
    Count of renderer view context menu items (Only commands now) used.
  </summary>
</histogram>

<histogram name="RequestAutocomplete.DismissalState"
    enum="AutofillDialogDismissalState">
  <obsolete>
    Deprecated as of 5/5/2016.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    The state of the requestAutocomplete() dialog when it was dismissed.
  </summary>
</histogram>

<histogram name="RequestAutocomplete.InitialUserState"
    enum="AutofillDialogInitialUserState">
  <obsolete>
    Deprecated as of 5/5/2016.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    The initial state of a user that's interacting with a freshly shown
    requestAutocomplete() dialog.
  </summary>
</histogram>

<histogram name="RequestAutocomplete.PopupInDialog"
    enum="AutofillDialogPopupEvent">
  <obsolete>
    Deprecated as of 5/5/2016.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    User interactions with the Autofill popup shown while filling an
    requestAutocomplete() dialog.
  </summary>
</histogram>

<histogram name="RequestAutocomplete.Security" enum="AutofillDialogSecurity">
  <obsolete>
    Deprecated as of 5/5/2016.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the frequency of security warnings and errors in the
    RequestAutocomplete dialog.
  </summary>
</histogram>

<histogram name="RequestAutocomplete.UiDuration" units="ms">
  <obsolete>
    Deprecated as of 5/5/2016.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the duration for which an requestAutocomplete() dialog was shown.
  </summary>
</histogram>

<histogram name="RequestAutocomplete.UiDuration.Cancel" units="ms">
  <obsolete>
    Deprecated as of 5/5/2016.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the duration for which an requestAutocomplete() dialog was shown,
    in cases where the user ended up canceling out of the dialog.
  </summary>
</histogram>

<histogram name="RequestAutocomplete.UiDuration.Submit" units="ms">
  <obsolete>
    Deprecated as of 5/5/2016.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the duration for which an requestAutocomplete() dialog was shown,
    in cases where the user ended up accepting the dialog.
  </summary>
</histogram>

<histogram name="RequestAutocomplete.UiEvents" enum="AutofillDialogUiEvents">
  <obsolete>
    Deprecated as of 5/5/2016.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures how users are interacting with the requestAutocomplete() dialog UI.
  </summary>
</histogram>

<histogram name="RequestAutocomplete.UiLatencyToShow" units="ms">
  <obsolete>
    Deprecated as of 5/5/2016.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the duration of time it takes for the requestAutocomplete() UI to
    be actionable by the user after it is shown.
  </summary>
</histogram>

<histogram name="RequestAutocomplete.WalletErrors" enum="WalletErrors">
  <obsolete>
    Deprecated as of 5/5/2016.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the frequency of errors in communicating with the Google Online
    Wallet server.
  </summary>
</histogram>

<histogram name="RequestAutocomplete.WalletRequiredActions"
    enum="WalletRequiredActions">
  <obsolete>
    Deprecated as of 5/5/2016.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the frequency of required user actions returned by the Google
    Online Wallet server.
  </summary>
</histogram>

<histogram name="Reset.ChromeOS.PowerwashDialogShown"
    enum="PowerwashDialogViewType">
  <owner>merkulova@chromium.org</owner>
  <summary>
    Records the number of times the factory reset dialog was shown. Grouped by
    the viewtype.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.CachePattern"
    enum="HttpCachePattern">
  <owner>alexilin@chromium.org</owner>
  <summary>
    Like HttpCache.Pattern but only for requests made during speculative
    prefetch. Logged per successful request.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.DatabaseReadiness" units="%">
  <owner>alexilin@chromium.org</owner>
  <summary>
    This metric measures the host coverage of the predictor database: On each
    navigation, it records what percentage of the top X history entries are
    found in the predictor DB. Caveats: (1) This metric is only recorded once
    the user has accumulated enough browsing history, implemented as a minimum
    threshold of total page visits by the user. (2) This metric is sampled, so
    it's actually only recorded for 1 out of every K navigations.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.DbStringTooLong">
  <obsolete>
    Deprecated October 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    A boolean that used to indicate a corner case when certain resources are not
    written to the Predictor database becuase their URLs are too long. We
    monitor this number to ensure that we do not discard too many resources.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.HavePredictionsForUrl">
  <obsolete>
    Deprecated 08/2012. Replaced with ResourcePrefetchPredictorNavigationEvent.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    A boolean that indicates if the speculative resource prefetch predictor has
    predictions for a Navigation. This is updated on each navigations and helps
    us determine the coverage of the predictor.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.HavePrefetchResults">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    A boolean that used to indicate a corner case when we may not have prefetch
    results even though prefetching is enabled and predictions are present,
    because another navigation in the same tab canceled the prefetching of the
    previous load.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.HistoryVisitCountForUrl">
  <owner>alexilin@chromium.org</owner>
  <summary>
    The visit count of a URL in the history database, measured when the onload
    fires for the URL. Helpful in figuring out what visit count should be used
    to start learning about a URL.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Host.PredictedPrefetchCount">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    Assuming a fixed number (25 or 50) of URLs could be prefetched max, how many
    would be available for prefetch (after we apply our heuristics for picking
    subresources to prefetch for a navigation).

    This stat is recorded when the predictor uses the host of the main frame url
    as the key for prediction.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Host.PredictedPrefetchFromCache">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    When we have predictions for a navigation, we measure the accuracy of the
    predictions against the actual resources downloaded. This histogram gives
    the distribution of the predictions that were fetched by the page and served
    from the cache restricted to some max predictions (25 or 50).

    This stat is recorded when the predictor uses the host of the main frame url
    as the key for prediction.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Host.PredictedPrefetchFromNetwork">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    When we have predictions for a navigation, we measure the accuracy of the
    predictions against the actual resources downloaded. This histogram gives
    the distribution of the predictions that were fetched by the page and served
    from the network restricted to some max predictions (25 or 50).

    This stat is recorded when the predictor uses the host of the main frame url
    as the key for prediction.
  </summary>
</histogram>

<histogram
    name="ResourcePrefetchPredictor.Host.PredictedPrefetchFromNetworkPercentOfTotalFromNetwork"
    units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    Similar to ResourcePrefetchPredictor.Host.PredictedPrefetchFromNetwork but
    as a percent of the total number of resources the page actually fetched from
    the network. This depcits the major gains that we can get.

    This stat is recorded when the predictor uses the host of the main frame url
    as the key for prediction.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Host.PredictedPrefetchMisses">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    When we have predictions for a navigation, we measure the accuracy of the
    predictions against the actual resources downloaded. This histogram gives
    the distribution of the predictions that were fetched by the page not used
    by the page, restricted to some max predictions (25 or 50).

    This stat is recorded when the predictor uses the host of the main frame url
    as the key for prediction.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Host.PrefetchCancelled" units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on host of main frame URL, the percentage of
    prefetches cancelled as a percentage of the total number of resources that
    the predictor tried to prefetch.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Host.PrefetchFailed" units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on host of main frame URL, the percentage of
    prefetches failed as a percentage of the total number of resources that the
    predictor tried to prefetch.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Host.PrefetchFromCacheNotUsed"
    units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on host of main frame URL, the percentage of
    successful prefetches that came from cache while prefetching but were not
    requested by the page, as a percentage of the total number of resources that
    the predictor tried to prefetch.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Host.PrefetchFromCacheUsedFromCache"
    units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on host of main frame URL, the percentage of
    successful prefetches that came from cache while prefetching and also came
    from the cache when the page requested it, as a percentage of the total
    number of resources that the predictor tried to prefetch.
  </summary>
</histogram>

<histogram
    name="ResourcePrefetchPredictor.Host.PrefetchFromCacheUsedFromNetwork"
    units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on host of main frame URL, the percentage of
    successful prefetches that came from cache while prefetching but came from
    the network when the page requested it, as a percentage of the total number
    of resources that the predictor tried to prefetch.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Host.PrefetchFromNetworkNotUsed"
    units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on host of main frame URL, the percentage of
    successful prefetches that came from network while prefetching but were not
    requested by the page, as a percentage of the total number of resources that
    the predictor tried to prefetch.
  </summary>
</histogram>

<histogram
    name="ResourcePrefetchPredictor.Host.PrefetchFromNetworkUsedFromCache"
    units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on host of main frame URL, the percentage of
    successful prefetches that came from network while prefetching but came from
    the cache when the page requested it, as a percentage of the total number of
    resources that the predictor tried to prefetch.
  </summary>
</histogram>

<histogram
    name="ResourcePrefetchPredictor.Host.PrefetchFromNetworkUsedFromNetwork"
    units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on host of main frame URL, the percentage of
    successful prefetches that came from cache while prefetching and also came
    from the network when the page requested it, as a percentage of the total
    number of resources that the predictor tried to prefetch.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Host.PrefetchNotStarted" units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on host of main frame URL, the percentage of resources
    that were prefetchable but were not prefetched as a percentage of
    prefetchable resources.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.HostTableHostCount">
  <obsolete>
    Deprecated January 2017. This is effectively the same as
    ResourcePrefetchPredictor.HostTableRowCount2 after refactoring of the
    predictor database.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    The count of number of unique hosts in the HostTable, i.e. the number of
    hosts that the database has prediction data for. This data is useful for
    determining the recall/precision as a function of the number of hosts that
    need to be tracked by the database. Measured at startup.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.HostTableRowCount">
  <obsolete>
    Deprecated January 2017. Replaced by
    ResourcePrefetchPredictor.HostTableRowCount2.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    The count of number of rows in the HostTable. This is effecively the number
    of (host, resource URL) pairs in the database. This is measured at startup
    and used to get an estimate of the data size.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.HostTableRowCount2" units="hosts">
  <owner>alexilin@chromium.org</owner>
  <summary>
    The number of rows in the HostTable. This is effectively the number of hosts
    in the database. This is measured at startup and used to get an estimate of
    the data size.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.LearningCount" units="urls">
  <owner>alexilin@chromium.org</owner>
  <summary>
    When the prefetch predictor has resources in the local database for a given
    navigation, the count of predicted urls.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.LearningPrecision" units="%">
  <owner>lizeb@chromium.org</owner>
  <summary>
    When the prefetch predictor has resources in the local database for a given
    navigation, the precision of the predictions, in percentage. This is
    computed as 100 \times \frac{correct predictions}{predictions}.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.LearningRecall" units="%">
  <owner>lizeb@chromium.org</owner>
  <summary>
    When the prefetch predictor has resources in the local database for a given
    navigation, the recall of the predictions, in percentage. This is computed
    as 100 \times \frac{correct predictions}{all prefetchable subresources}.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.MainFrameRequestStats"
    enum="ResourcePrefetchPredictorMainFrameRequestStats">
  <owner>alexilin@chromium.org</owner>
  <summary>
    Records stats about main frame navigations. Records the total number of
    requests/responses/redirects for main frame urls along with the numbers for
    how often the predictor can process such events. This is useful to figure
    out what percentange of requests are handled by the predictor and also for
    sanity checking the other stats.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.NavigationEvent"
    enum="ResourcePrefetchPredictorNavigationEvent">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    Records stats about various interesting events such as - request start,
    response start, redirect, onload, etc during the load of a main frame.
    Essential for understanding the complete life of a navigation request start
    to the onload fire and the events that occur in between.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.NavigationStatus"
    enum="ResourcePrefetchPredictorNavigationStatus">
  <obsolete>
    Deprecated 08/2012. Replaced with ResourcePrefetchPredictorNavigationEvent.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    The status of various navigations from the view point of the 'onload' event.
    Since we measure the prediction accuracy and learn navigation subresources
    on the onload event, it is useful to know how many of the navigations are
    abandoned before 'onload' fires.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.NetworkType"
    enum="ResourcePrefetchPredictorNetworkType">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    Records the number of pages on each type of network after a page is loaded.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.PLT" units="ms">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    Page load time. It starts from when the main frame URL request is sent out
    to when the main frame document load is completed.

    This is recorded for both prefetched and non-prefetched pages.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.PredictedPrefetchCount">
  <obsolete>
    Deprecated 01/2013. Replaced with specific ones for Url and Host.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    Assuming a fixed number of URLs could be prefetched max, how many would be
    available for prefetch (after we apply our heuristics for picking
    subresources to prefetch for a navigation).
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.PredictedPrefetchFromCache">
  <obsolete>
    Deprecated 01/2013. Replaced with specific ones for Url and Host.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    When we have predictions for a navigation, we measure the accuracy of the
    predictions against the actual resources downloaded. This histogram gives
    the distribution of the predictions that were fetched by the page and served
    from the cache restricted to some max predictions.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.PredictedPrefetchFromNetwork">
  <obsolete>
    Deprecated 01/2013. Replaced with specific ones for Url and Host.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    When we have predictions for a navigation, we measure the accuracy of the
    predictions against the actual resources downloaded. This histogram gives
    the distribution of the predictions that were fetched by the page and served
    from the network restricted to some max predictions.
  </summary>
</histogram>

<histogram
    name="ResourcePrefetchPredictor.PredictedPrefetchFromNetworkPercentOfTotalFromNetwork">
  <obsolete>
    Deprecated 01/2013. Replaced with specific ones for Url and Host.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    Similar to ResourcePrefetchPredictor.Predicted.PrefetchFromNetwork but as a
    percent of the total number of resources the page actually fetched from the
    network. This depcits the major gains that we can get.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.PredictedPrefetchMisses">
  <obsolete>
    Deprecated 01/2013. Replaced with specific ones for Url and Host.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    When we have predictions for a navigation, we measure the accuracy of the
    predictions against the actual resources downloaded. This histogram gives
    the distribution of the predictions that were fetched by the page not used
    by the page, restricted to some max predictions.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.PrefetchedCount" units="count">
  <owner>alexilin@chromium.org</owner>
  <summary>
    The count of successfully prefetched subresources for a single page.
    Recorded after all subresource prefetches have reached a terminal
    success/failure state.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.PrefetchedSizeKB" units="KB">
  <owner>alexilin@chromium.org</owner>
  <summary>
    The total amount of data consumed by predictor for a single page. Only
    successfully finished requests taken into account. Recorded after all
    subresource prefetches have reached a terminal success/failure state.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.PrefetchHitsCount.Cached"
    units="count">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Number of resources that were prefetched and requested by a page load, for
    cached requests. Logged after the prefetcher completes.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.PrefetchHitsCount.NotCached"
    units="count">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Number of resources that were prefetched and requested by a page load, for
    non cached requests. Logged after the prefetcher completes.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.PrefetchHitsSizeKB" units="KB">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Amount of useful data fetched from the network for a prefetch request. This
    is the total size of the resources accounted for in
    ResourcePrefetchPredictor.PrefetchHitsCount.NotCached. Logged after the
    prefetcher completes.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.PrefetchingDuration" units="ms">
  <owner>alexilin@chromium.org</owner>
  <summary>
    Amount of time available for prefetching. Specifically, this is a time
    interval between corresponding StartPrefetching() and StopPrefetching()
    calls. This is recorded for both prefetched and non-prefetched pages.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.PrefetchMissesCount.Cached"
    units="count">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Number of resources that were prefetched but not requested by a page load,
    for cached requests. Logged after the prefetcher completes.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.PrefetchMissesCount.NotCached"
    units="count">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Number of resources that were prefetched but not requested by a page load,
    for non cached requests, that is waste. Logged after the prefetcher
    completes.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.PrefetchMissesSizeKB" units="KB">
  <owner>lizeb@chromium.org</owner>
  <summary>
    Amount of wasted data fetched from the network for a prefetch request. This
    is the total size of the resources accounted for in
    ResourcePrefetchPredictor.PrefetchMissesCount.NotCached. Logged after the
    prefetcher completes.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.RedirectStatus"
    enum="ResourcePrefetchPredictorRedirectStatus">
  <owner>alexilin@chromium.org</owner>
  <summary>
    When the prefetch predictor has resources in the local database for a given
    navigation, records stats about whether redirect was predicted correctly or
    incorrectly.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.ReportingEvent"
    enum="ResourcePrefetchPredictorReportingEvent">
  <owner>alexilin@chromium.org</owner>
  <summary>
    Records stats about various interesting events such as - when partial or all
    of history is cleared. It will include events which do not necessarily
    happen during a navigation (which are reported in
    ResourcePrefetchPredictor.NavigationEvent).
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.RequestStats"
    enum="ResourcePrefetchPredictorRequestStats">
  <owner>alexilin@chromium.org</owner>
  <summary>
    Records stats about requests, redirects, and responses observed by the
    ResourcePrefetchPredictorObserver. These stats are useful as a baseline for
    other stats.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.ResourceStatus"
    enum="ResourcePrefetchPredictorResourceStatus">
  <obsolete>
    Deprecated 08/2016 with the removal of the recording code.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    The distribution of the reasons for which subresources are ignored during
    prefetching. This helps us prioritze reasons we should further investigate
    to increase coverage. This is reported as a bit map and every status will be
    a bitwise or of the underlying reasons.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Url.PredictedPrefetchCount">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    Assuming a fixed number of URLs could be prefetched max (25 or 50), how many
    would be available for prefetch (after we apply our heuristics for picking
    subresources to prefetch for a navigation).

    This stat is recorded when the predictor uses the main frame url as the key
    for prediction.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Url.PredictedPrefetchFromCache">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    When we have predictions for a navigation, we measure the accuracy of the
    predictions against the actual resources downloaded. This histogram gives
    the distribution of the predictions that were fetched by the page and served
    from the cache restricted to some max predictions (25 or 50).

    This stat is recorded when the predictor uses the main frame url as the key
    for prediction.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Url.PredictedPrefetchFromNetwork">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    When we have predictions for a navigation, we measure the accuracy of the
    predictions against the actual resources downloaded. This histogram gives
    the distribution of the predictions that were fetched by the page and served
    from the network restricted to some max predictions (25 or 50).

    This stat is recorded when the predictor uses the main frame url as the key
    for prediction.
  </summary>
</histogram>

<histogram
    name="ResourcePrefetchPredictor.Url.PredictedPrefetchFromNetworkPercentOfTotalFromNetwork"
    units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    Similar to ResourcePrefetchPredictor.Url.PredictedPrefetchFromNetwork but as
    a percent of the total number of resources the page actually fetched from
    the network. This depcits the major gains that we can get.

    This stat is recorded when the predictor uses the main frame url as the key
    for prediction.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Url.PredictedPrefetchMisses">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    When we have predictions for a navigation, we measure the accuracy of the
    predictions against the actual resources downloaded. This histogram gives
    the distribution of the predictions that were fetched by the page not used
    by the page, restricted to some max predictions (25 or 50).

    This stat is recorded when the predictor uses the main frame url as the key
    for prediction.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Url.PrefetchCancelled" units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on the main frame URL, the percentage of prefetches
    cancelled as a percentage of the total number of resources that the
    predictor tried to prefetch.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Url.PrefetchFailed" units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on the main frame URL, the percentage of prefetches
    failed as a percentage of the total number of resources that the predictor
    tried to prefetch.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Url.PrefetchFromCacheNotUsed"
    units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on the main frame URL, the percentage of successful
    prefetches that came from cache while prefetching but were not requested by
    the page, as a percentage of the total number of resources that the
    predictor tried to prefetch.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Url.PrefetchFromCacheUsedFromCache"
    units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on the main frame URL, the percentage of successful
    prefetches that came from cache while prefetching and also came from the
    cache when the page requested it, as a percentage of the total number of
    resources that the predictor tried to prefetch.
  </summary>
</histogram>

<histogram
    name="ResourcePrefetchPredictor.Url.PrefetchFromCacheUsedFromNetwork"
    units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on the main frame URL, the percentage of successful
    prefetches that came from cache while prefetching but came from the network
    when the page requested it, as a percentage of the total number of resources
    that the predictor tried to prefetch.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Url.PrefetchFromNetworkNotUsed"
    units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on the main frame URL, the percentage of successful
    prefetches that came from network while prefetching but were not requested
    by the page, as a percentage of the total number of resources that the
    predictor tried to prefetch.
  </summary>
</histogram>

<histogram
    name="ResourcePrefetchPredictor.Url.PrefetchFromNetworkUsedFromCache"
    units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on the main frame URL, the percentage of successful
    prefetches that came from network while prefetching but came from the cache
    when the page requested it, as a percentage of the total number of resources
    that the predictor tried to prefetch.
  </summary>
</histogram>

<histogram
    name="ResourcePrefetchPredictor.Url.PrefetchFromNetworkUsedFromNetwork"
    units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on the main frame URL, the percentage of successful
    prefetches that came from cache while prefetching and also came from the
    network when the page requested it, as a percentage of the total number of
    resources that the predictor tried to prefetch.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.Url.PrefetchNotStarted" units="%">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    For prefetching based on host of main frame URL, the percentage of resources
    that were prefetchable but were not prefetched as a percentage of
    prefetchable resources.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.UrlTableMainFrameUrlCount">
  <obsolete>
    Deprecated September 2016. This is effectively the same as
    ResourcePrefetchPredictor.UrlTableRowCount2 after refactoring of the
    predictor database.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    The count of number of unique main frame urls in the UrlTable, i.e. the
    number of webpages that the database has prediction data for. This data is
    useful for determining the recall/precision as a function of the number of
    webpages that need to be tracked by the database. Measured at startup.
  </summary>
</histogram>

<histogram
    name="ResourcePrefetchPredictor.UrlTableMainFrameUrlsDeletedNotInHistory">
  <obsolete>
    Deprecated October 2012. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    The count of number of unique main frame urls that are deleted from the URL
    table at startup because they are no longer in history. Essential to figure
    out how much data we are loosing out.
  </summary>
</histogram>

<histogram
    name="ResourcePrefetchPredictor.UrlTableMainFrameUrlsDeletedNotInHistoryPercent"
    units="%">
  <obsolete>
    Deprecated October 2012. No longer recorded.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    Same as ResourcePrefetchPredictor.UrlTableMainFrameUrlsDeletedNotInHistory
    but recording percentage of URLs in the table rather than absolute numbers.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.UrlTableRowCount">
  <obsolete>
    Deprecated January 2017. Replaced by
    ResourcePrefetchPredictor.UrlTableRowCount2.
  </obsolete>
  <owner>zhenw@chromium.org</owner>
  <summary>
    The count of number of rows in the UrlTable. This is effecively the number
    of (main frame URL, resource URL) pairs in the database. This is measured at
    startup and used to get an estimate of the data size.
  </summary>
</histogram>

<histogram name="ResourcePrefetchPredictor.UrlTableRowCount2" units="urls">
  <owner>alexilin@chromium.org</owner>
  <summary>
    The number of rows in the UrlTable. This is effectively the number of main
    frame URLs in the database. This is measured at startup and used to get an
    estimate of the data size.
  </summary>
</histogram>

<histogram name="ResourceReporter.BrowserProcess.CpuUsage"
    enum="ResourceReporterCpuUsage">
  <owner>afakhry@chromium.org</owner>
  <summary>
    The cpu usage range reported for the browser process when the chromeos
    device memory pressure (which is the percentage of total memory used by the
    system) is critical. This is emitted only when memory pressure changes from
    a low pressure to a higher pressure.
  </summary>
</histogram>

<histogram name="ResourceReporter.BrowserProcess.MemoryUsage"
    enum="ResourceReporterMemoryUsage">
  <owner>afakhry@chromium.org</owner>
  <summary>
    The system memory usage range reported for the browser process when the
    chromeos device memory pressure (which is the percentage of total memory
    used by the system) is critical. This is emitted only when memory pressure
    changes from a low pressure to a higher pressure.
  </summary>
</histogram>

<histogram name="ResourceReporter.GpuProcess.CpuUsage"
    enum="ResourceReporterCpuUsage">
  <owner>afakhry@chromium.org</owner>
  <summary>
    The cpu usage range reported for the GPU process when the chromeos device
    memory pressure (which is the percentage of total memory used by the system)
    is critical. This is emitted only when memory pressure changes from a low
    pressure to a higher pressure.
  </summary>
</histogram>

<histogram name="ResourceReporter.GpuProcess.MemoryUsage"
    enum="ResourceReporterMemoryUsage">
  <owner>afakhry@chromium.org</owner>
  <summary>
    The system's RAM memory usage range reported for the GPU process when the
    chromeos device memory pressure (which is the percentage of total memory
    used by the system) is critical. This is emitted only when memory pressure
    changes from a low pressure to a higher pressure.
  </summary>
</histogram>

<histogram name="ResourceScheduler.ClientLoadedTime.Active">
  <obsolete>
    Deprecated 1/2016
  </obsolete>
  <owner>aiolos@chromium.org</owner>
  <summary>
    The amount of time between when the ResourceScheduler is informed of a
    Client's creation or starts loading and when that Client finishes loading in
    a Client which has been user-observable the entire time.

    Note: Will not include time for the main resource if PlzNavigate is in use.
  </summary>
</histogram>

<histogram name="ResourceScheduler.ClientLoadedTime.Background">
  <obsolete>
    Deprecated 1/2016
  </obsolete>
  <owner>aiolos@chromium.org</owner>
  <summary>
    The amount of time between when the ResourceScheduler is informed of a
    Client's creation or starts loading and when that Client finishes loading in
    a Client which has been background the entire time.

    Note: Will not include time for the main resource if PlzNavigate is in use.
  </summary>
</histogram>

<histogram name="ResourceScheduler.ClientLoadedTime.Other">
  <obsolete>
    Deprecated 1/2016
  </obsolete>
  <owner>aiolos@chromium.org</owner>
  <summary>
    The amount of time between when the ResourceScheduler is informed of a
    Client's creation or starts loading and when that Client finishes loading in
    a Client which has switched between Active and Background.

    Note: Will not include time for the main resource if PlzNavigate is in use.
  </summary>
</histogram>

<histogram name="ResourceScheduler.ClientLoadedTime.Other.SwitchedToActive">
  <obsolete>
    Deprecated 1/2016
  </obsolete>
  <owner>aiolos@chromium.org</owner>
  <summary>
    The amount of time between the last time that a Client becomes
    user-observable and when that Client finishes loading in a Client that was
    user-observable when the load completed.

    Note: Will not include time for the main resource if PlzNavigate is in use.
  </summary>
</histogram>

<histogram name="ResourceScheduler.NumSkippedScans.ScheduleStart"
    units="requests">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The number of LoadAnyStartablePendingRequests scans that were skipped due to
    smarter task scheduling around reprioritization.
  </summary>
</histogram>

<histogram name="ResourceScheduler.RequestTimeDeferred.Active">
  <obsolete>
    Deprecated 1/2016
  </obsolete>
  <owner>aiolos@chromium.org</owner>
  <summary>
    The amount of time the ResourceScheduler is throttling a request after
    WillStartRequest is called for a request in a client that was
    user-observable at creation and start time.
  </summary>
</histogram>

<histogram name="ResourceScheduler.RequestTimeDeferred.Background">
  <obsolete>
    Deprecated 1/2016
  </obsolete>
  <owner>aiolos@chromium.org</owner>
  <summary>
    The amount of time the ResourceScheduler is throttling a request after
    WillStartRequest is called for a request in a client that was background at
    creation and start time.
  </summary>
</histogram>

<histogram name="ResourceScheduler.RequestTimeDeferred.Other">
  <obsolete>
    Deprecated 1/2016
  </obsolete>
  <owner>aiolos@chromium.org</owner>
  <summary>
    The amount of time the ResourceScheduler is throttling a request after
    WillStartRequest is called on a request without a Client or a request in a
    Client which is in a different state since the request was made. Note that
    this won't capture requests which have switched state an even number of
    times. Switching from Active to Background back to Active will be recorded
    in the Active version of this histogram.
  </summary>
</histogram>

<histogram name="ResourceScheduler.RequestTimeThrottled.Active">
  <obsolete>
    Deprecated 1/2016
  </obsolete>
  <owner>aiolos@chromium.org</owner>
  <summary>
    The amount of time between when the request was created and when the
    ResourceScheduler stops throttling the request in a client that was
    user-observable at creation and start time.
  </summary>
</histogram>

<histogram name="ResourceScheduler.RequestTimeThrottled.Background">
  <obsolete>
    Deprecated 1/2016
  </obsolete>
  <owner>aiolos@chromium.org</owner>
  <summary>
    The amount of time between when the request was created and when the
    ResourceScheduler stops throttling the request in a client that was
    background at creation and start time.
  </summary>
</histogram>

<histogram name="ResourceScheduler.RequestTimeThrottled.Other">
  <obsolete>
    Deprecated 1/2016
  </obsolete>
  <owner>aiolos@chromium.org</owner>
  <summary>
    The amount of time between when the request was created and when the
    ResourceScheduler stops throttling a request without a client or a request
    in a Client which is in a different state since the request was made. Note
    that this won't capture requests which have switched state an even number of
    times. Switching from Active to Background back to Active will be recorded
    in the Active version of this histogram.
  </summary>
</histogram>

<histogram name="SadTab.Created" enum="SadTabKind">
  <obsolete>
    Replaced with Tabs.SadTab.* in R20.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Track number of times we built a sad tab page for a renderer crash or kill.
    The user may not have seen the page if it was not the frontmost tab.
  </summary>
</histogram>

<histogram name="SadTab.Displayed" enum="SadTabKind">
  <obsolete>
    Replaced with Tabs.SadTab.* in R20.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Track number of times the user actually saw a sad tab page for a renderer
    crash or kill.
  </summary>
</histogram>

<histogram name="SafeBrowsing.EnabledSettingChanged" enum="BooleanEnabled">
  <obsolete>
    Not in the code anymore (10/2015).
  </obsolete>
  <owner>feng@chromium.org</owner>
  <summary>
    Records the user action that enables/disables safe browsing feature in the
    Settings page on Android.
  </summary>
</histogram>

<histogram name="SafeBrowsing.FileTypeUpdate.DynamicUpdateResult"
    enum="SBFileTypeUpdateResult">
  <owner>nparker@chromium.org</owner>
  <summary>
    The result of reading/parsing/accepting a new proto for the FileTypePolices
    repo of file extensions and their meta data.

      This is for the file types loaded from the component-update system. This
    includes both those loaded from disk shortly after startup, and those
    received over the network when the component version changes
  </summary>
</histogram>

<histogram name="SafeBrowsing.FileTypeUpdate.DynamicUpdateTypeCount"
    units="number of file types">
  <owner>nparker@chromium.org</owner>
  <summary>
    Number of file types (aka file extensions) present in the FileTypePolicies
    proto loaded.

      This is for the file types loaded from the component-update system. This
    includes both those loaded from disk shortly after startup, and those
    received over the network when the component version changes
  </summary>
</histogram>

<histogram name="SafeBrowsing.FileTypeUpdate.DynamicUpdateVersion"
    units="FileTypePolicies Version">
  <owner>nparker@chromium.org</owner>
  <summary>
    Integer version number citing which version of the proto data chrome just
    loaded.  Latest version is in download_file_types.asciipb.

      This is for the file types loaded from the component-update system. This
    includes both those loaded from disk shortly after startup, and those
    received over the network when the component version changes
  </summary>
</histogram>

<histogram name="SafeBrowsing.FileTypeUpdate.ResourceBundleResult"
    enum="SBFileTypeUpdateResult">
  <owner>nparker@chromium.org</owner>
  <summary>
    The result of reading/parsing/accepting a new proto for the FileTypePolices
    repo of file extensions and their meta data.

      This is for the file types loaded from the resource bundle packaged with
    Chrome, which is always loaded at startup.
  </summary>
</histogram>

<histogram name="SafeBrowsing.FileTypeUpdate.ResourceBundleTypeCount"
    units="number of file types">
  <owner>nparker@chromium.org</owner>
  <summary>
    Number of file types (aka file extensions) present in the FileTypePolicies
    proto loaded.

      This is for the file types loaded from the resource bundle packaged with
    Chrome, which is always loaded at startup.
  </summary>
</histogram>

<histogram name="SafeBrowsing.FileTypeUpdate.ResourceBundleVersion"
    units="FileTypePolicies Version">
  <owner>nparker@chromium.org</owner>
  <summary>
    Integer version number citing which version of the proto data chrome just
    loaded.  Latest version is in download_file_types.asciipb.

      This is for the file types loaded from the resource bundle packaged with
    Chrome, which is always loaded at startup.
  </summary>
</histogram>

<histogram name="SafeBrowsing.GetV4HashHttpResponseOrErrorCode"
    enum="CombinedHttpResponseAndNetErrorCode">
  <obsolete>
    Replaced by SafeBrowsing.V4GetHash.Network.Result.
  </obsolete>
  <owner>kcarattini@google.com</owner>
  <summary>
    Response or error codes from the SafeBrowsing Pver4 service. Logged after a
    GetHash or request finishes to capture the response code or error code for
    that call.
  </summary>
</histogram>

<histogram name="SafeBrowsing.GetV4HashNetwork" units="ms">
  <obsolete>
    Replaced by SafeBrowsing.V4GetHash.Network.Time.
  </obsolete>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    The time that it took to receive a response from the Safe Browsing servers
    for a V4 GetHash request.
  </summary>
</histogram>

<histogram name="SafeBrowsing.GetV4HashResult"
    enum="SafeBrowsingV4OperationResult">
  <obsolete>
    Replaced by SafeBrowsing.V4GetHash.Result.
  </obsolete>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    Track return status from V4 GetHash attempts. The buckets of this histogram
    overlap, so the counts cannot be used as percentages.
  </summary>
</histogram>

<histogram name="SafeBrowsing.ModuleBaseRelocation" units="BaseRelocationType">
  <owner>csharp@chromium.org</owner>
  <owner>krstnmnlsn@chromium.org</owner>
  <summary>
    A windows only historgram. Records when an unknown base relocation type is
    encountered while reading the reloc table of a loaded module.
  </summary>
</histogram>

<histogram name="SafeBrowsing.NavigationObserver.IPAddressCleanUpCount">
  <owner>jialiul@chromium.org</owner>
  <summary>
    Count of how many ResolvedIPAddresses get removed in each periodic clean up.
    This is a rough estimation of the number of IPs associated with main frame
    and sub-frame navigations every two minutes.
  </summary>
</histogram>

<histogram name="SafeBrowsing.NavigationObserver.NavigationEventCleanUpCount">
  <owner>jialiul@chromium.org</owner>
  <summary>
    Count of how many NavigationEvents get removed in each periodic clean up.
    This is a rough estimation of the number of navigations every two minutes.
  </summary>
</histogram>

<histogram name="SafeBrowsing.NotificationImageReporter.NetError"
    enum="NetErrorCodes">
  <owner>nparker@chromium.org</owner>
  <summary>
    The net error code for failed reports sent by NotificationImageReporter, or
    net::OK if successful.
  </summary>
</histogram>

<histogram name="SafeBrowsing.ParseV4HashResult"
    enum="SafeBrowsingParseV4HashResult">
  <obsolete>
    Replaced by SafeBrowsing.V4GetHash.Parse.Result.
  </obsolete>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    Track the parsing results of a status 200 GetV4Hash request.
  </summary>
</histogram>

<histogram name="SafeBrowsing.ParseV4UpdateResult"
    enum="SafeBrowsingParseV4UpdateResult">
  <obsolete>
    Replaced by SafeBrowsing.V4Update.Parse.Result.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the parsing results of a status 200 GetV4Update request.
  </summary>
</histogram>

<histogram name="SafeBrowsing.Pref.Extended" enum="BooleanEnabled">
  <owner>nparker@chromium.org</owner>
  <summary>
    Whether the Safe Browsing extended reporting service is currently enabled.
    Recorded for all non-Incognito profiles on profile startup.
  </summary>
</histogram>

<histogram name="SafeBrowsing.Pref.General" enum="BooleanEnabled">
  <owner>nparker@chromium.org</owner>
  <summary>
    Whether the Safe Browsing service is currently enabled. Recorded for all
    non-Incognito profiles on profile startup.
  </summary>
</histogram>

<histogram name="SafeBrowsing.Pref.SawInterstitial" enum="Boolean">
  <owner>lpz@chromium.org</owner>
  <summary>
    Whether the current user has ever seen a security interstitial. Recorded for
    all non-Incognito profiles on profile startup.
  </summary>
</histogram>

<histogram name="SafeBrowsing.Pref.Scout" enum="NullableBoolean">
  <owner>lpz@chromium.org</owner>
  <summary>
    Tracks the Extended Reporting preference transition. Suffixes track which
    opt-in text users are viewing and the values of each Extended Reporting
    preference. Recorded for all non-Incognito profiles on profile startup.
  </summary>
</histogram>

<histogram name="SafeBrowsing.Pref.Scout.Decision"
    enum="ScoutActiveExtendedReportingPref">
  <owner>lpz@chromium.org</owner>
  <summary>
    Tracks user decisions about the Extended Reporting opt-in on security
    interstitials by comparing the initial and final states of the preference.
    Suffixes specify the type of change that was made. Recorded when a user
    closes a security interstitial or navigates away.
  </summary>
</histogram>

<histogram name="SafeBrowsing.Pref.Scout.SetPref" enum="BooleanEnabled">
  <owner>lpz@chromium.org</owner>
  <summary>
    Tracks the Extended Reporting preference being changed. Suffixes track which
    Extended Reporting preference was changed, and the specific UI that the
    change was made on. Recorded when a user changes the preference on any UI.
  </summary>
</histogram>

<histogram name="SafeBrowsing.Pref.Scout.Transition"
    enum="ScoutTransitionReason">
  <owner>lpz@chromium.org</owner>
  <summary>
    Tracks reasons for the Extended Reporting preference transition, such as a
    user entering an experiment group or seeing a security interstitial for the
    first time. Recorded for all non-Incognito profiles on profile startup.
  </summary>
</histogram>

<histogram name="SafeBrowsing.ReferrerAttributionResult"
    enum="SafeBrowsingAttributionResultTypes">
  <owner>jialiul@chromium.org</owner>
  <summary>
    The result of referrer attribution, including different types of success or
    failure. This is incremented each time a safe browsing ping or download ping
    is generated.
  </summary>
</histogram>

<histogram name="SafeBrowsing.ReferrerHasInvalidTabID" enum="BooleanInvalid">
  <owner>jialiul@chromium.org</owner>
  <summary>
    Number of times referrer attribution encounters an invalid tab ID. This is
    incremented a safe browsing ping or download ping is generated and an
    invalid tab ID is encountered during attribution.
  </summary>
</histogram>

<histogram name="SafeBrowsing.ReferrerURLChainSize">
  <owner>jialiul@chromium.org</owner>
  <summary>
    The length of referrer URL chain we get from referrer attribution. This is
    incremented each time a safe browsing ping or download ping is generated.
  </summary>
</histogram>

<histogram name="SafeBrowsing.ThreatReport.DomIsAmbiguous" enum="Boolean">
  <owner>lpz@chromium.org</owner>
  <summary>
    A threat report contains a DOM hierarchy that is ambiguous. This indicates
    that the parent/child relationship among the elements in the DOM may not be
    accurate.
  </summary>
</histogram>

<histogram name="SafeBrowsing.UnverifiedDownloads.Allowed"
    enum="SBClientDownloadExtensions">
  <owner>asanka@chromium.org</owner>
  <summary>
    File types that were allowed to be downloaded without verifying their
    content nor their source URLs with Safe Browsing.
  </summary>
</histogram>

<histogram name="SafeBrowsing.UnverifiedDownloads.AllowedByWhitelist"
    enum="SBClientDownloadExtensions">
  <owner>asanka@chromium.org</owner>
  <summary>
    File types that were allowed to be downloaded without verifying their
    content nor their source URLs with Safe Browsing due to the requestor URL
    being on the Safe Browsing whitelist. Each sample recorded on this histogram
    is also recorded in SafeBrowsing.UnverifiedDownloads.Allowed.
  </summary>
</histogram>

<histogram name="SafeBrowsing.UnverifiedDownloads.AllowedDueToDisabledService"
    enum="SBClientDownloadExtensions">
  <owner>asanka@chromium.org</owner>
  <summary>
    File types that were allowed to be downloaded without verifying their
    content nor their source URLs with Safe Browsing due to the SafeBrowsing
    service being disabled. Each sample recorded on this histogram is also
    recorded in SafeBrowsing.UnverifiedDownloads.Allowed.
  </summary>
</histogram>

<histogram name="SafeBrowsing.UnverifiedDownloads.AlternateExtensionCount">
  <owner>asanka@chromium.org</owner>
  <summary>
    Count of alternate extensions that were supplied when attempting to download
    a file without verifying their content nor their source URLs with Safe
    Browsing.
  </summary>
</histogram>

<histogram name="SafeBrowsing.UnverifiedDownloads.Blocked"
    enum="SBClientDownloadExtensions">
  <owner>asanka@chromium.org</owner>
  <summary>
    File types that were blocked from downloaded without verifying their content
    nor their source URLs with Safe Browsing.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4AddUnlumpedHashes.Time" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to copy the SafeBrowsing list update as a string,
    into a map which contains the hash prefixes that are looked up when a client
    queries for the reputation of a resource (URL, full hash, etc.).
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4AddUnlumpedHashesTime" units="ms">
  <obsolete>
    Replaced by SafeBrowsing.V4AddUnlumpedHashes.Time.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to copy the SafeBrowsing list update as a string,
    into a map which contains the hash prefixes that are looked up when a client
    queries for the reputation of a resource (URL, full hash, etc.).
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ApplyUpdateResult"
    enum="SafeBrowsingV4ApplyUpdateResult">
  <obsolete>
    Replaced by SafeBrowsing.V4*.ApplyUpdate.Result.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the result of applying the update fetched from the PVer4 service for a
    particular store.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ApplyUpdateResultWhenReadingFromDisk"
    enum="SafeBrowsingV4ApplyUpdateResult">
  <obsolete>
    Replaced by SafeBrowsing.V4ReadFromDisk.ApplyUpdate.Result.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the result of applying an update read from disk after parsing it
    successfully as a protobuf.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4Database.Size" units="KB">
  <owner>vakh@chromium.org</owner>
  <summary>
    The size of the SafeBrowsing database or file on disk in kilobytes, after
    reading it from disk on startup and after a database update has occurred.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4DatabaseOpen.Time" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    The time it takes to parse and load the SafeBrowsing database from disk, in
    milliseconds.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4DecodeAdditionsResult"
    enum="SafeBrowsingV4DecodeResult">
  <obsolete>
    Replaced by SafeBrowsing.V4*.DecodeAdditions.Result.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the result of decoding the Rice-encoded list of additions of 4-byte
    hash prefixes. This is logged once per store, per update containing
    Rice-encoded additions.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4DecodeAdditionsTime" units="ms">
  <obsolete>
    Replaced by SafeBrowsing.V4*.DecodeAdditions.Time.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to decode the Rice-encoded additions to the
    blacklist into raw format.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4DecodeRemovalsResult"
    enum="SafeBrowsingV4DecodeResult">
  <obsolete>
    Replaced by SafeBrowsing.V4ProcessPartialUpdate.DecodeRemovals.Result.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the result of decoding the Rice-encoded list of indexes of hash
    prefixes to remove since the last update. This is logged once per store, per
    update containing Rice-encoded removals.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4DecodeRemovalsTime" units="ms">
  <obsolete>
    Replaced by SafeBrowsing.V4ProcessPartialUpdate.DecodeRemovals.Time.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to decode the Rice-encoded removals from the
    blacklist into raw format.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4FullHashCacheResult"
    enum="SafeBrowsingV4FullHashCacheResult">
  <obsolete>
    Replaced by SafeBrowsing.V4GetHash.CacheHit.Result.
  </obsolete>
  <owner>kcarattini@chromium.org</owner>
  <owner>vakh@chromium.org</owner>
  <summary>Track cache hits for V4 full hashes.</summary>
</histogram>

<histogram name="SafeBrowsing.V4GetHash.CacheHit.Result"
    enum="SafeBrowsingV4FullHashCacheResult">
  <owner>kcarattini@chromium.org</owner>
  <owner>vakh@chromium.org</owner>
  <summary>Track cache hits for V4 full hashes.</summary>
</histogram>

<histogram name="SafeBrowsing.V4GetHash.Check.Result"
    enum="SafeBrowsingV4GetHashCheckResult">
  <owner>kcarattini@chromium.org</owner>
  <owner>vakh@chromium.org</owner>
  <summary>Track get hash response hits for V4 full hash requests.</summary>
</histogram>

<histogram name="SafeBrowsing.V4GetHash.Network.Result"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>kcarattini@google.com</owner>
  <owner>vakh@google.com</owner>
  <summary>
    Response or error codes from the SafeBrowsing Pver4 service. Logged after a
    GetHash or request finishes to capture the response code or error code for
    that call.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4GetHash.Network.Time" units="ms">
  <owner>kcarattini@chromium.org</owner>
  <owner>vakh@chromium.org</owner>
  <summary>
    The time that it took to receive a response from the Google SafeBrowsing
    servers for a full hash request.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4GetHash.Parse.Result"
    enum="SafeBrowsingParseV4HashResult">
  <owner>kcarattini@chromium.org</owner>
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the parsing results of a status 200 GetV4Hash request.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4GetHash.Result"
    enum="SafeBrowsingV4OperationResult">
  <owner>kcarattini@chromium.org</owner>
  <owner>vakh@chromium.org</owner>
  <summary>
    Track return status from V4 GetHash attempts. The buckets of this histogram
    overlap, so the counts cannot be used as percentages.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4GetHashCheckResult"
    enum="SafeBrowsingV4GetHashCheckResult">
  <obsolete>
    Replaced by SafeBrowsing.V4GetHash.Check.Result.
  </obsolete>
  <owner>kcarattini@chromium.org</owner>
  <owner>vakh@chromium.org</owner>
  <summary>Track get hash response hits for V4 full hash requests.</summary>
</histogram>

<histogram name="SafeBrowsing.V4GetHashNetwork.Time" units="ms">
  <obsolete>
    Replaced by SafeBrowsing.V4GetHash.Network.Time.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    The time that it took to receive a response from the Google SafeBrowsing
    servers for a full hash request.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4GetPrefixMatches.Time" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    The time that it took to check a URL against our in-memory database. It is
    dominated by the time to perform checks for CheckBrowseUrl.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4MergeUpdateTime" units="ms">
  <obsolete>
    Replaced by SafeBrowsing.V4*.MergeUpdate.Time.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to merge the existing state of the list with the
    update. The update may have been received from the server, or it may have
    just been read from disk.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ProcessFullUpdate.ApplyUpdate.Result"
    enum="SafeBrowsingV4ApplyUpdateResult">
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the result of applying a full update for a store received from PVer4
    SafeBrowsing service.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ProcessFullUpdate.ApplyUpdate.Time" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to process a SafeBrowsing list full update. It
    includes V4AddUnlumpedHashes.Time for each prefix-sized list, and
    V4ProcessFullUpdate.MergeUpdate.Time. Additionally, if the update is
    Rice-encoded, it includes V4ProcessFullUpdate.DecodeAdditions.Time for each
    prefix-sized list that's Rice-encoded.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ProcessFullUpdate.DecodeAdditions.Result"
    enum="SafeBrowsingV4DecodeResult">
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the result of decoding the Rice-encoded list of additions of 4-byte
    hash prefixes. This is logged once per store, per update containing
    Rice-encoded additions. This histogram is specific to processing full
    updates received from the server.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ProcessFullUpdate.DecodeAdditions.Time"
    units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to decode the Rice-encoded additions to the
    blacklist into raw format when applying a full update to a store.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ProcessFullUpdate.MergeUpdate.Time" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to merge the existing state of the list with a
    full update received from the server.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ProcessFullUpdateTime" units="ms">
  <obsolete>
    Replaced by SafeBrowsing.V4ProcessFullUpdate.ApplyUpdate.Time.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to process a SafeBrowsing list full update. It
    includes V4AddUnlumpedHashesTime for each prefix-sized list, and
    V4MergeUpdateTime. Additionally, if the update is Rice-encoded, it includes
    V4DecodeAdditionsTime for each prefix-sized list that's Rice-encoded.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ProcessPartialUpdate.ApplyUpdate.Result"
    enum="SafeBrowsingV4ApplyUpdateResult">
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the result of applying a partial update for a store received from
    PVer4 SafeBrowsing service.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ProcessPartialUpdate.ApplyUpdate.Time"
    units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to process a SafeBrowsing list partial update. It
    includes V4AddUnlumpedHashes.Time for each prefix-sized list, and
    SafeBrowsing.V4ProcessPartialUpdate.MergeUpdate.Time. Additionally, if the
    update is Rice-encoded, it includes
    V4ProcessPartialUpdate.DecodeRemovals.Time, and
    V4ProcessPartialUpdate.DecodeAdditions.Time for each prefix-sized list
    that's Rice-encoded.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ProcessPartialUpdate.DecodeAdditions.Result"
    enum="SafeBrowsingV4DecodeResult">
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the result of decoding the Rice-encoded list of additions of 4-byte
    hash prefixes. This is logged once per store, per update containing
    Rice-encoded additions. This histogram is specific to processing partial
    updates received from the server.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ProcessPartialUpdate.DecodeAdditions.Time"
    units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to decode the Rice-encoded additions to the
    blacklist into raw format when applying a partial update to a store.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ProcessPartialUpdate.DecodeRemovals.Result"
    enum="SafeBrowsingV4DecodeResult">
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the result of decoding the Rice-encoded list of indexes of hash
    prefixes to remove since the last update. This is logged once per store, per
    update containing Rice-encoded removals.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ProcessPartialUpdate.DecodeRemovals.Time"
    units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to decode the Rice-encoded removals from the
    blacklist into raw format when applying a partial update to a store.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ProcessPartialUpdate.MergeUpdate.Time"
    units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to merge the existing state of the list with a
    partial update received from the server.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ProcessPartialUpdateTime" units="ms">
  <obsolete>
    Replaced by SafeBrowsing.V4ProcessPartialUpdate.ApplyUpdate.Time.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to process a SafeBrowsing list partial update. It
    includes V4AddUnlumpedHashesTime for each prefix-sized list, and
    V4MergeUpdateTime. Additionally, if the update is Rice-encoded, it includes
    V4DecodeRemovalsTime, and V4DecodeAdditionsTime for each prefix-sized list
    that's Rice-encoded.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ReadFromDisk.ApplyUpdate.Result"
    enum="SafeBrowsingV4ApplyUpdateResult">
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the result of applying an ListUpdateResponse read from disk after
    parsing it successfully as a protobuf.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ReadFromDisk.ApplyUpdate.Time" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to read, parse, and process a SafeBrowsing list
    stored on disk. This happens at Chromium start-up. It includes
    V4AddUnlumpedHashes.Time for each prefix-sized list, and
    SafeBrowsing.V4ReadFromDisk.MergeUpdate.Time. Additionally, if the file is
    Rice-encoded, it includes V4ReadFromDisk.DecodeAdditions.Time for each
    prefix-sized list that's Rice-encoded.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ReadFromDisk.DecodeAdditions.Result"
    enum="SafeBrowsingV4DecodeResult">
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the result of decoding the Rice-encoded list of additions of 4-byte
    hash prefixes. This is logged once per store, per Chrome launch. It is
    specific to processing V4StoreFileFormat proto read from disk.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ReadFromDisk.DecodeAdditions.Time" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to decode the Rice-encoded additions to the
    blacklist into raw format when reading a store file from disk.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ReadFromDisk.MergeUpdate.Time" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to perform in-memory copy of the map of raw hash
    prefixes read from disk.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4ReadFromDiskTime" units="ms">
  <obsolete>
    Replaced by SafeBrowsing.V4ReadFromDisk.ApplyUpdate.Time.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Records the time it takes to read, parse, and process a SafeBrowsing list
    stored on disk. This happens at Chromium start-up. It includes
    V4AddUnlumpedHashesTime for each prefix-sized list, and V4MergeUpdateTime.
    Additionally, if the file is Rice-encoded, it includes V4DecodeAdditionsTime
    for each prefix-sized list that's Rice-encoded.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4StoreRead.Result"
    enum="SafeBrowsingV4StoreReadResult">
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the parsing results of reading the SafeBrowsing V4 store file from
    disk. Recorded every time a store is read from disk.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4StoreReadResult"
    enum="SafeBrowsingV4StoreReadResult">
  <obsolete>
    Replaced by SafeBrowsing.V4StoreRead.Result.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the parsing results of reading the SafeBrowsing V4 store file from
    disk. Recorded every time a store is read from disk.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4StoreVersionRead" units="version number">
  <owner>vakh@chromium.org</owner>
  <summary>
    Version of V4Store read from a store file. This would be useful in tracking
    the usage and rollout of new V4Store versions.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4StoreWrite.Result"
    enum="SafeBrowsingV4StoreWriteResult">
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the results of writing the SafeBrowsing V4 store file to disk.
    Recorded every time a store is written to disk.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4StoreWriteResult"
    enum="SafeBrowsingV4StoreWriteResult">
  <obsolete>
    Replaced by SafeBrowsing.V4StoreWrite.Result.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the results of writing the SafeBrowsing V4 store file to disk.
    Recorded every time a store is written to disk.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4Update.Network.Result"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>vakh@chromium.org</owner>
  <summary>
    Response or error codes when fetching updates from the SafeBrowsing PVer4
    service.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4Update.Parse.Result"
    enum="SafeBrowsingParseV4UpdateResult">
  <owner>vakh@chromium.org</owner>
  <summary>
    Track the parsing results of a status 200 GetV4Update request.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4Update.ResponseSizeKB" units="KB">
  <owner>vakh@chromium.org</owner>
  <summary>
    The size of the response sent by the SafeBrowsing PVer4 service, in KB.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4Update.Result"
    enum="SafeBrowsingV4OperationResult">
  <owner>vakh@chromium.org</owner>
  <summary>
    Track return status from V4 update attempts. The buckets of this histogram
    overlap, so the counts cannot be used as percentages.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4Update.TimedOut" enum="BooleanTimedOut">
  <owner>vakh@chromium.org</owner>
  <summary>True if a PVer4 update request timed out.</summary>
</histogram>

<histogram name="SafeBrowsing.V4UpdateHttpResponseOrErrorCode"
    enum="CombinedHttpResponseAndNetErrorCode">
  <obsolete>
    Replaced by SafeBrowsing.V4Update.Network.Result.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Response or error codes when fetching updates from the SafeBrowsing PVer4
    service.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4UpdateResponseSizeKB" units="KB">
  <obsolete>
    Replaced by SafeBrowsing.V4Update.ResponseSizeKB.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    The size of the response sent by the SafeBrowsing PVer4 service, in KB.
  </summary>
</histogram>

<histogram name="SafeBrowsing.V4UpdateResult"
    enum="SafeBrowsingV4OperationResult">
  <obsolete>
    Replaced by SafeBrowsing.V4Update.Result.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Track return status from V4 update attempts. The buckets of this histogram
    overlap, so the counts cannot be used as percentages.
  </summary>
</histogram>

<histogram name="SB.BloomFilter" units="ms">
  <obsolete>
    Has not been generated for years (7/8/14).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The first stage check that measures the time that Chrome took to check if a
    URL is present in our in-memory bloom filter.
  </summary>
</histogram>

<histogram name="SB.BuildBloom">
  <obsolete>
    Deprecated 9/2012. No longer generated.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>TBD.</summary>
</histogram>

<histogram name="SB.Database" units="ms">
  <obsolete>
    Has not been generated for years (7/8/14).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The second stage check that measures the time that Chrome took to check if a
    URL is present in our SQLite database.
  </summary>
</histogram>

<histogram name="SB.DBCheck" units="ms">
  <obsolete>
    Has not been generated for years (7/8/14).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The second stage check that mesures the time that Chrome took to check if a
    URL is present in our SQLite database. This time includes the filter check
    time.
  </summary>
</histogram>

<histogram name="SB.Delay" units="ms">
  <obsolete>
    Has not been generated for years (7/8/14).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    This measures the time that SafeBrowsing actually delayed the browsing
    experience. It records the difference between the time when Chrome would
    have started reading the response for a URL and when the SafeBrowsing system
    completed its check of that URL.
  </summary>
</histogram>

<histogram name="SB.FilterCheck" units="ms">
  <obsolete>
    Has not been generated for years (7/8/14).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The first stage check that measures the time that Chrome took to check if a
    URL is present in our in-memory hash table.
  </summary>
</histogram>

<histogram name="SB.Network" units="ms">
  <obsolete>
    Has not been generated for years (7/8/14).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The third and final stage check that mesures the time that Chrome took to
    get a response from the Google SafeBrowsing servers for a particular URL.
  </summary>
</histogram>

<histogram name="SB.NetworkCheck" units="ms">
  <obsolete>
    Has not been generated for years (7/8/14).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The third and final stage check that mesures the time that Chrome took to
    get a response from the Google SafeBrowsing servers for a particular URL.
    This time includes the filter and database check time.
  </summary>
</histogram>

<histogram name="SB.PauseSafe" units="ms">
  <obsolete>
    Has not been generated for years (7/8/14).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    This measures the time that SafeBrowsing actually delayed the browsing
    experience. It records the difference between the time when Chrome would
    have started reading the response for a URL and when the SafeBrowsing system
    completed its check of that URL.
  </summary>
</histogram>

<histogram name="SB.Update">
  <obsolete>
    Has not been generated for years (7/8/14).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>TBD.</summary>
</histogram>

<histogram name="SB2.AddPrefixes">
  <owner>vakh@chromium.org</owner>
  <summary>
    The number of add prefixes stored in the database after the last update.
  </summary>
</histogram>

<histogram name="SB2.BloomFailure" enum="SB2BloomFailure">
  <obsolete>
    Bloom filter support deleted in October 2012.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Track failures when in processing the safe-browsing database bloom filter.
  </summary>
</histogram>

<histogram name="SB2.BloomFilterFalsePositives"
    enum="SB2BloomFilterFalsePositives">
  <obsolete>
    This became misleading around M-22 (September 2012), deleted in M-32
    (November 2013).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    All prefix misses (server returned no full hashes) and prefix misses due to
    false positives in the bloom filter.
  </summary>
</histogram>

<histogram name="SB2.BloomFilterLoad" units="ms">
  <obsolete>
    Bloom filter support deleted in October 2012.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Time to load the BloomFilter file.</summary>
</histogram>

<histogram name="SB2.BrowseDatabaseKilobytes" units="KB">
  <obsolete>
    Deprecated 12/2014. Moved to SB2.DatabaseSizeKilobytes.Browse.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    The size of the browsing SafeBrowsing database file on disk in kilobytes,
    after an update has occurred.
  </summary>
</histogram>

<histogram name="SB2.BuildFilter" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    The time that it took to regenerate the filter after we have received all
    the update chunks.
  </summary>
</histogram>

<histogram name="SB2.BuildReadBytes" units="bytes">
  <obsolete>
    Deprecated because it was exceeding the range.  Replaced by
    SB2.BuildReadKilobytes.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of bytes read by the browser process during the bloom filter
    generation phase.
  </summary>
</histogram>

<histogram name="SB2.BuildReadKilobytes" units="KB">
  <owner>vakh@chromium.org</owner>
  <summary>
    The number of kilobytes read by the browser process during the filter
    generation phase.
  </summary>
</histogram>

<histogram name="SB2.BuildReadOperations">
  <owner>vakh@chromium.org</owner>
  <summary>
    The number of read operations issued by the browser process during the
    filter generation phase.
  </summary>
</histogram>

<histogram name="SB2.BuildWriteBytes" units="bytes">
  <obsolete>
    Deprecated because it was exceeding the range.  Replaced by
    SB2.BuildWriteKilobytes.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of bytes written by the browser process during the bloom filter
    generation phase.
  </summary>
</histogram>

<histogram name="SB2.BuildWriteKilobytes" units="KB">
  <owner>vakh@chromium.org</owner>
  <summary>
    The number of kilobytes written by the browser process during the filter
    generation phase.
  </summary>
</histogram>

<histogram name="SB2.BuildWriteOperations">
  <owner>vakh@chromium.org</owner>
  <summary>
    The number of write operations issued by the browser process during the
    filter generation phase.
  </summary>
</histogram>

<histogram name="SB2.ChunkInsert" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    The time that it takes to write one redirect URL (which can contain multiple
    chunks) to the database.
  </summary>
</histogram>

<histogram name="SB2.ChunkRequest" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    The network time between the request and response for a chunk.
  </summary>
</histogram>

<histogram name="SB2.ChunkSize" units="bytes">
  <owner>vakh@chromium.org</owner>
  <summary>The size of one chunk URL.</summary>
</histogram>

<histogram name="SB2.DatabaseBytes" units="bytes">
  <obsolete>
    Deprecated because it was exceeding the range.  Replaced by
    SB2.DatabaseKilobytes.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The size of the SafeBrowsing database file on disk.</summary>
</histogram>

<histogram name="SB2.DatabaseFailure" enum="SB2DatabaseFailure">
  <owner>vakh@chromium.org</owner>
  <summary>Track failures when updating the safe-browsing database.</summary>
</histogram>

<histogram name="SB2.DatabaseKilobytes" units="KB">
  <obsolete>
    Replaced by SB2.BrowseDatabaseKilobytes.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    The size of the SafeBrowsing database file on disk in kilobytes.
  </summary>
</histogram>

<histogram name="SB2.DatabaseOpen" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    The time it takes to initialize the SafeBrowsing storage backend, in
    milliseconds.
  </summary>
</histogram>

<histogram name="SB2.DatabaseSizeKilobytes" units="KB">
  <owner>gab@chromium.org</owner>
  <summary>
    The size of one of the SafeBrowsing database file on disk in kilobytes,
    after a database update has occurred (once a few minutes after startup, and
    every thirty minutes or so thereafter).
  </summary>
</histogram>

<histogram name="SB2.DatabaseUpdateKilobytes" units="KB">
  <owner>vakh@chromium.org</owner>
  <summary>
    The size of the update file before merging with the database file, in
    kilobytes.
  </summary>
</histogram>

<histogram name="SB2.Delay" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    The time that SafeBrowsing actually delayed the browsing experience. It
    records the difference between the time when Chrome would have started
    reading the response for a URL and when the SafeBrowsing system completed
    its check of that URL.
  </summary>
</histogram>

<histogram name="SB2.DownloadBinhashAddsDeleted">
  <obsolete>
    Deleted in M-34 (February 2014).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Obsolete download BINHASH add chunks deleted.</summary>
</histogram>

<histogram name="SB2.DownloadBinhashSubsDeleted">
  <obsolete>
    Deleted in M-34 (February 2014).
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Obsolete download BINHASH sub chunks deleted.</summary>
</histogram>

<histogram name="SB2.DownloadChecks" enum="SB2DownloadChecks">
  <owner>vakh@chromium.org</owner>
  <summary>
    Records results of SafeBrowsing download check, including both url check and
    downloaded file hash check.
  </summary>
</histogram>

<histogram name="SB2.DownloadDatabaseKilobytes" units="KB">
  <obsolete>
    Deprecated 12/2014. Moved to SB2.DatabaseSizeKilobytes.Download.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    The size of the downloads SafeBrowsing database file on disk in kilobytes,
    after an update has occurred.
  </summary>
</histogram>

<histogram name="SB2.DownloadDuration" units="ms">
  <obsolete>
    Deprecated 01/2017. Was measuring the lifetime of a network request
    corresponding to a download, which may or may not correspond to the total
    duration of a download.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>The time it takes for a download to finish.</summary>
</histogram>

<histogram name="SB2.DownloadHashCheckDuration" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    The time it takes for SafeBrowsing to check hash of a download file.
  </summary>
</histogram>

<histogram name="SB2.DownloadUrlCheckDuration" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>The time it takes for SafeBrowsing to check a download url.</summary>
</histogram>

<histogram name="SB2.DownloadUrlChecks" enum="SB2DownloadChecks">
  <obsolete>
    Deprecated 3/11/11, and replaced by SB2.DownloadChecks.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Records results of SafeBrowsing download url check.</summary>
</histogram>

<histogram name="SB2.ExtendedReportingIsEnabled" enum="BooleanEnabled">
  <obsolete>
    Deprecated 03/2015. Replaced by
    SecurityInterstitialInteraction::EXTENDED_REPORTING_IS_ENABLED.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    Whether the user has Safe Browsing extended reporting enabled at the time a
    Safe Browsing warning was dismissed.  This tracks the fraction of all SB
    interstitials that had reporting enabled.
  </summary>
</histogram>

<histogram name="SB2.FailedUpdate">
  <obsolete>
    Deprecated, replaced by SB2.DatabaseFailure BROWSE_DB_UPDATE_FINISH.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of the number of times an update failed when being committed to
    the database.
  </summary>
</histogram>

<histogram name="SB2.FilterCheck" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    The time that it took to check a URL against our in-memory filter.
  </summary>
</histogram>

<histogram name="SB2.FilterKilobytes" units="KB">
  <obsolete>
    Deprecated 9/2012. No longer generated.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The size of the current bloom filter in kilobytes.</summary>
</histogram>

<histogram name="SB2.FilterLoad" enum="SB2FilterLoad">
  <owner>vakh@chromium.org</owner>
  <summary>Which filter file the database loaded from disk.</summary>
</histogram>

<histogram name="SB2.FilterMissing">
  <obsolete>
    Deprecated, replaced by SB2.DatabaseFailure FILTER_MISSING.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of the number of times we attempted to load the bloom filter file
    but it was missing.
  </summary>
</histogram>

<histogram name="SB2.FilterReadFail">
  <obsolete>
    Deprecated, replaced by SB2.DatabaseFailure FILTER_READ.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of the number of times we attempted to load the bloom filter file
    but failed while reading the file on disk.
  </summary>
</histogram>

<histogram name="SB2.FilterSize" units="bytes">
  <obsolete>
    Deprecated because it was exceeding the range.  Replaced by
    SB2.FilterKilobytes.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The size of the current bloom filter.</summary>
</histogram>

<histogram name="SB2.FilterWriteFail">
  <obsolete>
    Deprecated, replaced by SB2.DatabaseFailure FILTER_WRITE.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of the number of times we attempted to save the bloom filter file
    but failed while writing the file to disk.
  </summary>
</histogram>

<histogram name="SB2.FormatEvent" enum="SB2FormatEvent">
  <owner>vakh@chromium.org</owner>
  <summary>
    Collection of boolean events for SafeBrowsingFileStore instances.  Includes
    corruptions detected, old versions detected, and various failures detected.
  </summary>
</histogram>

<histogram name="SB2.GetChunkResponseOrErrorCode"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>vakh@google.com</owner>
  <summary>
    Response or error codes from the SafeBrowsing service. Logged after a
    GetChunk request finishes to capture the response code or error code for
    that call. Split out from SB2.GetHashErrorResponseOrErrorCode in M49.
  </summary>
</histogram>

<histogram name="SB2.GetHash200">
  <obsolete>
    Deprecated in favor of SB2.GetHashResult STATUS_200.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of GetHash requests that returned data (valid requests).
  </summary>
</histogram>

<histogram name="SB2.GetHash204">
  <obsolete>
    Deprecated in favor of SB2.GetHashResult STATUS_204.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of GetHash requests that returned empty data (false positives).
  </summary>
</histogram>

<histogram name="SB2.GetHashResponseOrErrorCode"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>vakh@google.com</owner>
  <summary>
    Response or error codes from the SafeBrowsing service. Logged after a
    GetHash request finishes to capture the response code or error code for that
    call. Split out from SB2.GetHashErrorResponseOrErrorCode in M49.
  </summary>
</histogram>

<histogram name="SB2.GetHashResult" enum="SB2GetHashResult">
  <owner>mattm@chromium.org</owner>
  <summary>
    Track return status from GetHash attempts (STATUS_200, STATUS_204,
    NETWORK_ERROR, HTTP_ERROR, BACKOFF_ERROR), whether parsing a 200 result
    failed (PARSE_ERROR), and dispensation of returned values (EMPTY, HIT,
    MISS).  EMPTY means the response had no full hashes, and should contain all
    of the 204 responses plus all *_ERROR cases.  HIT means that one of the full
    hashes matched. MISS means that none of the hashes matched (there was a
    prefix collision). (PARSE_ERROR, NETWORK_ERROR, HTTP_ERROR, and
    BACKOFF_ERROR were added in M36.)
  </summary>
</histogram>

<histogram name="SB2.GetHashResultDownload" enum="SB2GetHashResult">
  <owner>mattm@chromium.org</owner>
  <summary>
    Track return status from GetHash attempts (STATUS_200, STATUS_204,
    NETWORK_ERROR, HTTP_ERROR, BACKOFF_ERROR), whether parsing a 200 result
    failed (PARSE_ERROR), and dispensation of returned values (EMPTY, HIT,
    MISS).  EMPTY means the response had no full hashes, and should contain all
    of the 204 responses plus all *_ERROR cases.  HIT means that one of the full
    hashes matched. MISS means that none of the hashes matched (there was a
    prefix collision). (PARSE_ERROR, NETWORK_ERROR, HTTP_ERROR, and
    BACKOFF_ERROR were added in M36.)
  </summary>
</histogram>

<histogram name="SB2.GetHashServerMiss">
  <obsolete>
    Deprecated in favor of SB2.GetHashResult FULL_HASH_* and
    SB2.BloomFilterFalsePositives.  It is unclear if this histogram ever
    reported useful data.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of GetHash requests returning full hashes that didn't match the
    URL that initiated the request.
  </summary>
</histogram>

<histogram name="SB2.HandleCorrupt">
  <obsolete>
    Deprecated, replaced by SB2.DatabaseFailure CORRUPT.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The count of the number of times a database was found corrupt and reset.
  </summary>
</histogram>

<histogram name="SB2.InterstitialAction" enum="SB2InterstitialAction">
  <obsolete>
    Deprecated, replaced by: interstitial.malware.* and interstitial.phishing.*.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    Track number of times Safe Browsing interstitials have been shown, and how
    many times they have been clicked through or not.
  </summary>
</histogram>

<histogram name="SB2.InterstitialActionDetails"
    enum="SB2InterstitialActionDetails">
  <obsolete>
    Deprecated, replaced by: interstitial.malware.* and interstitial.phishing.*.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    Tracks the click-through rate for specific cases of the interstitial.
  </summary>
</histogram>

<histogram name="SB2.MalwareInterstitialTimeClosed" units="ms">
  <obsolete>
    Deprecated 9/2014.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The time between when we show the SafeBrowsing malware interstitial and the
    user navigating away by for example, closing the tab, clicking the browser
    back button or typing another URL in the address bar.
  </summary>
</histogram>

<histogram name="SB2.MalwareInterstitialTimeDiagnostic" units="ms">
  <obsolete>
    Deprecated 9/2014.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The time between when we show the SafeBrowsing malware interstitial and the
    user clicking on diagnostic page link.
  </summary>
</histogram>

<histogram name="SB2.MalwareInterstitialTimeExpandedSeeMore" units="ms">
  <obsolete>
    Deprecated 9/2014.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The time between when we show the SafeBrowsing malware interstitial and the
    user expanding the &quot;see more info&quot; section of the page.  (Only
    applies to field trial version 2 of the interstitial.)
  </summary>
</histogram>

<histogram name="SB2.MalwareInterstitialTimeLearnMore" units="ms">
  <obsolete>
    Deprecated 9/2014.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The time between when we show the SafeBrowsing malware interstitial and the
    user clicking on the learn more about malware link.
  </summary>
</histogram>

<histogram name="SB2.MalwareInterstitialTimePrivacyPolicy" units="ms">
  <obsolete>
    Deprecated 9/2014.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The time between when we show the SafeBrowsing malware interstitial and the
    user clicking on the privacy policy link.
  </summary>
</histogram>

<histogram name="SB2.MalwareInterstitialTimeProceed" units="ms">
  <obsolete>
    Deprecated 9/2014.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The time between when we show the SafeBrowsing malware interstitial and the
    user clicking on the proceed link.
  </summary>
</histogram>

<histogram name="SB2.MalwareInterstitialTimeTakeMeBack" units="ms">
  <obsolete>
    Deprecated 9/2014.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    The time between when we show the SafeBrowsing malware interstitial and the
    user clicking on the big green back button.
  </summary>
</histogram>

<histogram name="SB2.Network" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    The time that it took to receive a response from the Google SafeBrowsing
    servers for a GetHash request.
  </summary>
</histogram>

<histogram name="SB2.OldDatabaseKilobytes" units="KB">
  <obsolete>
    Deprecated 7/2014. No longer generated.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>Size of v1 database deleted from client profile.</summary>
</histogram>

<histogram name="SB2.OutShardShifts">
  <owner>vakh@chromium.org</owner>
  <summary>
    Indicates how sharded safe-browsing on-disk stores are.  Values like 0 to 4
    are reasonable.
  </summary>
</histogram>

<histogram name="SB2.PhishingInterstitialTimeClosed" units="ms">
  <owner>felt@chromium.org</owner>
  <summary>
    The time between when we show the SafeBrowsing phishing interstitial and the
    user navigating away by for example, closing the tab, clicking the browser
    back button or typing another URL in the address bar.
  </summary>
</histogram>

<histogram name="SB2.PhishingInterstitialTimeExpandedSeeMore" units="ms">
  <owner>felt@chromium.org</owner>
  <summary>
    The time between when we show the SafeBrowsing phishing interstitial and the
    user expanding the &quot;see more info&quot; section of the page.  (Only
    applies to field trial version 2 of the interstitial.)
  </summary>
</histogram>

<histogram name="SB2.PhishingInterstitialTimeLearnMore" units="ms">
  <owner>felt@chromium.org</owner>
  <summary>
    The time between when we show the SafeBrowsing phishing interstitial and the
    user clicking on the learn more link.
  </summary>
</histogram>

<histogram name="SB2.PhishingInterstitialTimeProceed" units="ms">
  <owner>felt@chromium.org</owner>
  <summary>
    The time between when we show the SafeBrowsing phishing interstitial and the
    user clicking on the proceed link.
  </summary>
</histogram>

<histogram name="SB2.PhishingInterstitialTimeReportError" units="ms">
  <owner>felt@chromium.org</owner>
  <summary>
    The time between when we show the SafeBrowsing phishing interstitial and the
    user clicking on the report error link.
  </summary>
</histogram>

<histogram name="SB2.PhishingInterstitialTimeTakeMeBack" units="ms">
  <owner>felt@chromium.org</owner>
  <summary>
    The time between when we show the SafeBrowsing phishing interstitial and the
    user clicking on the big green back button.
  </summary>
</histogram>

<histogram name="SB2.PrefixSetBitsPerPrefix" units="bits">
  <owner>vakh@chromium.org</owner>
  <summary>
    The size of the PrefixSet storage in bits, divided by the number of prefixes
    represented.  Should almost always be 16.
  </summary>
</histogram>

<histogram name="SB2.PrefixSetEvent" enum="SB2PrefixSetEvent">
  <obsolete>
    Deprecated 9/2012. No longer generated, BloomFilter being removed.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Records how well the PrefixSet implementation matches the BloomFilter
    implementation.
  </summary>
</histogram>

<histogram name="SB2.PrefixSetKilobytes" units="KB">
  <obsolete>
    Deprecated 01/2014. Replaced by suffixed SB2.PrefixSetSizeKilobytes.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>The size of one of the PrefixSet files in kilobytes.</summary>
</histogram>

<histogram name="SB2.PrefixSetLoad" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>Time to load one of the PrefixSet files.</summary>
</histogram>

<histogram name="SB2.PrefixSetRestoredExcess">
  <obsolete>
    Deprecated 9/2012. No longer generated.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For debugging PrefixSet.  How many extra results GetPrefixes returns.
  </summary>
</histogram>

<histogram name="SB2.PrefixSetRestoredShortfall">
  <obsolete>
    Deprecated 9/2012. No longer generated.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For debugging PrefixSet.  How many fewer results GetPrefixes returns.
  </summary>
</histogram>

<histogram name="SB2.PrefixSetSizeKilobytes" units="KB">
  <owner>vakh@chromium.org</owner>
  <summary>
    The size of one of the PrefixSet files in kilobytes. Logged after a database
    update has occurred and the PrefixSet has been flushed to disk (once a few
    minutes after startup, and every thirty minutes or so thereafter).
  </summary>
</histogram>

<histogram name="SB2.PrefixSetUnsortedDelta">
  <obsolete>
    Deprecated 9/2012. No longer generated.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For debugging PrefixSet.  How far unsorted deltas are from expected value.
  </summary>
</histogram>

<histogram name="SB2.PrefixSetUnsortedDifference">
  <obsolete>
    Deprecated 9/2012. No longer generated.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For debugging PrefixSet.  Distance of unsorted elements from expected
    location.
  </summary>
</histogram>

<histogram name="SB2.PrefixSetUnsortedPercent" units="%">
  <obsolete>
    Deprecated 9/2012. No longer generated.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For debugging PrefixSet.  How far into the results unsorted elements were
    found.  Interesting values would be 0%, 50%, or 100%.
  </summary>
</histogram>

<histogram name="SB2.PrefixSetUnsortedSize">
  <obsolete>
    Deprecated 9/2012. No longer generated.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    For debugging PrefixSet.  Size of unsorted sets.  To see if there is a
    problem with a particular size of dataset.
  </summary>
</histogram>

<histogram name="SB2.PrefixSetVersionRead">
  <owner>vakh@chromium.org</owner>
  <summary>Version read from one of the PrefixSet files.</summary>
</histogram>

<histogram name="SB2.PrefixSetWrite" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>Time to store one of the PrefixSet files.</summary>
</histogram>

<histogram name="SB2.RemoteCall.CanCheckUrl" enum="BooleanCanCheckUrl">
  <owner>nparker@chromium.org</owner>
  <summary>
    Count of how many URLs were actually checked vs skipped via
    RemoteSafeBrowsingDatabaseManager because the scheme is not supported by
    Safe Browsing. Incremented each time a resource load is initiated.
  </summary>
</histogram>

<histogram name="SB2.RemoteCall.ChecksPending" units="calls">
  <owner>nparker@chromium.org</owner>
  <summary>
    Number of outstanding calls for URLs getting classified through
    RemoteSafeBrowsingDatabaseManager.  The size of the queue is logged before
    initiating each request.
  </summary>
</histogram>

<histogram name="SB2.RemoteCall.Elapsed" units="ms">
  <owner>nparker@chromium.org</owner>
  <summary>
    Latency of URL-classification API calls from Chrome via
    RemoteSafeBrowsingDatabaseManager, logged per-request. This includes the
    time to go through JNI, check the URL, and return the result and includes
    several thread hops betwetween IO and UI threads. The resource-load will not
    necessarily be delayed this much (see SB2.Delay for that).
  </summary>
</histogram>

<histogram name="SB2.RemoteCall.Result" enum="SB2RemoteCallResult">
  <owner>nparker@chromium.org</owner>
  <summary>
    Result of URL-classification API calls from Chrome via
    RemoteSafeBrowsingApiHandler.  Logged after each URL is judged
    safe/not-safe, or hits a deadline.
  </summary>
</histogram>

<histogram name="SB2.RemoteCall.ThreatSubType.PotentiallyHarmfulApp"
    enum="SB2RemoteCallThreatSubType">
  <owner>nparker@chromium.org</owner>
  <summary>
    The threat sub-type annotated  for URLs classified as PHA via remote calls
    through RemoteSafeBrowsingApiHandler. &quot;PHA&quot; classifications
    generate &quot;malware&quot; interstitials.
  </summary>
</histogram>

<histogram name="SB2.RemoteCall.ThreatSubType.SocialEngineering"
    enum="SB2RemoteCallThreatSubType">
  <owner>nparker@chromium.org</owner>
  <summary>
    The threat sub-type annotated returned for URLs classified as social
    engineering via remote calls through RemoteSafeBrowsingApiHandler.
    &quot;Social engineering&quot; classifications generate &quot;phishing&quot;
    interstitials.
  </summary>
</histogram>

<histogram name="SB2.ReportingIsEnabled" enum="BooleanEnabled">
  <obsolete>
    Deprecated 06/2014.  Replaced by SB2.ExtendedReportingIsEnabled.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Whether the user has Safe Browsing extended reporting enabled at the time a
    Safe Browsing warning was dismissed.  This tracks the fraction of all SB
    interstitials that had reporting enabled.
  </summary>
</histogram>

<histogram name="SB2.ResourceTypes" enum="ContentResourceType">
  <obsolete>
    Superseded by SB2.ResourceTypes2 in December 2015.
  </obsolete>
  <owner>nparker@chromium.org</owner>
  <summary>
    Resource types of resources that were inspected by Safe Browsing in the
    SafeBrowsingResourceThrottle.
  </summary>
</histogram>

<histogram name="SB2.ResourceTypes2" enum="ContentResourceType2">
  <owner>nparker@chromium.org</owner>
  <summary>
    Resource types of resources that were inspected by Safe Browsing in the
    SafeBrowsingResourceThrottle.
  </summary>
</histogram>

<histogram name="SB2.SetExtendedReportingEnabled" enum="BooleanEnabled">
  <obsolete>
    Deprecated 03/2015. Replaced by
    SecurityInterstitialInteraction::SET_EXTENDED_REPORTING_ENABLED.
  </obsolete>
  <owner>felt@chromium.org</owner>
  <summary>
    Tracks changes to the Safe Browsing extended reporting opt-in which is shown
    in the Safe Browsing interstitial.
  </summary>
</histogram>

<histogram name="SB2.SetReportingEnabled" enum="BooleanEnabled">
  <obsolete>
    Deprecated 06/2014.  Replaced by SB2.SetExtendedReportingEnabled.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Tracks changes to the Safe Browsing extended reporting opt-in which is shown
    in the Safe Browsing interstitial.
  </summary>
</histogram>

<histogram name="SB2.SideEffectFreePrefixSetWrite" units="ms">
  <obsolete>
    Deprecated 12/2014. Merged into SB2.PrefixSetWrite.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Time to store the Side Effect Free Whitelist PrefixSet file. Note: this
    histogram was intended to be stored as
    SB2.SideEffectFreeWhitelistPrefixSetWrite but was actually reported as
    SB2.SideEffectFreePrefixSetWrite from its inception to its deprecation...
  </summary>
</histogram>

<histogram name="SB2.SideEffectFreeWhitelistDatabaseKilobytes" units="KB">
  <obsolete>
    Deprecated 12/2014. Moved to
    SB2.DatabaseSizeKilobytes.SideEffectFreeWhitelist.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    The size of the Side Effect Free Whitelist SaafeBrowsing database file on
    disk in kilobytes, after an update has occurred.
  </summary>
</histogram>

<histogram name="SB2.SideEffectFreeWhitelistPrefixSetKilobytes" units="KB">
  <obsolete>
    Deprecated 12/2014. Moved to
    SB2.PrefixSetSizeKilobytes.SideEffectFreeWhitelist.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    The size of the Side Effect Free Whitelist PrefixSet file in kilobytes,
    after an udpate has occurred.
  </summary>
</histogram>

<histogram name="SB2.SideEffectFreeWhitelistPrefixSetLoad" units="ms">
  <obsolete>
    Deprecated 12/2014. Merged into SB2.PrefixSetLoad.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>Time to load the Side Effect Free Whitelist PrefixSet file.</summary>
</histogram>

<histogram name="SB2.SideEffectFreeWhitelistStatus"
    enum="SB2SideEffectFreeWhitelistStatus">
  <obsolete>
    Deprecated 4/2015.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>The instantiation status of the SideEffectFreeWhitelist.</summary>
</histogram>

<histogram name="SB2.StoreVersionRead">
  <owner>vakh@chromium.org</owner>
  <summary>Version read from the store file.</summary>
</histogram>

<histogram name="SB2.SubPrefixes">
  <owner>vakh@chromium.org</owner>
  <summary>
    The number of sub prefixes stored in the database after the last update.
  </summary>
</histogram>

<histogram name="SB2.Update" units="ms">
  <owner>vakh@chromium.org</owner>
  <summary>
    The time from the receipt of the update request to the receipt of the final
    update chunk.
  </summary>
</histogram>

<histogram name="SB2.UpdateRequestSize" units="bytes">
  <owner>vakh@chromium.org</owner>
  <summary>The payload size of update requests to the server.</summary>
</histogram>

<histogram name="SB2.UpdateResult" enum="SB2UpdateResult">
  <owner>vakh@chromium.org</owner>
  <summary>Result from trying to update the SafeBrowsing data.</summary>
</histogram>

<histogram name="SB2.UpdateSize" units="bytes">
  <owner>vakh@chromium.org</owner>
  <summary>The size of all the chunk URLs in an update response.</summary>
</histogram>

<histogram name="SB2.UpdateSizeBackground" units="bytes">
  <obsolete>
    Was used for an experiment in late 2014.
  </obsolete>
  <owner>nparker@chromium.org</owner>
  <summary>
    The size of all the chunk URLs in an update response when Chrome is in the
    background.
  </summary>
</histogram>

<histogram name="SB2.UpdateSizeForeground" units="bytes">
  <obsolete>
    Was used for an experiment in late 2014.
  </obsolete>
  <owner>nparker@chromium.org</owner>
  <summary>
    The size of all the chunk URLs in an update response when Chrome is in the
    foreground.
  </summary>
</histogram>

<histogram name="SB2.UpdateUrls">
  <owner>vakh@chromium.org</owner>
  <summary>The number of chunk URLs in an update response.</summary>
</histogram>

<histogram name="SB2.VolunteerPrefixesRemoved">
  <obsolete>
    The operation this is tracking has been deleted as of 09/2014.
  </obsolete>
  <owner>vakh@chromium.org</owner>
  <summary>
    Older versions of the safe-browsing code incorrectly added additional
    SBPrefix items when receiving full hashes.  This caused errors when
    calculating when to send gethash requests to the server.  An additional pass
    over the data has been added to remove the excess prefixes.  This histogram
    tracks progress of that code for purposes of informing a decision on when to
    remove the additional pass.  See http://crbug.com/361248 .
  </summary>
</histogram>

<histogram name="SBClientDownload.ArchivedArchiveExtensions"
    enum="SBClientDownloadExtensions">
  <owner>asanka@chromium.org</owner>
  <summary>
    Records a histogram of archive file types that were found while examining a
    downloaded ZIP file. Each archive file type in a single ZIP file is recorded
    at most once. The relative incidence rate of each filetype in this histogram
    should indicate the probability of finding that file type in a ZIP file
    given that that ZIP file contains an archive file.
  </summary>
</histogram>

<histogram name="SBClientDownload.CheckDownloadStats"
    enum="SBClientDownloadCheckDownloadStats">
  <owner>mattm@chromium.org</owner>
  <summary>
    Records a histogram of the reason why downloads are marked as being
    malicious or clean by the improved SafeBrowsing binary download protection.
    Note that UNSUPPORTED_URL_SCHEME was split out of the INVALID_URL bucket in
    M41. The NOT_BINARY_FILE check was moved before the UNSUPPORTED_URL_SCHEME
    check in M42.
  </summary>
</histogram>

<histogram name="SBClientDownload.CheckWhitelistResult"
    enum="WhitelistedDownloadType">
  <owner>jialiul@chromium.org</owner>
  <summary>
    For each download supported by the SafeBrowsing download protection service,
    records if it matches a certain whitelist (e.g. matches URL whitelist,
    matches signature whitelist, or does not match any whitelists).
  </summary>
</histogram>

<histogram name="SBClientDownload.DmgFileFailureByType"
    enum="SBClientDownloadExtensions">
  <owner>nparker@chromium.org</owner>
  <summary>
    Counts of DMG-like file types that failed to be successfully analyzed by the
    SafeBrowsing download service.
  </summary>
</histogram>

<histogram name="SBClientDownload.DmgFileHasExecutable" enum="Boolean">
  <obsolete>
    Replaced by SBClientDownload.DmgFileHas[No]ExecutableByType in M51.
  </obsolete>
  <owner>rsesek@chromium.org</owner>
  <summary>
    For each DMG file analyzed by the SafeBrowsing download service, records if
    the DMG contained an executable file.
  </summary>
</histogram>

<histogram name="SBClientDownload.DmgFileHasExecutableByType"
    enum="SBClientDownloadExtensions">
  <owner>nparker@chromium.org</owner>
  <summary>
    Counts of DMG-like file types which were analyzed by the SafeBrowsing
    download service that contained an executable file.
  </summary>
</histogram>

<histogram name="SBClientDownload.DmgFileHasNoExecutableByType"
    enum="SBClientDownloadExtensions">
  <owner>nparker@chromium.org</owner>
  <summary>
    Counts of DMG-like file types which were analyzed by the SafeBrowsing
    download service that did NOT contain an executable file.
  </summary>
</histogram>

<histogram name="SBClientDownload.DmgFileSuccess" enum="BooleanSuccess">
  <obsolete>
    Replaced by SBClientDownload.DmgFile{Success,Failure}ByType in M51.
  </obsolete>
  <owner>rsesek@chromium.org</owner>
  <summary>
    For each DMG file analyzed by the SafeBrowsing download service, records
    true if the analysis was successful, or false if there was an error
    analyzing the file.
  </summary>
</histogram>

<histogram name="SBClientDownload.DmgFileSuccessByType"
    enum="SBClientDownloadExtensions">
  <owner>nparker@chromium.org</owner>
  <summary>
    Counts of DMG-like file types that were successfully analyzed by the
    SafeBrowsing download service.
  </summary>
</histogram>

<histogram name="SBClientDownload.DownloadExtensions"
    enum="SBClientDownloadExtensions">
  <owner>mattm@chromium.org</owner>
  <summary>
    Records a histogram of how often users download a file with a file extension
    that is possibly dangerous (e.g., exe, class).
  </summary>
</histogram>

<histogram name="SBClientDownload.DownloadRequestDuration" units="ms">
  <owner>mattm@chromium.org</owner>
  <summary>
    Records the total time it takes for the SafeBrowsing download service to
    check whether the content of a download is malicious or not, including file
    feature extraction, whitelist checking, and server ping. This histogram only
    includes checks that sent a ping to the SafeBrowsing server. It does not
    include requests that were cancelled, but does include requests that
    received a bad response.
  </summary>
</histogram>

<histogram name="SBClientDownload.DownloadRequestNetError" enum="NetErrorCodes">
  <owner>mattm@chromium.org</owner>
  <summary>
    The net error code for all CheckClientDownloadRequest URLFetchers.
  </summary>
</histogram>

<histogram name="SBClientDownload.DownloadRequestNetworkDuration" units="ms">
  <owner>mattm@chromium.org</owner>
  <summary>
    Records the time it takes for the SafeBrowsing download service ping. It is
    not recorded for requests that were cancelled.
  </summary>
</histogram>

<histogram name="SBClientDownload.DownloadRequestNetworkStats"
    enum="SBClientDownloadCheckDownloadStats">
  <owner>mattm@chromium.org</owner>
  <summary>
    Records the results of SafeBrowsing binary download checks which caused a
    server ping.
  </summary>
</histogram>

<histogram name="SBClientDownload.DownloadRequestPayloadSize" units="bytes">
  <owner>mattm@chromium.org</owner>
  <summary>
    The size of the upload data for CheckClientDownloadRequest URLFetchers.
  </summary>
</histogram>

<histogram name="SBClientDownload.DownloadRequestResponseCode"
    enum="HttpResponseCode">
  <owner>mattm@chromium.org</owner>
  <summary>
    For CheckClientDownloadRequest URLFetchers with successful status, the HTTP
    response code that was received.
  </summary>
</histogram>

<histogram name="SBClientDownload.DownloadRequestTimeoutDuration" units="ms">
  <owner>mattm@chromium.org</owner>
  <summary>
    Records the portion of the SafeBrowsing download service check starting with
    the point CheckClientDownloadRequest::StartTimeout() is called. It is
    recorded regardless if a ping was sent or not. It is not recorded for
    requests that were cancelled.
  </summary>
</histogram>

<histogram name="SBClientDownload.DownloadRequestTimeoutStats"
    enum="SBClientDownloadCheckDownloadStats">
  <owner>mattm@chromium.org</owner>
  <summary>
    For SafeBrowsing binary download checks which reached the
    CheckClientDownloadRequest::StartTimeout() call, records the final result
    (once the check finishes or is cancelled).
  </summary>
</histogram>

<histogram name="SBClientDownload.ExtractDmgFeaturesTime" units="ms">
  <owner>rsesek@chromium.org</owner>
  <summary>
    Records the time it takes for the SafeBrowsing download service to extract
    info from a downloaded DMG file.
  </summary>
</histogram>

<histogram name="SBClientDownload.ExtractImageHeadersTime" units="ms">
  <owner>grt@chromium.org</owner>
  <summary>
    Records the time it takes for the SafeBrowsing download service to extract
    image headers from a downloaded binary.
  </summary>
</histogram>

<histogram name="SBClientDownload.ExtractSignatureFeaturesTime" units="ms">
  <owner>mattm@chromium.org</owner>
  <summary>
    Records the time it takes for the SafeBrowsing download service to extract
    signature info from a downloaded binary. This includes both unsigned and
    signed binaries.
  </summary>
</histogram>

<histogram name="SBClientDownload.ExtractZipFeaturesTime" units="ms">
  <owner>mattm@chromium.org</owner>
  <summary>
    Records the time it takes for the SafeBrowsing download service to extract
    info from a downloaded zip file.
  </summary>
</histogram>

<histogram name="SBClientDownload.PPAPIDownloadRequest.RequestDuration"
    units="ms">
  <owner>asanka@chromium.org</owner>
  <summary>Time taken to complete a PPAPIDownloadRequest.</summary>
</histogram>

<histogram name="SBClientDownload.PPAPIDownloadRequest.RequestOutcome"
    enum="SBClientDownloadPPAPIDownloadRequestOutcome">
  <owner>asanka@chromium.org</owner>
  <summary>
    Outcome of running CheckPPAPIDownloadRequest. Most failure modes cause an
    UNKNOWN result to be returned to the caller. If the attempt succeeds, the
    result returned to the caller is based on the SafeBrowsing resopnse. The
    final result returned is counted in
    SBClientDownload.PPAPIDownloadRequest.Result.
  </summary>
</histogram>

<histogram name="SBClientDownload.PPAPIDownloadRequest.Result"
    enum="SBClientDownloadCheckResult">
  <owner>asanka@chromium.org</owner>
  <summary>Result returned to the caller of CheckPPAPIDownloadRequest.</summary>
</histogram>

<histogram name="SBClientDownload.SignedBinaryDownload"
    enum="SBClientDownloadIsSignedBinary">
  <owner>mattm@chromium.org</owner>
  <summary>
    Records the number of signed vs. unsigned executables that are downloaded.
  </summary>
</histogram>

<histogram name="SBClientDownload.SignedOrWhitelistedDownload">
  <obsolete>
    Deprecated in Chrome 50. Replaced by
    SBClientDownload.CheckWhitelistResult.*.
  </obsolete>
  <owner>mattm@chromium.org</owner>
  <summary>
    Counter which is incremented whenever an executable is downloaded which is
    either signed or whose URL matches the download whitelist.
  </summary>
</histogram>

<histogram name="SBClientDownload.UnsupportedScheme"
    enum="SBClientDownloadExtensions">
  <owner>jialiul@chromium.org</owner>
  <summary>
    Records how often different file extensions are downloaded with schemes that
    aren't supported by Safe Browsing (e.g. ftp, gopher, content, cid, etc).
  </summary>
</histogram>

<histogram name="SBClientDownload.ZipFileHasArchiveButNoExecutable"
    enum="Boolean">
  <owner>mattm@chromium.org</owner>
  <summary>
    For each zip file analyzed by the SafeBrowsing download service, records
    true if the zip did not contain any executables but did contain another zip
    file, false otherwise.
  </summary>
</histogram>

<histogram name="SBClientDownload.ZipFileHasExecutable" enum="Boolean">
  <owner>mattm@chromium.org</owner>
  <summary>
    For each zip file analyzed by the SafeBrowsing download service, records if
    the zip contained an executable file.
  </summary>
</histogram>

<histogram name="SBClientDownload.ZipFileSuccess" enum="BooleanSuccess">
  <owner>nparker@chromium.org</owner>
  <summary>
    For each zip file analyzed by the SafeBrowsing download service, records if
    the unpacking was 100% successful.
  </summary>
</histogram>

<histogram name="SBClientMalware.ClassificationStart" enum="BooleanHit">
  <owner>noelutz@chromium.org</owner>
  <summary>
    The number of pages that we could have possibly classified (essentially the
    number of top page navigations by users with SBClientMalware enabled). The
    name is slightly misleading as it is recorded before
    &quot;Preclassification&quot; happens.
  </summary>
</histogram>

<histogram name="SBClientMalware.IPBlacklistRequestNetError"
    enum="NetErrorCodes">
  <owner>noelutz@chromium.org</owner>
  <summary>
    The net error code for all ClientMalwareRequest URLFetchers.
  </summary>
</histogram>

<histogram name="SBClientMalware.IPBlacklistRequestPayloadSize" units="bytes">
  <owner>noelutz@chromium.org</owner>
  <summary>
    The size of the upload data for ClientMalwareRequest URLFetchers.
  </summary>
</histogram>

<histogram name="SBClientMalware.IPBlacklistRequestResponseCode"
    enum="HttpResponseCode">
  <owner>noelutz@chromium.org</owner>
  <summary>
    For ClientMalwareRequest URLFetchers with successful status, the HTTP
    response code that was received.
  </summary>
</histogram>

<histogram name="SBClientMalware.PreClassificationCheckFail"
    enum="SBClientDetectionPreClassificationCheckFail">
  <owner>noelutz@chromium.org</owner>
  <summary>
    Records the number of malware classifications that were skipped because a
    pre-classification check failed.
  </summary>
</histogram>

<histogram name="SBClientMalware.ResourceUrlMatchedBadIp"
    enum="BooleanMatchedBadIp">
  <owner>jialiul@chromium.org</owner>
  <summary>
    True if at least one resource url matched the malware IP list. Recorded when
    client side malware feature extraction is done.
  </summary>
</histogram>

<histogram name="SBClientMalware.SentReports" enum="SBClientMalwareSentReports">
  <owner>noelutz@chromium.org</owner>
  <summary>
    Measures the success rate of sending malware reports.  Sending a report can
    fail due to a client reaching the limit on the number of reports it can send
    per day or due to the report failing to be serialized.
  </summary>
</histogram>

<histogram name="SBClientMalware.ServerDeterminesMalware"
    enum="BooleanIsMalware">
  <owner>jialiul@chromium.org</owner>
  <summary>The counts for malware verdicts given by server side model.</summary>
</histogram>

<histogram name="SBClientMalware.UnexpectedPageId" enum="BooleanHit">
  <obsolete>
    Deprecated 03/2014.  That part of the code got deleted.
  </obsolete>
  <owner>noelutz@chromium.org</owner>
  <summary>
    Counts the number of times the page ID that completed the page load does not
    match the browse info page ID.  We expect that number to be zero.
  </summary>
</histogram>

<histogram name="SBClientPhishing.CancelClassificationReason"
    enum="SBClientPhishingCancelClassificationReason">
  <owner>nparker@chromium.org</owner>
  <summary>
    The counts for various reasons why an in-progress phishing classification
    was canceled.
  </summary>
</histogram>

<histogram name="SBClientPhishing.CheckNoPendingClassificationFailed">
  <obsolete>
    Removed in M47.
  </obsolete>
  <owner>noelutz@chromium.org</owner>
  <summary>
    The number of times client-side phishing classifier expected to have no
    pending classifications running but that check failed.
  </summary>
</histogram>

<histogram name="SBClientPhishing.ClassificationStart" enum="BooleanHit">
  <owner>noelutz@chromium.org</owner>
  <summary>
    The number of pages that we could have possibly classified (essentially the
    number of top page navigations by users with SBClientPhishing enabled). The
    name is slightly misleading as it is recorded before
    &quot;Preclassification&quot; happens.
  </summary>
</histogram>

<histogram name="SBClientPhishing.ClientDeterminesPhishing"
    enum="BooleanIsPhishing">
  <owner>jialiul@chromium.org</owner>
  <summary>
    The counts for phishing verdicts given by client side model.
  </summary>
</histogram>

<histogram name="SBClientPhishing.ClientModelDownloadResponseOrErrorCode"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>vakh@google.com</owner>
  <summary>
    Response or error codes from the SafeBrowsing service. Logged after a
    request for the client side model finishes to capture the response code or
    the error code for that HTTP request.
  </summary>
</histogram>

<histogram name="SBClientPhishing.ClientModelStatus"
    enum="SBClientPhishingClientModelStatus">
  <owner>nparker@chromium.org</owner>
  <summary>
    The counts for various model status codes that we get after loading a new
    client-side phishing model.
  </summary>
</histogram>

<histogram name="SBClientPhishing.DOMFeatureChunkTime" units="ms">
  <owner>gab@chromium.org</owner>
  <summary>
    The time that an individual chunk of DOM feature extraction work took.
  </summary>
</histogram>

<histogram name="SBClientPhishing.DOMFeatureFrameRemoved">
  <owner>gab@chromium.org</owner>
  <summary>
    The number of times that DOM feature extraction finished early because the
    active WebDocument's frame was removed during traversal.
  </summary>
</histogram>

<histogram name="SBClientPhishing.DOMFeatureIterations">
  <owner>gab@chromium.org</owner>
  <summary>
    The number of iterations that the DOM feature extractor took to finish.
  </summary>
</histogram>

<histogram name="SBClientPhishing.DOMFeatureResumeTime" units="ms">
  <owner>gab@chromium.org</owner>
  <summary>
    The time that it took to resume DOM feature extraction for the phishing
    classifier.  Longer times may indicate that the page DOM changed between
    chunks of work and the extractor had to re-traverse up to the saved
    position.
  </summary>
</histogram>

<histogram name="SBClientPhishing.DOMFeatureTimeout">
  <owner>gab@chromium.org</owner>
  <summary>
    The number of phishing classifications that were aborted because DOM feature
    extraction took too long.
  </summary>
</histogram>

<histogram name="SBClientPhishing.DOMFeatureTotalTime" units="ms">
  <owner>gab@chromium.org</owner>
  <summary>
    The time that the DOM feature extarctor took to finish, summed across all
    chunks of work.
  </summary>
</histogram>

<histogram name="SBClientPhishing.GrabPhishingThumbnail" units="ms">
  <obsolete>
    Removed in M47
  </obsolete>
  <owner>noelutz@chromium.org</owner>
  <summary>Time spent generating the thumbnail.</summary>
</histogram>

<histogram name="SBClientPhishing.IllegalFeatureValue">
  <owner>nparker@chromium.org</owner>
  <summary>
    The number of features which were omitted from phishing classification
    because they were added with an illegal value.  This would indicate a bug.
  </summary>
</histogram>

<histogram name="SBClientPhishing.InitPrivateNetworksFailed">
  <obsolete>
    Deprecated in Chrome 37, which now uses //net's internal matching.
  </obsolete>
  <owner>mattm@chromium.org</owner>
  <summary>
    The number of times that the phishing detection service could not be
    initialized due to an error parsing the private IP networks.  This would
    indicate a bug.
  </summary>
</histogram>

<histogram name="SBClientPhishing.InvalidWhitelistExpression">
  <obsolete>
    Deprecated 12/2011.  Whitelist entries are no longer part of
    ClientPhishingResponse.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of whitelist_expression entries in a ClientPhishingResponse that
    could not be canonicalized.
  </summary>
</histogram>

<histogram name="SBClientPhishing.PreClassificationCheckFail"
    enum="SBClientDetectionPreClassificationCheckFail">
  <owner>noelutz@chromium.org</owner>
  <summary>
    Records the number of phishing classifications that were skipped because a
    pre-classification check failed.
  </summary>
</histogram>

<histogram name="SBClientPhishing.ReportLimitSkipped" enum="BooleanHit">
  <owner>noelutz@chromium.org</owner>
  <summary>
    The number of phishing classifications that were previously cached as being
    phishing but that will get re-classified (to possibly fix false positives).
  </summary>
</histogram>

<histogram name="SBClientPhishing.RequestNotSerialized">
  <owner>noelutz@chromium.org</owner>
  <summary>
    The number of phishing classifier pingbacks that were skipped because
    serializing the request protocol buffer to string failed.
  </summary>
</histogram>

<histogram name="SBClientPhishing.RequestSatisfiedFromCache" enum="BooleanHit">
  <owner>noelutz@chromium.org</owner>
  <summary>
    The number of times that a cached phishing classification result was used,
    rather than pinging the server.
  </summary>
</histogram>

<histogram name="SBClientPhishing.ScorerCreationStatus"
    enum="SBClientPhishingScorerCreationStatus">
  <owner>noelutz@chromium.org</owner>
  <summary>
    Records the status when we create a scorer object for the client-side
    phishing detection classifier.
  </summary>
</histogram>

<histogram name="SBClientPhishing.ServerDeterminesPhishing"
    enum="BooleanIsPhishing">
  <owner>jialiul@chromium.org</owner>
  <summary>
    The counts for phishing verdicts given by server side model.
  </summary>
</histogram>

<histogram name="SBClientPhishing.SkipClassificationReason"
    enum="SBClientPhishingSkipClassificationReason">
  <owner>jialiul@chromium.org</owner>
  <summary>
    The counts for various reasons why a phishing classification is skipped.
  </summary>
</histogram>

<histogram name="SBClientPhishing.TermFeatureBreakIterError">
  <owner>noelutz@chromium.org</owner>
  <summary>
    The number of phishing classifications that were aborted because the term
    feature extractor failed to initialize an ICU break iterator.
  </summary>
</histogram>

<histogram name="SBClientPhishing.TermFeatureChunkTime" units="ms">
  <owner>noelutz@chromium.org</owner>
  <summary>
    The time that an individual chunk of term feature extraction work took.
  </summary>
</histogram>

<histogram name="SBClientPhishing.TermFeatureIterations">
  <owner>noelutz@chromium.org</owner>
  <summary>
    The number of iterations that the term feature extractor took to finish.
  </summary>
</histogram>

<histogram name="SBClientPhishing.TermFeatureTimeout">
  <owner>noelutz@chromium.org</owner>
  <summary>
    The number of phishing classification that were aborted because term feature
    extraction took too long.
  </summary>
</histogram>

<histogram name="SBClientPhishing.TermFeatureTotalTime" units="ms">
  <owner>noelutz@chromium.org</owner>
  <summary>
    The time that the term feature extarctor took to finish, summed across all
    chunks of work.
  </summary>
</histogram>

<histogram name="SBClientPhishing.TooManyFeatures">
  <owner>noelutz@chromium.org</owner>
  <summary>
    The number of times that the limit on the number of phishing classifier
    features for a page was reached.  This may indicate a bug, or that
    kMaxFeatureSize is too small.
  </summary>
</histogram>

<histogram name="SBClientPhishing.URLFeatureTime" units="ms">
  <owner>noelutz@chromium.org</owner>
  <summary>
    The time taken to extract URL features for the phishing classifier.
  </summary>
</histogram>

<histogram name="SBDownloadFeedback.Activations" enum="DownloadItem.DangerType">
  <owner>mattm@chromium.org</owner>
  <summary>
    Count of times download feedback has been started, broken down by danger
    type.
  </summary>
</histogram>

<histogram name="SBDownloadFeedback.ActiveFeedbacks">
  <owner>mattm@chromium.org</owner>
  <summary>
    When a new download feedback request is added, records the number of
    download requests currently active and/or pending.
  </summary>
</histogram>

<histogram name="SBDownloadFeedback.Eligible" enum="DownloadItem.DangerType">
  <owner>mattm@chromium.org</owner>
  <summary>
    Count of times eligible download notifications are shown. Broken down by
    danger type.
  </summary>
</histogram>

<histogram name="SBDownloadFeedback.EmptyFilePathFailure" enum="Boolean">
  <owner>jialiul@chromium.org</owner>
  <summary>
    Count of times download feedback cannot be sent due to empty file path.
  </summary>
</histogram>

<histogram name="SBDownloadFeedback.Shown" enum="DownloadItem.DangerType">
  <obsolete>
    Starting with M32, replaced by SBDownloadFeedback.Eligible.
  </obsolete>
  <owner>mattm@chromium.org</owner>
  <summary>
    Count of times download feedback button has been shown, broken down by
    danger type.
  </summary>
</histogram>

<histogram name="SBDownloadFeedback.SizeEligibleKB" units="KB">
  <owner>mattm@chromium.org</owner>
  <summary>
    Size of downloads that were of the correct danger type, regardless if they
    meet the max file size check or if they are actually uploaded or not.
  </summary>
</histogram>

<histogram name="SBDownloadFeedback.SizeFailure" units="bytes">
  <owner>mattm@chromium.org</owner>
  <summary>
    Size of downloads that failed to be uploaded to the feedback service.
  </summary>
</histogram>

<histogram name="SBDownloadFeedback.SizeSuccess" units="bytes">
  <owner>mattm@chromium.org</owner>
  <summary>
    Size of downloads that were successfully uploaded to the feedback service.
  </summary>
</histogram>

<histogram name="SBDownloadFeedback.UploadRequestedByServer"
    enum="DownloadUploadRequestedByServer">
  <owner>nparker@chromium.org</owner>
  <summary>
    For each non-SAFE file, records whether the server requested that that file
    be uploaded.

    Logged before checking the file size, so it may be dropped there.
  </summary>
</histogram>

<histogram name="SBDownloadFeedback.UploadResult"
    enum="SBDownloadFeedbackUploadResult">
  <owner>mattm@chromium.org</owner>
  <summary>
    Final result of attempt to upload binary to download feedback service.
  </summary>
</histogram>

<histogram name="SBIRS.BLAHashTime" units="ms">
  <owner>caitkp@google.com</owner>
  <summary>
    The elapsed time to compute the hash of a blacklisted module.
  </summary>
</histogram>

<histogram name="SBIRS.BLASignatureTime" units="ms">
  <owner>caitkp@google.com</owner>
  <summary>
    The elapsed time to validate the signature of a blacklisted module.
  </summary>
</histogram>

<histogram name="SBIRS.DiscardedIncident" enum="IncidentType">
  <owner>caitkp@google.com</owner>
  <summary>
    The type of incident discarded by the safe browsing incident reporting
    service as a result of profile or service destruction.
  </summary>
</histogram>

<histogram name="SBIRS.DownloadMetadata.DeleteSuccess" enum="BooleanSuccess">
  <owner>caitkp@chromium.org</owner>
  <summary>The result of deleting a profile's download metadata file.</summary>
</histogram>

<histogram name="SBIRS.DownloadMetadata.ReadResult" enum="MetadataReadResult">
  <owner>caitkp@chromium.org</owner>
  <summary>The result of reading a profile's download metadata file.</summary>
</histogram>

<histogram name="SBIRS.DownloadMetadata.WriteResult" enum="MetadataWriteResult">
  <owner>caitkp@chromium.org</owner>
  <summary>The result of writing a profile's download metadata file.</summary>
</histogram>

<histogram name="SBIRS.DroppedIncident" enum="IncidentType">
  <owner>caitkp@google.com</owner>
  <summary>
    The type of incident given to the safe browsing incident reporting service
    but dropped as a result of not participating in safe browsing.
  </summary>
</histogram>

<histogram name="SBIRS.EnvCollectionTime" units="ms">
  <owner>caitkp@google.com</owner>
  <summary>
    The elapsed time to collect environmental data for a safe browsing incident
    report.
  </summary>
</histogram>

<histogram name="SBIRS.FindDownloadedBinaryTime" units="ms">
  <owner>caitkp@google.com</owner>
  <summary>
    The elapsed time to find the most recent binary download from all loaded
    profiles when creating a safe browsing incident report.
  </summary>
</histogram>

<histogram name="SBIRS.Incident" enum="IncidentType">
  <owner>caitkp@google.com</owner>
  <summary>
    The type of incident included in an incident report by the safe browsing
    incident reporting service.
  </summary>
</histogram>

<histogram name="SBIRS.IncidentCount">
  <owner>caitkp@google.com</owner>
  <summary>
    The number of incidents collated into a single safe browsing incident
    report.
  </summary>
</histogram>

<histogram name="SBIRS.InterIncidentTime" units="ms">
  <owner>caitkp@google.com</owner>
  <summary>
    The elapsed time between two successive incidents collated into the same
    incident report by the safe browsing incident reporting service.
  </summary>
</histogram>

<histogram name="SBIRS.NoDownloadIncident" enum="IncidentType">
  <owner>caitkp@google.com</owner>
  <summary>
    The type of incident pruned by the safe browsing incident reporting service
    as a result of not having a matching binary download.
  </summary>
</histogram>

<histogram name="SBIRS.PrunedIncident" enum="IncidentType">
  <owner>caitkp@google.com</owner>
  <summary>
    The type of incident pruned from a report in the safe browsing incident
    reporting service as a result of having previously been reported.
  </summary>
</histogram>

<histogram name="SBIRS.PruneRatio" units="%">
  <obsolete>
    Deprecated 08/2015.
  </obsolete>
  <owner>caitkp@google.com</owner>
  <summary>
    The percentage of incidents pruned from a safe browsing incident report on
    account of having been previously reported.
  </summary>
</histogram>

<histogram name="SBIRS.PSSDataStoreSize" units="bytes">
  <owner>grt@google.com</owner>
  <summary>
    The size, in bytes, of a profile's platform state store. This hisogram is
    logged on each write, which always replaces any previous contents.
  </summary>
</histogram>

<histogram name="SBIRS.PSSLoadResult" enum="PlatformStateStoreLoadResult">
  <owner>grt@google.com</owner>
  <summary>The result of loading data from the platform state store.</summary>
</histogram>

<histogram name="SBIRS.ReceivedIncident" enum="IncidentType">
  <owner>caitkp@google.com</owner>
  <summary>
    The type of incident received by the safe browsing incident reporting
    service.
  </summary>
</histogram>

<histogram name="SBIRS.ReportPayloadSize" units="bytes">
  <owner>caitkp@google.com</owner>
  <summary>The size, in bytes, of a safe browsing incident report.</summary>
</histogram>

<histogram name="SBIRS.ReportUploadTime" units="ms">
  <owner>caitkp@google.com</owner>
  <summary>The elapsed time to upload a safe browsing incident report.</summary>
</histogram>

<histogram name="SBIRS.StateStoreInitResult" enum="StateStoreInitResult">
  <owner>proberge@google.com</owner>
  <summary>
    The result of initializing the state store and comparing the preferences to
    the platform-specific state store.
  </summary>
</histogram>

<histogram name="SBIRS.SuspiciousModuleDetectionTime" units="ms">
  <owner>proberge@google.com</owner>
  <summary>
    The elapsed time to check loaded modules against the module whitelist.
  </summary>
</histogram>

<histogram name="SBIRS.SuspiciousModuleReportCount" units="modules">
  <owner>proberge@google.com</owner>
  <summary>The number of suspicious modules found.</summary>
</histogram>

<histogram name="SBIRS.SuspiciousModuleReportingTime" units="ms">
  <owner>proberge@google.com</owner>
  <summary>
    The elapsed time to create incidents for suspicious modules.
  </summary>
</histogram>

<histogram name="SBIRS.UploadResult" enum="ReportProcessingResult">
  <owner>caitkp@google.com</owner>
  <summary>
    The result of an attempted report upload by the safe browsing incident
    reporting service.
  </summary>
</histogram>

<histogram name="SBIRS.VerifyBinaryIntegrity.0" units="ms">
  <owner>caitkp@google.com</owner>
  <summary>
    The elapsed time to verify the binary integrity of chrome.exe.
  </summary>
</histogram>

<histogram name="SBIRS.VerifyBinaryIntegrity.1" units="ms">
  <owner>caitkp@google.com</owner>
  <summary>
    The elapsed time to verify the binary integrity of chrome.dll.
  </summary>
</histogram>

<histogram name="SBIRS.VerifyBinaryIntegrity.2" units="ms">
  <owner>caitkp@google.com</owner>
  <summary>
    The elapsed time to verify the binary integrity of chrome_child.dll.
  </summary>
</histogram>

<histogram name="SBIRS.VerifyBinaryIntegrity.3" units="ms">
  <owner>caitkp@google.com</owner>
  <summary>
    The elapsed time to verify the binary integrity of chrome_elf.dll.
  </summary>
</histogram>

<histogram name="SBOffDomainInclusion.Abort" enum="ContentResourceType">
  <obsolete>
    Superseded by SBOffDomainInclusion2.Abort in December 2015.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logs the resource type of each resource request for which the off-domain
    inclusion analysis was aborted. This histogram is suffixed with the abort
    reason.
  </summary>
</histogram>

<histogram name="SBOffDomainInclusion.Detected" enum="ContentResourceType">
  <obsolete>
    Deprecated 01/2015.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logs the resource type of each resource request for which an off-domain
    inclusion was detected by the OffDomainInclusionDetector.
  </summary>
</histogram>

<histogram name="SBOffDomainInclusion.EmptyMainFrameURL"
    enum="ContentResourceType">
  <obsolete>
    Deprecated 01/2015. Moved to SBOffDomainInclusion.Abort.EmptyMainFrameURL.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logs the resource type of each resource request for which the main frame URL
    was unexpectedly empty in the OffDomainInclusionDetector.
  </summary>
</histogram>

<histogram name="SBOffDomainInclusion.InHistory" enum="ContentResourceType">
  <obsolete>
    Superseded by SBOffDomainInclusion2.InHistory in December 2015.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logs the resource type of each resource request for which the off-domain
    inclusion analysis concluded in no inclusion whitelist hit but a browsing
    history hit.
  </summary>
</histogram>

<histogram name="SBOffDomainInclusion.InvalidMainFrameURL"
    enum="ContentResourceType">
  <obsolete>
    Deprecated 01/2015 (was never reported, confirming experiment that handling
    it is irrelevant).
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logs the resource type of each resource request for which the main frame URL
    was unexpectedly invalid (and not empty) in the OffDomainInclusionDetector.
  </summary>
</histogram>

<histogram name="SBOffDomainInclusion.RequestAnalyzed"
    enum="ContentResourceType">
  <obsolete>
    Superseded by SBOffDomainInclusion2.RequestAnalyzed in December 2015.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logs the resource type of each resource request analyzed by the
    OffDomainInclusionDetector.
  </summary>
</histogram>

<histogram name="SBOffDomainInclusion.Suspicious" enum="ContentResourceType">
  <obsolete>
    Superseded by SBOffDomainInclusion2.Suspicious in December 2015.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logs the resource type of each resource request for which an off-domain
    inclusion was detected by the OffDomainInclusionDetector and considered
    suspicious.
  </summary>
</histogram>

<histogram name="SBOffDomainInclusion.Whitelisted" enum="ContentResourceType">
  <obsolete>
    Superseded by SBOffDomainInclusion2.Suspicious in December 2015.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logs the resource type of each resource request for which the off-domain
    inclusion analysis concluded in an inclusion whitelist hit.
  </summary>
</histogram>

<histogram name="SBOffDomainInclusion2.Abort" enum="ContentResourceType2">
  <obsolete>
    Deprecated 2016-05 as the OffDomainInclusionDetector was removed.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logs the resource type of each resource request for which the off-domain
    inclusion analysis was aborted. This histogram is suffixed with the abort
    reason.
  </summary>
</histogram>

<histogram name="SBOffDomainInclusion2.InHistory" enum="ContentResourceType2">
  <obsolete>
    Deprecated 2016-05 as the OffDomainInclusionDetector was removed.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logs the resource type of each resource request for which the off-domain
    inclusion analysis concluded in no inclusion whitelist hit but a browsing
    history hit.
  </summary>
</histogram>

<histogram name="SBOffDomainInclusion2.RequestAnalyzed"
    enum="ContentResourceType2">
  <obsolete>
    Deprecated 2016-05 as the OffDomainInclusionDetector was removed.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logs the resource type of each resource request analyzed by the
    OffDomainInclusionDetector.
  </summary>
</histogram>

<histogram name="SBOffDomainInclusion2.Suspicious" enum="ContentResourceType2">
  <obsolete>
    Deprecated 2016-05 as the OffDomainInclusionDetector was removed.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logs the resource type of each resource request for which an off-domain
    inclusion was detected by the OffDomainInclusionDetector and considered
    suspicious.
  </summary>
</histogram>

<histogram name="SBOffDomainInclusion2.Whitelisted" enum="ContentResourceType2">
  <obsolete>
    Deprecated 2016-05 as the OffDomainInclusionDetector was removed.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logs the resource type of each resource request for which the off-domain
    inclusion analysis concluded in an inclusion whitelist hit.
  </summary>
</histogram>

<histogram name="Scheduling.ActivateDuration" units="microseconds">
  <obsolete>
    Replaced by ActivateDuration2, due to inefficient bucketing scheme.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    How long it takes for the compositor to simply activate the pending tree.
    Does not include any PrepareTiles or raster time.
  </summary>
</histogram>

<histogram name="Scheduling.ActivateDuration2" units="microseconds">
  <owner>brianderson@chromium.org</owner>
  <summary>
    How long it takes for the compositor to simply activate the pending tree.
    Does not include any PrepareTiles or raster time.
  </summary>
</histogram>

<histogram name="Scheduling.BeginImplFrameLatency2" units="microseconds">
  <owner>stanisc@chromium.org</owner>
  <summary>
    The time from v-sync to when the main side actually starts the
    BeginImplFrame.
  </summary>
</histogram>

<histogram name="Scheduling.BeginMainFrameIntervalCritical"
    units="microseconds">
  <obsolete>
    Replaced by BeginMainFrameIntervalCritical2, due to inefficient bucketing
    scheme.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    This is the time delta between back-to-back BeginMainFrames completions on
    the compositor side when the on_critical_path flag is set, regardless of
    whether they abort (have no updates) or commit (have updates).

    The interval is only recorded when the BeginMainFrames are running
    continuously; sepcifically when another BeginMainFrame is requested by the
    next BeginImplFrame after a) an abort or b) activation.
  </summary>
</histogram>

<histogram name="Scheduling.BeginMainFrameIntervalCritical2"
    units="microseconds">
  <owner>brianderson@chromium.org</owner>
  <summary>
    This is the time delta between back-to-back BeginMainFrames completions on
    the compositor side when the on_critical_path flag is set, regardless of
    whether they abort (have no updates) or commit (have updates).

    The interval is only recorded when the BeginMainFrames are running
    continuously; sepcifically when another BeginMainFrame is requested by the
    next BeginImplFrame after a) an abort or b) activation.
  </summary>
</histogram>

<histogram name="Scheduling.BeginMainFrameIntervalNotCritical"
    units="microseconds">
  <obsolete>
    Replaced by BeginMainFrameIntervalNotCritical2, due to inefficient bucketing
    scheme.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    This is the time delta between back-to-back BeginMainFrames completions on
    the compositor side when the on_critical_path flag is not set, regardless of
    whether they abort (have no updates) or commit (have updates).

    The interval is only recorded when the BeginMainFrames are running
    continuously; sepcifically when another BeginMainFrame is requested by the
    next BeginImplFrame after a) an abort or b) activation.
  </summary>
</histogram>

<histogram name="Scheduling.BeginMainFrameIntervalNotCritical2"
    units="microseconds">
  <owner>brianderson@chromium.org</owner>
  <summary>
    This is the time delta between back-to-back BeginMainFrames completions on
    the compositor side when the on_critical_path flag is not set, regardless of
    whether they abort (have no updates) or commit (have updates).

    The interval is only recorded when the BeginMainFrames are running
    continuously; sepcifically when another BeginMainFrame is requested by the
    next BeginImplFrame after a) an abort or b) activation.
  </summary>
</histogram>

<histogram name="Scheduling.BeginMainFrameQueueDurationCritical"
    units="microseconds">
  <obsolete>
    Replaced by BeginMainFrameQueueDurationCritical2, due to inefficient
    bucketing scheme.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    How long it takes for the main side to start the BeginMainFrame in response
    to the compositor's SendBeginMainFrame when the on_critical_path flag is
    set.
  </summary>
</histogram>

<histogram name="Scheduling.BeginMainFrameQueueDurationCritical2"
    units="microseconds">
  <owner>brianderson@chromium.org</owner>
  <summary>
    How long it takes for the main side to start the BeginMainFrame in response
    to the compositor's SendBeginMainFrame when the on_critical_path flag is
    set.
  </summary>
</histogram>

<histogram name="Scheduling.BeginMainFrameQueueDurationNotCritical"
    units="microseconds">
  <obsolete>
    Replaced by BeginMainFrameQueueDurationNotCritical2, due to inefficient
    bucketing scheme.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    How long it takes for the main side to start the BeginMainFrame in response
    to the compositor's SendBeginMainFrame when the on_critical_path flag is not
    set.
  </summary>
</histogram>

<histogram name="Scheduling.BeginMainFrameQueueDurationNotCritical2"
    units="microseconds">
  <owner>brianderson@chromium.org</owner>
  <summary>
    How long it takes for the main side to start the BeginMainFrame in response
    to the compositor's SendBeginMainFrame when the on_critical_path flag is not
    set.
  </summary>
</histogram>

<histogram name="Scheduling.BeginMainFrameStartToCommitDuration"
    units="microseconds">
  <obsolete>
    Replaced by BeginMainFrameStartToCommitDuration2, due to inefficient
    bucketing scheme.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    The time from when the main side actually starts the BeginMainFrame to when
    the commit completes on the impl side.
  </summary>
</histogram>

<histogram name="Scheduling.BeginMainFrameStartToCommitDuration2"
    units="microseconds">
  <owner>brianderson@chromium.org</owner>
  <summary>
    The time from when the main side actually starts the BeginMainFrame to when
    the commit completes on the impl side.
  </summary>
</histogram>

<histogram name="Scheduling.BeginMainFrameToCommitDuration"
    units="microseconds">
  <obsolete>
    Replaced by BeginMainFrameQueueDurationCritical,
    BeginMainFrameQueueDurationNotCritical, and
    BeginMainFrameStartToCommitDuration.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    How long it takes for the blink main thread to respond to the compositor's
    SendBeginMainFrame.
  </summary>
</histogram>

<histogram name="Scheduling.Browser.BeginMainFrameStartToCommit"
    units="microseconds">
  <obsolete>
    Replaced by BeginMainFrameStartToCommitDuration. This was recorded as a
    result of a typo in the code that didn't include &quot;Duration&quot;.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    The time from when the main side actually starts the BeginMainFrame to when
    the commit completes on the impl side.
  </summary>
</histogram>

<histogram name="Scheduling.Browser.BeginMainFrameStartToCommit2"
    units="microseconds">
  <obsolete>
    Replaced by BeginMainFrameStartToCommitDuration2. This was recorded as a
    result of a typo in the code that didn't include &quot;Duration&quot;.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    The time from when the main side actually starts the BeginMainFrame to when
    the commit completes on the impl side.
  </summary>
</histogram>

<histogram name="Scheduling.CommitInterval" units="microseconds">
  <obsolete>
    Replaced by CommitInterval2, due to inefficient bucketing scheme.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    The time delta between the *draw* times of back-to-back BeginMainFrames that
    result in a commit.

    The interval is only recorded when the BeginMainFrames are running and
    committing continuously, where continuously means when another
    BeginMainFrame is requested by the next BeginImplFrame after activation.
  </summary>
</histogram>

<histogram name="Scheduling.CommitInterval2" units="microseconds">
  <owner>brianderson@chromium.org</owner>
  <summary>
    The time delta between the *draw* times of back-to-back BeginMainFrames that
    result in a commit.

    The interval is only recorded when the BeginMainFrames are running and
    committing continuously, where continuously means when another
    BeginMainFrame is requested by the next BeginImplFrame after activation.
  </summary>
</histogram>

<histogram name="Scheduling.CommitToReadyToActivateDuration"
    units="microseconds">
  <obsolete>
    Replaced by CommitToReadyToActivateDuration2, due to inefficient bucketing
    scheme.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    How long it takes for the compositor to rasterize pending tree content after
    a commit before it is ready for activation.
  </summary>
</histogram>

<histogram name="Scheduling.CommitToReadyToActivateDuration2"
    units="microseconds">
  <owner>brianderson@chromium.org</owner>
  <summary>
    How long it takes for the compositor to rasterize pending tree content after
    a commit before it is ready for activation.
  </summary>
</histogram>

<histogram name="Scheduling.DrawDuration" units="microseconds">
  <obsolete>
    Replaced by DrawDuration2, due to inefficient bucketing scheme.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>How long it takes the compositor to draw a frame.</summary>
</histogram>

<histogram name="Scheduling.DrawDuration2" units="microseconds">
  <owner>brianderson@chromium.org</owner>
  <summary>How long it takes the compositor to draw a frame.</summary>
</histogram>

<histogram name="Scheduling.DrawInterval" units="microseconds">
  <obsolete>
    Replaced by DrawInterval2, due to inefficient bucketing scheme.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    The time delta between the draw times of back-to-back BeginImplFrames,
    regardless of whether or not they result in a swap.

    The interval is only recorded when every BeginImplFrame wants to draw.
  </summary>
</histogram>

<histogram name="Scheduling.DrawInterval2" units="microseconds">
  <owner>brianderson@chromium.org</owner>
  <summary>
    The time delta between the draw times of back-to-back BeginImplFrames,
    regardless of whether or not they result in a swap.

    The interval is only recorded when every BeginImplFrame wants to draw.
  </summary>
</histogram>

<histogram name="Scheduling.MainAndImplFrameTimeDelta" units="microseconds">
  <obsolete>
    Replaced by MainAndImplFrameTimeDelta2, due to inefficient bucketing scheme.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    Recorded every time the compositor draws with a new active tree. A value of
    0 indicates the main-side started and finished within the same frame
    interval as the impl-side. Positive values correspond to how old any
    main-side updates are compared to the impl-side updates. If there are no
    mid-frame updates, this metric is a good proxy for how well the main and
    impl threads are synchronized.
  </summary>
</histogram>

<histogram name="Scheduling.MainAndImplFrameTimeDelta2" units="microseconds">
  <owner>brianderson@chromium.org</owner>
  <summary>
    Recorded every time the compositor draws with a new active tree. A value of
    0 indicates the main-side started and finished within the same frame
    interval as the impl-side. Positive values correspond to how old any
    main-side updates are compared to the impl-side updates. If there are no
    mid-frame updates, this metric is a good proxy for how well the main and
    impl threads are synchronized.
  </summary>
</histogram>

<histogram name="Scheduling.PendingTreeDuration" units="microseconds">
  <owner>ericrk@chromium.org</owner>
  <summary>
    Time between creating a pending tree and activating that tree. This differs
    from Scheduling.ActivateDuration in that it includes time taken to raster
    the pending tree, not just the time to activate it.

    The interval is recorded each time a pending tree is activated.
  </summary>
</histogram>

<histogram name="Scheduling.PrepareTilesDuration" units="microseconds">
  <obsolete>
    Replaced by PrepareTIlesDuration2, due to inefficient bucketing scheme.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>
    How long it takes the compositor to PreapreTiles, which determines what
    rasterization work to do.
  </summary>
</histogram>

<histogram name="Scheduling.PrepareTilesDuration2" units="microseconds">
  <owner>brianderson@chromium.org</owner>
  <summary>
    How long it takes the compositor to PreapreTiles, which determines what
    rasterization work to do.
  </summary>
</histogram>

<histogram name="Scheduling.SwapAckWasFast" enum="BooleanWasFast">
  <owner>brianderson@chromium.org</owner>
  <summary>
    True if the swap ack was received within approximately 8 seconds of the
    swap. Although 8 seconds isn't exactly fast, it is a threshold that
    represents a hang or the appearance of a hang.
  </summary>
</histogram>

<histogram name="Scheduling.SwapToAckLatency" units="microseconds">
  <obsolete>
    Replaced by SwapToAckLatency2, due to inefficient bucketing scheme.
  </obsolete>
  <owner>brianderson@chromium.org</owner>
  <summary>How long it takes the swap ack to return after a swap.</summary>
</histogram>

<histogram name="Scheduling.SwapToAckLatency2" units="microseconds">
  <owner>brianderson@chromium.org</owner>
  <summary>How long it takes the swap ack to return after a swap.</summary>
</histogram>

<histogram name="ScreenLocker.AuthenticationFailure" enum="UnlockType">
  <owner>sammiequon@chromium.org</owner>
  <summary>
    What type of authentication was attempted when the user failed to unlock the
    lock screen.
  </summary>
</histogram>

<histogram name="ScreenLocker.AuthenticationSuccess" enum="UnlockType">
  <owner>sammiequon@chromium.org</owner>
  <summary>
    What type of authentication was attempted when the user successfully
    unlocked the lock screen.
  </summary>
</histogram>

<histogram name="Sdch3.AdvertisedWithSecureScheme" enum="BooleanHttps">
  <obsolete>
    Experiment complete, histogram gathering code removed.
  </obsolete>
  <owner>ellyjones@chromium.org</owner>
  <summary>
    Whether an SDCH dictionary was advertised over a secure scheme or not. This
    histogram is logged inside SdchManager at advertisement time.
  </summary>
</histogram>

<histogram name="Sdch3.Advertisement_Count">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The number of dictionaries advertised in an HTTP GET transaction that
    supports SDCH.  Note that only non-zero advertisements are logged.
  </summary>
</histogram>

<histogram name="Sdch3.BlacklistReason" enum="SdchProblemCode">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The reason why a blacklist blocking a request from advertising SDCH was
    implemented.  There is one entry in this histogram per inhibited request.
  </summary>
</histogram>

<histogram name="Sdch3.Dictionary size loaded" units="bytes">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Each sample is the byte count for a dictionary that is loaded by Chrome. A
    dictionary is loaded shortly after the first Google query performed in each
    session, and allows future SDCH transactions to be encoded/decoded using
    that dictionary.
  </summary>
</histogram>

<histogram name="Sdch3.DictionaryFate" enum="SdchDictionaryFate">
  <owner>rdsmith@chromium.org&gt;</owner>
  <summary>
    The fate, both on input and output, of dictionary requests.  There is
    intended to be two entries in this histogram for each Get-Dictionary seen
    (except failed requests are not currently tracked).
  </summary>
</histogram>

<histogram name="Sdch3.DictionaryUseCount">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The number of times a dictionary has been successfully used for decoding,
    recorded at the time it is evicted from the manager.
  </summary>
</histogram>

<histogram name="Sdch3.Experiment2_Decode">
  <obsolete>
    Replaced by Sdch3.Experiment3_Holdback.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Duration in time from when a request was made, until all bytes were
    received.  During the running of an SDCH latency experiment, these packets
    were part of an SDCH encoded transmission made after the link had proven it
    was capable of handling SDCH compression.
  </summary>
</histogram>

<histogram name="Sdch3.Experiment2_Holdback">
  <obsolete>
    Replaced by Sdch3.Experiment3_Holdback.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Duration in time from when a request was made, until all bytes were
    received.  During the running of an SDCH latency experiment, these packets
    were part of a holdback, which precluded SDCH despite the fact that the link
    had proven it was capable of handling SDCH compression.
  </summary>
</histogram>

<histogram name="Sdch3.Experiment3_Decode">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Duration in time from the first byte of a request was received, until all
    bytes were received.  During the running of an SDCH latency experiment,
    these packets were part of an SDCH encoded transmission made after the link
    had proven it was capable of handling SDCH compression.
  </summary>
</histogram>

<histogram name="Sdch3.Experiment3_Holdback">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Duration in time from the first byte of a request was received, until all
    bytes were received.  During the running of an SDCH latency experiment,
    these packets were part of a holdback, which precluded SDCH despite the fact
    that the link had proven it was capable of handling SDCH compression.
  </summary>
</histogram>

<histogram name="Sdch3.Experiment_Decode">
  <obsolete>
    Replaced by Sdch3.Experiment2_Decode.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Duration in time from when a request was made, until all bytes were
    received.  During the running of an SDCH latency experiment, these packets
    were part of an SDCH encoded transmission made after the link had proven it
    was capable of handling SDCH compression.
  </summary>
</histogram>

<histogram name="Sdch3.Experiment_Holdback">
  <obsolete>
    Replaced by Sdch3.Experiment2_Holdback.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Duration in time from when a request was made, until all bytes were
    received.  During the running of an SDCH latency experiment, these packets
    were part of a holdback, which precluded SDCH despite the fact that the link
    had proven it was capable of handling SDCH compression.
  </summary>
</histogram>

<histogram name="Sdch3.Experiment_Holdback_1st_To_2nd_c" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Sampling only transmissions with 5 or more packets, the duration between
    receipt of the 1st **NON**-SDCH encoded packet to receipt of the 2nd packet,
    for processing by the SDCH filter.  Packet count boundaries are calculated
    each time a read from the filter is called, assuming 1430 bytes of data per
    packet since the last boundary calculation.  This *tends* to properly count
    small packets, but can err if small packets come at roughly the same time.
    During the running of an SDCH latency experiment, these packets were part of
    a holdback, which precluded SDCH despite the fact that the link had proven
    it was capable of handling SDCH compression.
  </summary>
</histogram>

<histogram name="Sdch3.Experiment_Holdback_1st_To_Last_a" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The duration between receipt of the 1st holdback (non-SDCH encoded) packet
    and receipt of the last packet.  Only groups that are part of the holdback
    (i.e., could have been sdch encoded) are sampled.
  </summary>
</histogram>

<histogram name="Sdch3.Experiment_Holdback_2nd_To_3rd_c" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Sampling only transmissions with 5 or more packets, the duration between
    receipt of the 2nd **NON**-SDCH encoded packet to receipt of the 3rd packet,
    for processing by the SDCH filter.  Packet count boundaries are calculated
    each time a read from the filter is called, assuming 1430 bytes of data per
    packet since the last boundary calculation.  This *tends* to properly count
    small packets, but can err if small packets come at roughly the same time.
    During the running of an SDCH latency experiment, these packets were part of
    a holdback, which precluded SDCH despite the fact that the link had proven
    it was capable of handling SDCH compression.
  </summary>
</histogram>

<histogram name="Sdch3.Experiment_Holdback_3rd_To_4th_c" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Sampling only transmissions with 5 or more packets, the duration between
    receipt of the 3rd **NON**-SDCH encoded packet to receipt of the 4th packet,
    for processing by the SDCH filter.  Packet count boundaries are calculated
    each time a read from the filter is called, assuming 1430 bytes of data per
    packet since the last boundary calculation.  This *tends* to properly count
    small packets, but can err if small packets come at roughly the same time.
    During the running of an SDCH latency experiment, these packets were part of
    a holdback, which precluded SDCH despite the fact that the link had proven
    it was capable of handling SDCH compression.
  </summary>
</histogram>

<histogram name="Sdch3.Experiment_Holdback_4th_To_5th_c" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Sampling only transmissions with 5 or more packets, the duration between
    receipt of the 4th **NON**-SDCH encoded packet to receipt of the 5th packet,
    for processing by the SDCH filter.  Packet count boundaries are calculated
    each time a read from the filter is called, assuming 1430 bytes of data per
    packet since the last boundary calculation.  This *tends* to properly count
    small packets, but can err if small packets come at roughly the same time.
    During the running of an SDCH latency experiment, these packets were part of
    a holdback, which precluded SDCH despite the fact that the link had proven
    it was capable of handling SDCH compression.
  </summary>
</histogram>

<histogram name="Sdch3.FilterUseBeforeDisabling">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    If SDCH decoding was disabled client side, this records how many URLs were
    processed by the SDCH filter before disabling this feature.  The most common
    number is 1, which happens when there is one home-page tab that contains
    SDCH encoded data, for which there is no dictionary loaded into the Chrome
    process (yet), since Chrome was just restarted.  Large values in this
    histogram are indicative of flaky decompression, that works for a while, and
    then is disabled.  Values of 2 or 3 may appear if a user has more than one
    home page with a query, and restarts there browser.
  </summary>
</histogram>

<histogram name="Sdch3.FirstUseInterval" units="ms">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The amount of time between creation/load of an SDCH dictionary and its first
    use.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Decode_1st_To_2nd_c" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Sampling only transmissions with 5 or more packets, the duration between
    receipt of the 1st SDCH encoded packet and receipt of the 2nd packet, for
    processing by the SDCH filter.  Packet count boundaries are calculated each
    time a read from the filter is called, assuming 1430 bytes of data per
    packet since the last boundary calculation.  This *tends* to properly count
    small packets, but can err if small packets come at roughly the same time.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Decode_1st_To_Last_a" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The duration between receipt of the 1st SDCH encoded packet and receipt of
    the last packet, for processing by the SDCH filter.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Decode_2nd_To_3rd_c" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Sampling only transmissions with 5 or more packets, the duration between
    receipt of the 2nd SDCH encoded packet and receipt of the 3rd packet, for
    processing by the SDCH filter.  Packet count boundaries are calculated each
    time a read from the filter is called, assuming 1430 bytes of data per
    packet since the last boundary calculation.  This *tends* to properly count
    small packets, but can err if small packets come at roughly the same time.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Decode_3rd_To_4th_c" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Sampling only transmissions with 5 or more packets, the duration between
    receipt of the 3rd SDCH encoded packet and receipt of the 4th packet, for
    processing by the SDCH filter. Packet count boundaries are calculated each
    time a read from the filter is called, assuming 1430 bytes of data per
    packet since the last boundary calculation.  This *tends* to properly count
    small packets, but can err if small packets come at roughly the same time.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Decode_4th_To_5th_c" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Sampling only transmissions with 5 or more packets, the duration between
    receipt of the 4th SDCH encoded packet and receipt of the 5th packet, for
    processing by the SDCH filter. Packet count boundaries are calculated each
    time a read from the filter is called, assuming 1430 bytes of data per
    packet since the last boundary calculation.  This *tends* to properly count
    small packets, but can err if small packets come at roughly the same time.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Decode_Bytes_Processed_a" units="bytes">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    (discontinued 7/29/2009, and replaced by
    Sdch3.Network_Decode_Bytes_Processed_b) The number of bytes processed
    (received over the net or from cache) by the SDCH filter chain.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Decode_Bytes_Processed_b" units="bytes">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The number of bytes processed (received over the net or from cache) by the
    SDCH filter chain.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Decode_Bytes_VcdiffOut_a" units="bytes">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The number of bytes emitted after decoding by the SDCH filter.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Decode_Latency_F_a" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The duration between putting the first byte of a request (such as a GET) on
    the wire, until the last by of compressed SDCH encoded content is received
    (with durations over 10 minutes discarded).  During a planned latency
    experiment, some clients will receive encoded SDCH data, and other will
    received mere gzip'ed data (that passes through the SDCH filter unchanged).
  </summary>
</histogram>

<histogram name="Sdch3.Network_Decode_Packets_b">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    An approximation to the total number of SDCH encoded packets received for
    processing by the SDCH filter. Packet count boundaries are calculated each
    time a read from the filter is called, assuming 1430 bytes of data per
    packet since the last boundary calculation.  This *tends* to properly count
    small packets, but can err if small packets come at roughly the same time.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Decode_Ratio_a" units="bytes">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The ratio of the number of bytes read from the network (or cache) and fed to
    the filter chain (usually the gunzip filter) vs. the number of bytes emitted
    by the SDCH filter to be rendered.  This is commonly described as the SDCH
    compression ratio.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Pass-through_1st_To_2nd_c" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Sampling only transmissions with 5 or more packets, the duration between
    receipt of the 1st **NON**-SDCH encoded packet to receipt of the 2nd packet,
    for processing by the SDCH filter.  Packet count boundaries are calculated
    each time a read from the filter is called, assuming 1430 bytes of data per
    packet since the last boundary calculation.  This *tends* to properly count
    small packets, but can err if small packets come at roughly the same time.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Pass-through_1st_To_Last_a" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The duration between receipt of the 1st **NON**-SDCH encoded packet to
    receipt of the last packet, for processing by the SDCH filter.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Pass-through_2nd_To_3rd_c" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Sampling only transmissions with 5 or more packets, the duration between
    receipt of the 2nd **NON**-SDCH encoded packet to receipt of the 3rd packet,
    for processing by the SDCH filter.  Packet count boundaries are calculated
    each time a read from the filter is called, assuming 1430 bytes of data per
    packet since the last boundary calculation.  This *tends* to properly count
    small packets, but can err if small packets come at roughly the same time.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Pass-through_3rd_To_4th_c" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Sampling only transmissions with 5 or more packets, the duration between
    receipt of the 3rd **NON**-SDCH encoded packet to receipt of the 4th packet,
    for processing by the SDCH filter.  Packet count boundaries are calculated
    each time a read from the filter is called, assuming 1430 bytes of data per
    packet since the last boundary calculation.  This *tends* to properly count
    small packets, but can err if small packets come at roughly the same time.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Pass-through_4th_To_5th_c" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Sampling only transmissions with 5 or more packets, the duration between
    receipt of the 4th **NON**-SDCH encoded packet to receipt of the 5th packet,
    for processing by the SDCH filter.  Packet count boundaries are calculated
    each time a read from the filter is called, assuming 1430 bytes of data per
    packet since the last boundary calculation.  This *tends* to properly count
    small packets, but can err if small packets come at roughly the same time.
  </summary>
</histogram>

<histogram name="Sdch3.Network_Pass-through_Latency_F_a" units="ms">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The duration between putting the first byte of a request (such as a GET) on
    the wire, until the last by gzip compressed content is received and
    passed-through unchanged by the SDCH filter (with durations over 10 minutes
    discarded).  During a planned latency experiment, some clients will receive
    encoded SDCH data, and other will received mere gzip'ed data (that passes
    through the SDCH filter unchanged).
  </summary>
</histogram>

<histogram name="Sdch3.Network_Pass-through_Packets_b">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The total number of **NON**-SDCH encoded packets received for processing by
    the SDCH filter in one URL fetch. Packet count boundaries are calculated
    each time a read from the filter is called, assuming 1430 bytes of data per
    packet since the last boundary calculation.  This *tends* to properly count
    small packets, but can err if small packets come at roughly the same time.
  </summary>
</histogram>

<histogram name="Sdch3.NetworkBytesSavedByCompression" units="bytes">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>ellyjones@chromium.org</owner>
  <summary>
    The absolute difference in bytes between the amount of data entering the
    SDCH filter and the amount of data exiting the SDCH filter.
  </summary>
</histogram>

<histogram name="Sdch3.NetworkBytesSpent" units="bytes">
  <owner>ellyjones@chromium.org</owner>
  <summary>
    Absolute sizes, in bytes, of SDCH dictionaries fetched over the network.
    These are logged in SdchOwner when dictionary fetches complete.
  </summary>
</histogram>

<histogram name="Sdch3.PartialBytesIn" units="bytes">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    If/when a ProblemCode INCOMPLETE_SDCH_CONTENT reports that the VCDIFF
    decoder still has internally buffered data that has never been read, this
    histogram reports the number of bytes that were received over the net (or
    from the cache) and fed to the start of the filter chain (usually to the
    gunzip filter).
  </summary>
</histogram>

<histogram name="Sdch3.PartialVcdiffIn" units="bytes">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    If/when a ProblemCode INCOMPLETE_SDCH_CONTENT reports that the VCDIFF
    decoder still has internally buffered data that has never been read, this
    histogram reports the number of bytes that were received over the net (or
    from the cache) and fed to VCDIFF decoder (usually after gunzipping).
  </summary>
</histogram>

<histogram name="Sdch3.PartialVcdiffOut" units="bytes">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    If/when a ProblemCode INCOMPLETE_SDCH_CONTENT reports that the VCDIFF
    decoder still has internally buffered data that has never been read, this
    histogram reports the number of bytes that were output by the VCDIFF decoder
    (and sent toward the renderer).
  </summary>
</histogram>

<histogram name="Sdch3.PersistenceFailureReason"
    enum="SdchPersistenceFailureReason">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Tracks failures that occur when reading in or writing out persisted
    dictionary information.
  </summary>
</histogram>

<histogram name="Sdch3.ProblemCodes_3" enum="SdchProblemCode">
  <obsolete>
    Deprecated 2014-11. Sdch3.ProblemCodes_5 used instead.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>Each sample is the report of a distinct problem code.</summary>
</histogram>

<histogram name="Sdch3.ProblemCodes_4" enum="SdchProblemCode">
  <obsolete>
    Deprecated 2014-11. Sdch3.ProblemCodes_5 used instead.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>Each sample is the report of a distinct problem code.</summary>
</histogram>

<histogram name="Sdch3.ProblemCodes_5" enum="SdchProblemCode">
  <owner>rdsmith@chromium.org</owner>
  <summary>Each sample is the report of a distinct problem code.</summary>
</histogram>

<histogram name="Sdch3.ResponseCorruptionDetection.Cached"
    enum="SdchResponseCorruptionDetectionCauses">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Attempted SDCH decoding can fail at the Read() filter processing stage.  In
    some of those cases, the request is corrupted enough that it must be either
    retried or failed completely.  This histogram records the details of why the
    request was considered corrupted, for results returned from the cache.
  </summary>
</histogram>

<histogram name="Sdch3.ResponseCorruptionDetection.Uncached"
    enum="SdchResponseCorruptionDetectionCauses">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    Attempted SDCH decoding can fail at the Read() filter processing stage.  In
    some of those cases, the request is corrupted enough that it must be either
    retried or failed completely.  This histogram records the details of why the
    request was considered corrupted for results returned from the network.
  </summary>
</histogram>

<histogram name="Sdch3.TimeWeightedMemoryUse" units="bytes">
  <owner>ellyjones@chromium.org</owner>
  <summary>
    Measures the time-weighted memory use of SDCH dictionaries, in bytes. The
    numerator is bytes of dictionary times seconds that dictionary was in
    memory, and the denominator is seconds that the Chrome process lives.
  </summary>
</histogram>

<histogram name="Sdch3.UnflushedBufferSize" units="bytes">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    If/when a ProblemCode UNFLUSHED_CONTENT reports that the SDCH filter is
    still buffering output of the VCDIFF decoder that has never been read, this
    histogram reports the number of bytes that were in that buffer.
  </summary>
</histogram>

<histogram name="Sdch3.UnflushedBytesIn" units="bytes">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    If/when a ProblemCode UNFLUSHED_CONTENT reports that the SDCH filter is
    still buffering output of the VCDIFF decoder  that has never been read, this
    histogram reports the number of bytes that were received over the net (or
    from the cache) and fed to the start of the filter chain (usually to the
    gunzip filter).
  </summary>
</histogram>

<histogram name="Sdch3.UnflushedVcdiffIn" units="bytes">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    If/when a ProblemCode UNFLUSHED_CONTENT reports that the SDCH filter is
    still buffering output of the VCDIFF decoder that has never been read, this
    histogram reports the number of bytes that were received over the net (or
    from the cache) and fed to VCDIFF decoder (usually after gunzipping).
  </summary>
</histogram>

<histogram name="Sdch3.UnflushedVcdiffOut" units="bytes">
  <obsolete>
    Deprecated 2016-11.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    If/when a ProblemCode UNFLUSHED_CONTENT reports that the SDCH filter is
    still buffering output of the VCDIFF decoder  that has never been read, this
    histogram reports the number of bytes that were output by the VCDIFF decoder
    (and sent toward the renderer).
  </summary>
</histogram>

<histogram name="Sdch3.UsageInterval" units="ms">
  <obsolete>
    Use Sdch3.UsageInterval2 instead.
  </obsolete>
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The amount of time from the last time an SDCH dictionary was used.  For the
    first use of a dictionary, the maximum time is used.
  </summary>
</histogram>

<histogram name="Sdch3.UsageInterval2" units="ms">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The amount of time from the last time an SDCH dictionary was used.  Not
    recorded on first dictionary use. First use is recorded as
    Sdch3.FirstUseInterval.
  </summary>
</histogram>

<histogram name="Search.AddSearchProvider" enum="AddSearchProvider">
  <obsolete>
    Replaced by Search.AddSearchProvider2, which is also now obsolete.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures how much the user modifies their search engines, whether through
    window.external.AddSearchProvider or chrome://settings.
  </summary>
</histogram>

<histogram name="Search.AddSearchProvider2" enum="AddSearchProvider">
  <obsolete>
    AddSearchProvider was removed 05/2016.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures usage of window.external.AddSearchProvider and user interaction
    with the resulting confirmation dialog (if any). Only works on Views
    platforms (Win, Linux, CrOS).
  </summary>
</histogram>

<histogram name="Search.ContextualSearchAllCapsResultsSeen"
    enum="ContextualSearchResultsSeen">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether search results were seen during a contextual search where the
    selected text consisted of all capital letters. Only logged when contextual
    search is triggered due to a tap. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchBarOverlap"
    enum="ContextualSearchTapSuppression">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether a Tap was suppressed because the Bar overlapped the selection area.
    Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchBarOverlapSeen"
    enum="ContextualSearchBarOverlapSeen">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether the Bar overlapped the selection area and whether the results were
    seen. Recorded when the UX is hidden. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchBasePageProtocol"
    enum="ContextualSearchBasePageProtocol">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The protocol of the base page, logged at the time that any Search Term
    Resolution Response is recieved.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchBlacklistSeen"
    enum="ContextualSearchBlacklistSeen">
  <owner>donnd@chromium.org</owner>
  <owner>pedrosimonetti@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The details (blacklist reason and whether the results were seen) of every
    search term issued by a tap gesture. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchContextualCardsIntegration.DataShown"
    enum="Boolean">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether Contextual Cards data was shown in the Contextual Search Bar.
    Contextual Cards data is included with the search term resolution response.
    Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchContextualCardsIntegration.ResultsSeen"
    enum="ContextualSearchResultsSeen">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether search results were seen as part of a Contextual Search when
    Contextual Cards data was shown. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchDurationBetweenTriggerAndScrollNotSeen"
    units="ms">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The duration between the panel being triggered and the panel being dismissed
    due to a scroll when search results were not seen. Implemented for Android.
    Prior to M57 this was recorded on tap and longpress; on M57+ it is only
    recorded on tap.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchDurationBetweenTriggerAndScrollSeen"
    units="ms">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The duration between the panel being triggered and the panel being dismissed
    due to a scroll when search results were seen. Implemented for Android.
    Prior to M57 this was recorded on tap and longpress; on M57+ it is only
    recorded on tap.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchDurationNonPrefetched" units="ms">
  <obsolete>
    Discontinued on 2/2017 Due to data being buggy and not useful.
  </obsolete>
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The time from opening the panel until the SERP is fully loaded. Applies only
    to non-prefetched requests. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchDurationPrefetched" units="ms">
  <obsolete>
    Discontinued on 2/2017 Due to data being buggy and not useful.
  </obsolete>
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The time from opening the panel until the SERP is fully loaded. Applies only
    to prefetched requests. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchDurationSeen" units="ms">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The time from initiating to ending a contextual search, when results were
    seen as part of the search. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchDurationUnseen" units="ms">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The time from initiating to ending a contextual search, when results were
    not seen as part of the search and the search did not end with the beginning
    of another contextual search. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchDurationUnseenChained" units="ms">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The time from initiating to ending a contextual search, when results were
    not seen as part of the search and the search ended with the beginning of
    another contextual search. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchEnterClosed"
    enum="ContextualSearchEnterClosedStateChange">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The details (previous state and reason) of the first entry into the closed
    panel state within a contextual search. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchEnterExpanded"
    enum="ContextualSearchEnterExpandedStateChange">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The details (previous state and reason) of the first entry into the expanded
    panel state within a contextual search. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchEnterMaximized"
    enum="ContextualSearchEnterMaximizedStateChange">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The details (previous state and reason) of the first entry into the
    maximized panel state within a contextual search. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchEnterPeeked"
    enum="ContextualSearchEnterPeekedStateChange">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The details (previous state and reason) of the first entry into the peeked
    panel state within a contextual search. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchExitClosed"
    enum="ContextualSearchExitClosedStateChange">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The details (destination state and reason) of the first exit out of the
    closed panel state within a contextual search. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchExitExpanded"
    enum="ContextualSearchExitExpandedStateChange">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The details (destination state and reason) of the first exit out of the
    expanded panel state within a contextual search. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchExitMaximized"
    enum="ContextualSearchExitMaximizedStateChange">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The details (destination state and reason) of the first exit out of the
    maximized panel state within a contextual search. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchExitPeeked"
    enum="ContextualSearchExitPeekedStateChange">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The details (destination state and reason) of the first exit out of the
    peeked panel state within a contextual search. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchFallbackSearchRequestStatus"
    enum="ContextualSearchSearchRequestStatus">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The status of the Contextual Search fallback Search request. Implemented for
    Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchFirstRunFlowOutcome"
    enum="ContextualSearchPreferenceState">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The state of the Contextual Search Preference after the first run flow.
    Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchFirstRunPanelSeen"
    enum="ContextualSearchFirstRunPanelSeen">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether the first run flow's panel was seen as part of a contextual search.
    Only logged when the user triggered the first run flow yet exited the search
    still in the undecided preference state. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchIconSpriteAnimated"
    enum="ContextualSearchIconSpriteAnimated">
  <obsolete>
    Contextual Search icon sprite removed 04/2017.
  </obsolete>
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether search results were seen, whether the search provider icon sprite
    was animated when the panel first appeared, and the triggering gesture. If
    animation is disabled due to a field trial, we still log
    &quot;animated&quot; if the animation would have run otherwise.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchLiteralSearchDuration" units="ms">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The time from starting a literal search until the results in the SERP start
    to become viewable. Applies only to prefetched requests. Implemented for
    Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchLowPrioritySearchRequestStatus"
    enum="ContextualSearchSearchRequestStatus">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The status of the Contextual Search low priority Search request. Implemented
    for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchMandatoryPromoOutcomeByGesture"
    enum="ContextualSearchOutcomeByGesture">
  <owner>donnd@chromium.org</owner>
  <owner>pedrosimonetti@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The outcome of the mandatory Promo broken down by original triggering
    gesture. Logged for each view of the promo. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchNormalPrioritySearchRequestStatus"
    enum="ContextualSearchSearchRequestStatus">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The status of the Contextual Search normal priority Search request.
    Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPanelOpenDuration" units="ms">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The time from opening the panel beyond peek until the panel is closed.
    Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPeekPromoCount" units="count">
  <owner>donnd@chromium.org</owner>
  <owner>pedrosimonetti@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The number of times the Peek Promo was seen. This histogram will be emitted
    when the Panel closes. The panel is always visible when the Peek Promo is
    shown, so this histogram will always be emitted after a Promo is shown
    (except in the case of a crash). This histogram does not care whether the
    Panel was opened.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPeekPromoCountUntilOpened"
    units="count">
  <owner>donnd@chromium.org</owner>
  <owner>pedrosimonetti@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The number of times the Peek Promo was seen until the Panel was opened. This
    histogram will be emitted when the Panel closes, if the Panel was opened
    with the Peek Promo visible. If the Panel is not opened, nothing will be
    emitted.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPeekPromoOutcome"
    enum="ContextualSearchPeekPromoOutcome">
  <owner>donnd@chromium.org</owner>
  <owner>pedrosimonetti@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The outcome of the Contextual Search Peek Promo for those who have seen the
    promo and for those who would have seen the promo if it was enabled, so we
    can compare the effect of the promo on users opening the Panel. This
    histogram will be emitted when the Panel closes, if the conditions to
    display the Peek Promo are met, regardless of whether the Peek Promo was
    actually visible (the Promo is controlled by Finch) and regardless of
    whether the Panel was opened.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPreferenceState"
    enum="ContextualSearchPreferenceState">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The state of the Contextual Search Preference. Can be logged multiple times.
    Used to determine the population size (user view). Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPreferenceStateChange"
    enum="ContextualSearchPreferenceState">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The Contextual Search preference state after a modification from the
    preference menu. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPrefetchSummary"
    enum="ContextualSearchPrefetchSummary">
  <obsolete>
    Discontinued on 2/2017 Due to data not being useful.
  </obsolete>
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    A summary histogram for prefetch timings, indicating fully preloaded, etc.
    Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPrevious28DayCtr" units="%">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The CTR from the previous 28 day period for each user, expressed as a
    percentage. Logged the first time the panel is closed in each new week.
    Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPrevious28DayImpressions" units="views">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The number of user impressions of the Bar from the previous 28 day period.
    Logged the first time the panel is closed in each new week. Implemented for
    Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPreviousWeekCtr" units="%">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The CTR from the previous week for each user, expressed as a percentage.
    Logged the first time the panel is closed in each new week. Implemented for
    Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPreviousWeekImpressions" units="views">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The number of user impressions of the Bar from the previous week. Logged the
    first time the panel is closed in each new week. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPromoOpenCount" units="opens">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The total count of times that the bar with the promo has been opened. Once
    the user decides, this counter is no longer updated.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPromoOutcomeByGesture"
    enum="ContextualSearchOutcomeByGesture">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The outcome of the promo broken down by original triggering gesture. Logged
    for each view of the promo.  Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPromoSeenByGesture"
    enum="ContextualSearchSeenByGesture">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether the promo was seen, broken down by original triggering gesture.
    Logged each time the promo was activated.  Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPromoTapsBeforeFirstOpen" units="taps">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The historic number of taps that showed a peeking bar with the opt-out promo
    before the first time the user opened the panel.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPromoTapsForNeverOpened" units="taps">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The historic number of taps that showed a peeking bar with the opt-out promo
    for users who have never opened the panel. This count may be limited by the
    Finch config param promo_on_limited_taps.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchPromoTapsRemaining" units="taps">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The number of remaining taps that can trigger the promo for this user.
    Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchQuickActions.Category"
    enum="ContextualSearchQuickActionCategory">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The category of quick actions shown in the Contextual Search bar. Recorded
    when the quick action is set. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchQuickActions.Clicked"
    enum="BooleanClicked">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether a quick action in the Contextual Search bar was clicked. Recorded
    when Contextual Search is dismissed. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchQuickActions.IntentResolution"
    enum="ContextualSearchQuickActionIntentResolution">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether a Contextual Search quick action intent resolved to zero, one, or
    many apps. Recorded when the quick action intent URI is resolved.
    Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchQuickActions.ResultsSeen"
    enum="ContextualSearchResultsSeen">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether search results were seen as part of a Contextual Search when a quick
    action was shown. Recorded when Contextual Search is dismissed. Implemented
    for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchQuickActions.Shown" enum="BooleanShown">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether a quick action was shown in the Contextual Search bar. Recorded when
    the quick action is set. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchQuickAnswerSeen"
    enum="ContextualSearchQuickAnswerSeen">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether a Quick Answer was activated, considered an answer, and seen.
    Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchRecentScrollNotSeen" units="ms">
  <obsolete>
    Deprecated 02/2017.
  </obsolete>
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The duration since a recent scroll when the results were not seen. Recorded
    when the UX is hidden. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchRecentScrollSeen" units="ms">
  <obsolete>
    Deprecated 02/2017.
  </obsolete>
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The duration since a recent scroll when the results were seen. Recorded when
    the UX is hidden. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchRecentScrollSuppression"
    enum="ContextualSearchTapSuppression">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether showing the Tap to Search UX in response to a Tap was suppressed by
    a recent scroll. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchResolutionDuration" units="ms">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The time from starting a resolving search until the Search Term Resolves.
    Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchResolvedSearchDuration" units="ms">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The time from starting a resolving search until the results in the SERP
    start to become viewable. Applies only to prefetched requests. Implemented
    for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchResolvedTermWords"
    enum="ContextualSearchResolvedTermWords">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether the search term was single or multi-word, logged at the time that
    any Search Term Resolution Response is recieved.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchResultsSeen"
    enum="ContextualSearchResultsSeen">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether search results were seen as part of a contextual search. Implemented
    for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchResultsSeenByGesture"
    enum="ContextualSearchSeenByGesture">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether search results were seen, broken down by original triggering
    gesture. Only includes users that have enabled. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchResultsSeenSelectionWasUrl"
    enum="ContextualSearchSeenByGesture">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether search results were seen (Contextual Search panel was opened) when
    the selection was part of a URL, broken down by original triggering gesture.
    Includes both users that have enabled Contextual Search and users that are
    undecided (have neither enabled or disabled the feature). Implemented for
    Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchScreenTopSuppressed"
    enum="ContextualSearchTapSuppression">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether Taps near the top of the screen was suppressed. Implemented for
    Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchSecondTapSeen"
    enum="ContextualSearchResultsSeen">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether results were seen for a Tap during suppression when Tap Suppression
    is enabled. Recorded when the UX is hidden. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchSelectionLengthNotSeen" units="chars">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The length of the triggering selection when search results were not seen.
    Only logged when contextual search is triggered due to a tap. Implemented
    for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchSelectionLengthSeen" units="chars">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The length of the triggering selection when search results were seen. Only
    logged when contextual search is triggered due to a tap. Implemented for
    Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchSelectionLengthSuppression"
    enum="ContextualSearchTapSuppression">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether a Tap was suppressed because the selection length was less than the
    minimum selection length. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchSelectionValid"
    enum="ContextualSearchSelectionValid">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether a Contextual Search selection was valid. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchSerpLoadedOnClose"
    enum="ContextualSearchLoaded">
  <obsolete>
    Removed 02/2017 because the data is no longer valuable.
  </obsolete>
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether the SERP was fully loaded when an opened panel was closed.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchShouldTranslate"
    enum="ContextualSearchShouldTranslate">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Emitted when a translate one-box should be forced, to indicate if it
    actually was forced or simply would have been forced if not disabled by a
    flag in the variations_service.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchStartedWithCapitalResultsSeen"
    enum="ContextualSearchResultsSeen">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether search results were seen during a contextual search where the
    selected text started with a capital letter but was not all capital letters.
    Only logged when contextual search is triggered due to a tap. Implemented
    for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchTapsSinceOpenDecided" units="taps">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The count of taps that showed a peeking bar without the opt-out promo since
    this user has last opened the panel.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchTapsSinceOpenUndecided" units="taps">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The count of taps that showed a peeking bar with the opt-out promo since
    this user has last opened the panel.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchTapSuppressionSeen"
    enum="ContextualSearchResultsSeen">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether results were seen for a Tap before suppression when Tap Suppression
    is enabled. Recorded when the UX is hidden. Implemented for Android.
  </summary>
</histogram>

<histogram
    name="Search.ContextualSearchTapSuppressionSeen.AnyHeuristicSatisfied"
    enum="ContextualSearchSuppressionResultsSeen">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    Whether results were seen for a Tap and whether any suppression heuristic
    was satisifed. Recorded when the UX is still shown (suppression not enabled,
    only logged). Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchTimeToSearch" units="ms">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The time between tapping on a word and performing a search. Implemented for
    Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchTopLocationNotSeen" units="dps">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The DPs count histogram for Taps that were not seen. Implemented for
    Android.
  </summary>
</histogram>

<histogram name="Search.ContextualSearchTopLocationSeen" units="dps">
  <owner>donnd@chromium.org</owner>
  <owner>twellington@chromium.org</owner>
  <summary>
    The DPs count histogram for Taps that were seen. Implemented for Android.
  </summary>
</histogram>

<histogram name="Search.DefaultSearchChangeOrigin"
    enum="DefaultSearchChangeOrigin">
  <owner>mathp@chromium.org</owner>
  <summary>
    The origin/cause of a change to the default search provider.
  </summary>
</histogram>

<histogram name="Search.DefaultSearchProvider" enum="OmniboxSearchEngine">
  <obsolete>
    Made obsolete around Chrome 32.  Use Search.DefaultSearchProviderType
    instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The id of the default search engine that is loaded after Chrome startup. See
    src/chrome/browser/search_engines/prepopulate_engines.json for more info.
  </summary>
</histogram>

<histogram name="Search.DefaultSearchProviderType"
    enum="OmniboxSearchEngineType">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The type of the default search engine that is loaded when a profile is
    opened or after a profile reset.  Note that at least one profile is opened
    on startup. Due to an error, there was a period from roughly May 9 2014 to
    May 23 2014 during which this was not being logged.
  </summary>
</histogram>

<histogram name="Search.DesktopSearch.RedirectionInfobarCloseAction"
    enum="DesktopSearchRedirectionInfobarCloseAction">
  <obsolete>
    Deprecated 05/2016 because desktop searches are no longer opened in the
    default browser.
  </obsolete>
  <owner>fdoray@chromium.org</owner>
  <summary>
    The action performed by the user to close the infobar explaining that a
    desktop search has been redirected to the default search engine.
  </summary>
</histogram>

<histogram name="Search.DesktopSearch.URLAction" enum="DesktopSearchURLAction">
  <obsolete>
    Deprecated 05/2016 because desktop searches are no longer opened in the
    default browser.
  </obsolete>
  <owner>fdoray@chromium.org</owner>
  <summary>
    The action performed when a desktop search URL is passed to the browser
    through the command line.
  </summary>
</histogram>

<histogram name="Search.GsaAccountChangeNotificationSource"
    enum="GsaAccountChangeNotificationSource">
  <owner>lizeb@chromium.org</owner>
  <summary>
    On Android, when GSA tells Chrome about an account change, what is the
    notification mechanism used, which is either the service connection, or a
    broadcast. Recorded once per account change.
  </summary>
</histogram>

<histogram name="Search.GsaBroadcastsAccountChanges"
    enum="BooleanAccountChange">
  <owner>lizeb@chromium.org</owner>
  <summary>
    On Android, whether GSA tells Chrome about account changes through the
    service or through a broadcast. This is reported at most once per Chrome
    startup.
  </summary>
</histogram>

<histogram name="Search.GsaProcessMemoryPss" units="KB">
  <owner>lizeb@chromium.org</owner>
  <summary>
    On Android, when Chrome connects to a bound service exposed by GSA, the
    memory footprint of the GSA process in KB, as measured by PSS. Reported at
    most once per Chrome startup.
  </summary>
</histogram>

<histogram name="Search.MigratedPrefToDictionaryValue" enum="BooleanHit">
  <obsolete>
    Deprecated after migrator is deleted in 12/2016.
  </obsolete>
  <owner>caitkp@chromium.org</owner>
  <summary>
    The number of times that a user-selected DSE was migrated from separate
    String/List/..Value preferences to the new single DictionaryValue used in
    M36.
  </summary>
</histogram>

<histogram
    name="Security.HTTPBad.NavigationStartedAfterUserWarnedAboutSensitiveInput"
    units="ms">
  <owner>estark@chromium.org</owner>
  <summary>
    Records the time from when a page was put into a warning state because of a
    sensitive input on an HTTP page until a navigation starts. Recorded at most
    once per main-frame navigation. The Finch trial 'mark-non-secure-as'
    controls whether the user sees an omnibox warning for this state, or just a
    console warning.
  </summary>
</histogram>

<histogram name="Security.HTTPBad.UserWarnedAboutSensitiveInput"
    enum="BooleanShown">
  <obsolete>
    Deprecated on 2016-11-10 because this is replaced by two separate metrics:
    Security.HTTPBad.UserWarnedAboutSensitiveInput.CreditCard and
    Security.HTTPBad.UserWarnedAboutSensitiveInput.Password.
  </obsolete>
  <owner>elawrence@chromium.org</owner>
  <owner>estark@chromium.org</owner>
  <summary>
    Whether a &quot;Not Secure&quot; warning was shown in the omnibox because a
    security-sensitive form field was rendered in a non-secure context. Logged
    at most once per main-frame navigation.
  </summary>
</histogram>

<histogram name="Security.HTTPBad.UserWarnedAboutSensitiveInput.CreditCard"
    enum="BooleanShown">
  <owner>elawrence@chromium.org</owner>
  <owner>estark@chromium.org</owner>
  <summary>
    Whether a &quot;Not Secure&quot; warning was shown in the omnibox because a
    credit card form field was rendered in a non-secure context. Logged at most
    once per main-frame navigation.
  </summary>
</histogram>

<histogram name="Security.HTTPBad.UserWarnedAboutSensitiveInput.Password"
    enum="BooleanShown">
  <owner>elawrence@chromium.org</owner>
  <owner>estark@chromium.org</owner>
  <summary>
    Whether a &quot;Not Secure&quot; warning was shown in the omnibox because a
    password form field was rendered in a non-secure context. Logged at most
    once per main-frame navigation.
  </summary>
</histogram>

<histogram
    name="Security.HTTPBad.WebContentsDestroyedAfterUserWarnedAboutSensitiveInput"
    units="ms">
  <owner>estark@chromium.org</owner>
  <summary>
    Records the time delta between when a page was put into a warning state
    because of a sensitive input on an HTTP page and when the WebContents was
    destroyed. Recorded at most once per main-frame navigation, and it is not
    recorded if the user starts a navigation before the WebContents is
    destroyed. The Finch trial 'mark-non-secure-as' controls whether the user
    sees an omnibox warning for this state, or just a console warning.
  </summary>
</histogram>

<histogram name="Security.PageInfo.Action.HttpsUrl.Dangerous"
    enum="WebsiteSettingsAction">
  <owner>estark@chromium.org</owner>
  <owner>lgarron@chromium.org</owner>
  <summary>
    Tracks Page Info bubble actions that take place on an HTTPS URL that has
    been marked dangerous or not secure (such as for malware or broken HTTPS).
  </summary>
</histogram>

<histogram name="Security.PageInfo.Action.HttpsUrl.Downgraded"
    enum="WebsiteSettingsAction">
  <owner>estark@chromium.org</owner>
  <owner>lgarron@chromium.org</owner>
  <summary>
    Tracks Page Info bubble actions that take place on a valid HTTPS URL that
    has a security issue (e.g. mixed content).
  </summary>
</histogram>

<histogram name="Security.PageInfo.Action.HttpsUrl.Valid"
    enum="WebsiteSettingsAction">
  <owner>estark@chromium.org</owner>
  <owner>lgarron@chromium.org</owner>
  <summary>
    Tracks Page Info bubble actions that take place on a valid HTTPS URL with no
    security issues (e.g. no mixed content).
  </summary>
</histogram>

<histogram name="Security.PageInfo.Action.HttpUrl.Dangerous"
    enum="WebsiteSettingsAction">
  <owner>estark@chromium.org</owner>
  <owner>lgarron@chromium.org</owner>
  <summary>
    Tracks Page Info bubble actions that take place on an HTTP URL that has been
    marked dangerous (such as for malware).
  </summary>
</histogram>

<histogram name="Security.PageInfo.Action.HttpUrl.Neutral"
    enum="WebsiteSettingsAction">
  <owner>estark@chromium.org</owner>
  <owner>lgarron@chromium.org</owner>
  <summary>
    Tracks Page Info bubble actions that take place on an HTTP URL that does not
    have an omnibox security indicator warning associated with it.
  </summary>
</histogram>

<histogram name="Security.PageInfo.Action.HttpUrl.Warning"
    enum="WebsiteSettingsAction">
  <owner>estark@chromium.org</owner>
  <owner>lgarron@chromium.org</owner>
  <summary>
    Tracks Page Info bubble actions that take place on an HTTP URL that has been
    given a &quot;Not secure&quot; warning in the omnibox.
  </summary>
</histogram>

<histogram name="Security.XFrameOptions" enum="XFrameOptions">
  <owner>mkwst@chromium.org</owner>
  <owner>arthursonzogni@chromium.org</owner>
  <summary>
    Record uses of the X-Frame-Options header when a page is loaded as an
    iframe.
  </summary>
</histogram>

<histogram name="SequencedWorkerPool.ShutdownDelayTime" units="ms">
  <owner>gab@chromium.org</owner>
  <summary>
    How long it takes to wait for tasks that block shutdown to complete.
  </summary>
</histogram>

<histogram name="SequencedWorkerPool.TaskCount">
  <obsolete>
    Histogram wasn't even reported anymore when ownership was taken in 11/2015.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    How many pending tasks there are on each request for work from a worker
    thread.
  </summary>
</histogram>

<histogram name="SequencedWorkerPool.UnrunnableTaskCount">
  <obsolete>
    Histogram wasn't even reported anymore when ownership was taken in 11/2015.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>How many tasks we skip over to find the next runnable task.</summary>
</histogram>

<histogram name="ServicesCustomization.LoadResult"
    enum="ServicesCustomizationLoadResult">
  <owner>alemate@chromium.org</owner>
  <summary>
    Records result of fetching and parsing OEM customization manifest. See
    ServicesCustomizationDocument class for more info. Used only on Chrome OS.
  </summary>
</histogram>

<histogram name="ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time"
    units="ms">
  <owner>horo@chromium.org</owner>
  <summary>
    The time taken for the browser to find and possibly start an active worker
    to dispatch a FetchEvent for a main frame resource request. For context, a
    FetchEvent can only be dispatched to an ACTIVATED worker that is running (it
    has been successfully started). The measurements starts when the browser
    process receives the request. The browser then finds the worker appropriate
    for this request (if there is none, this metric is not recorded). If that
    worker is already started, the browser process can send the request to it,
    so the measurement ends quickly. Otherwise the browser process has to start
    the worker and the measurement ends when the worker is successfully started
    (we do not include in the time it takes for the worker to become ACTIVATED).
    The metric is not recorded in the following situations: 1) The worker was in
    state INSTALLED or ACTIVATING, and the browser had to wait for it to become
    ACTIVATED. This is to avoid including the time to execute the activate event
    handlers in the worker's script. 2) The worker was started for the fetch AND
    DevTools was attached during startup. This is intended to avoid including
    the time for debugging. 3) The request is for New Tab Page. This is because
    it tends to dominate the stats and makes the results largely skewed.
  </summary>
</histogram>

<histogram name="ServiceWorker.ActivatedWorkerPreparationForMainFrame.Type"
    enum="ServiceWorkerPreparationType">
  <owner>falken@chromium.org</owner>
  <summary>
    The type of preparation needed for the browser to find and possibly start an
    active worker to dispatch a FetchEvent for a main frame resource request.
    See details at ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time.
    The suffixed histograms for .Time record the time required for each type.
  </summary>
</histogram>

<histogram name="ServiceWorker.ActivateEvent.Time" units="ms">
  <owner>shimazu@chromium.org</owner>
  <summary>
    Execution time of ServiceWorkerGlobalScope.onactivate. Includes the time for
    waitUntil() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.ActivateEventExecutionTime" units="ms">
  <obsolete>
    Deprecated 2015-05 in favor of ServiceWorker.ActivateEvent.Time.
  </obsolete>
  <owner>shimazu@chromium.org</owner>
  <summary>
    Execution time of ServiceWorkerGlobalScope.onactivate. Includes the time for
    waitUntil() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.ActivateEventStatus"
    enum="ServiceWorkerStatusCode">
  <owner>falken@chromium.org</owner>
  <summary>
    The result of dispatching the activate event to the worker. This is recorded
    to both ServiceWorker.ActivateEventStatus and whichever of
    ServiceWorker.ActivateEventStatus_InShutdown
    ServiceWorker.ActivateEventStatus_NotInShutdown is appropriate. (InShutdown
    means the context was null or ServiceWorkerProcessManger::Shutdown was
    called.)
  </summary>
</histogram>

<histogram name="ServiceWorker.BackgroundFetchAbortEvent.Time" units="ms">
  <owner>peter@chromium.org</owner>
  <summary>
    The time taken between dispatching a BackgroundFetchAbortEvent to a Service
    Worker and receiving a message that it finished handling the event. Includes
    the time for the waitUntil() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.BackgroundFetchClickEvent.Time" units="ms">
  <owner>peter@chromium.org</owner>
  <summary>
    The time taken between dispatching a BackgroundFetchClickEvent to a Service
    Worker and receiving a message that it finished handling the event. Includes
    the time for the waitUntil() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.BackgroundFetchedEvent.Time" units="ms">
  <owner>peter@chromium.org</owner>
  <summary>
    The time taken between dispatching a BackgroundFetchedEvent to a Service
    Worker and receiving a message that it finished handling the event. Includes
    the time for the waitUntil() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.BackgroundFetchFailEvent.Time" units="ms">
  <owner>peter@chromium.org</owner>
  <summary>
    The time taken between dispatching a BackgroundFetchFailEvent to a Service
    Worker and receiving a message that it finished handling the event. Includes
    the time for the waitUntil() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.BackgroundSyncEvent.Time" units="ms">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The time taken between dispatching a SyncEvent to a Service Worker and
    receiving a message that it finished handling the event. Includes the time
    for the waitUntil() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.ContextRequestHandlerStatus"
    enum="ServiceWorkerContextRequestHandlerStatus">
  <owner>falken@chromium.org</owner>
  <summary>
    The result of ServiceWorkerContextRequestHandler handling a request for a
    service worker script. The histogram is suffixed to distinguish new vs
    installed workers and main vs imported scripts.
  </summary>
</histogram>

<histogram name="ServiceWorker.Database.DestroyDatabaseResult"
    enum="ServiceWorkerDatabaseStatus">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Records result of destroy database operations in ServiceWorkerDatabase.
  </summary>
</histogram>

<histogram name="ServiceWorker.Database.OpenResult"
    enum="ServiceWorkerDatabaseStatus">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Records result of opening a database for ServiceWorkerDatabase.
  </summary>
</histogram>

<histogram name="ServiceWorker.Database.ReadResult"
    enum="ServiceWorkerDatabaseStatus">
  <owner>nhiroki@chromium.org</owner>
  <summary>Records result of read operations in ServiceWorkerDatabase.</summary>
</histogram>

<histogram name="ServiceWorker.Database.WriteResult"
    enum="ServiceWorkerDatabaseStatus">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Records result of write operations in ServiceWorkerDatabase.
  </summary>
</histogram>

<histogram name="ServiceWorker.DiskCache.InitResult">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Records result of opening a disk cache for ServiceWorkerDiskCache.
  </summary>
</histogram>

<histogram name="ServiceWorker.DiskCache.ReadResponseResult"
    enum="ServiceWorkerReadResponseResult">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Records result of reading response from ServiceWorkerDiskCache.
  </summary>
</histogram>

<histogram name="ServiceWorker.DiskCache.WriteResponseResult"
    enum="ServiceWorkerWriteResponseResult">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Records result of writing response into ServiceWorkerDiskCache.
  </summary>
</histogram>

<histogram name="ServiceWorker.DiskCacheMigrator.MigrationResult"
    enum="ServiceWorkerDiskCacheMigrationStatus">
  <obsolete>
    Deprecated because the migrator was removed as of 12/2015.
  </obsolete>
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Records result of ServiceWorkerDiskCacheMigrator::Start that migrates
    resources in BlockFile backend to Simple backend.
  </summary>
</histogram>

<histogram name="ServiceWorker.DiskCacheMigrator.MigrationTime" units="ms">
  <obsolete>
    Deprecated because the migrator was removed as of 12/2015.
  </obsolete>
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Execution time of ServiceWorkerDiskCache migration from BlockFile to Simple.
  </summary>
</histogram>

<histogram name="ServiceWorker.DiskCacheMigrator.NumberOfMigratedResources"
    units="count">
  <obsolete>
    Deprecated because the migrator was removed as of 12/2015.
  </obsolete>
  <owner>nhiroki@chromium.org</owner>
  <summary>
    The counts of resources migrated by ServiceWorkerDiskCacheMigrator. This
    includes the main script and imported scripts.
  </summary>
</histogram>

<histogram name="ServiceWorker.EventDispatchingDelay" units="ms">
  <owner>horo@chromium.org</owner>
  <summary>
    The time taken between sending an event IPC from the browser process to a
    Service Worker and executing the event handler in the Service Worker.
  </summary>
</histogram>

<histogram name="ServiceWorker.EventHandledRatioType.Fetch"
    enum="ServiceWorkerEventHandleRatioType">
  <owner>kinuko@chromium.org</owner>
  <summary>
    Records the proportion of (non foreign) fetch events that are handled
    compared to the number of events that are fired for a ServiceWorker.
    Recorded each time the ServiceWorker is stopped when at least one event was
    fired.
  </summary>
</histogram>

<histogram name="ServiceWorker.EventHandledRatioType.ForeignFetch"
    enum="ServiceWorkerEventHandleRatioType">
  <owner>mek@chromium.org</owner>
  <summary>
    Records the proportion of foreign fetch events that are handled compared to
    the number of events that are fired for a ServiceWorker.  Recorded each time
    the ServiceWorker is stopped when at least one event was fired.
  </summary>
</histogram>

<histogram name="ServiceWorker.ExtendableMessageEvent.Time" units="ms">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    The time taken between dispatching an ExtendableMessageEvent to a Service
    Worker and receiving a message that it finished handling the event. Includes
    the time for the waitUntil() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.ExternalRequest.Time" units="ms">
  <owner>lazyboy@chromium.org</owner>
  <summary>
    The duration an external request spent to keep a service worker alive.
    Currently, extension service workers use external requests to keep the
    worker alive during the time the worker requests an extension API.
  </summary>
</histogram>

<histogram name="ServiceWorker.FetchEvent.Fallback.Time" units="ms">
  <owner>jeremyarcher@chromium.org</owner>
  <summary>
    The time taken between dispatching a FetchEvent to a Service Worker and
    receiving a fallback-to-network reply.
  </summary>
</histogram>

<histogram name="ServiceWorker.FetchEvent.HasResponse.Time" units="ms">
  <owner>jeremyarcher@chromium.org</owner>
  <summary>
    The time taken between dispatching a FetchEvent to a Service Worker and
    receiving a response. Includes the time for the respondWith() promise to
    settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.FetchEvent.MainResource.Status"
    enum="ServiceWorkerStatusCode">
  <owner>falken@chromium.org</owner>
  <summary>
    The result of dispatching a fetch event to a Service Worker for a main
    resource request.
  </summary>
</histogram>

<histogram name="ServiceWorker.FetchEvent.Subresource.Status"
    enum="ServiceWorkerStatusCode">
  <owner>falken@chromium.org</owner>
  <summary>
    The result of dispatching a fetch event to a Service Worker for a
    subresource request.
  </summary>
</histogram>

<histogram name="ServiceWorker.FetchEvent.Time" units="ms">
  <obsolete>
    Deprecated on 2015-07-13; please use
    ServiceWorker.FetchEvent.HasResponse.Time or
    ServiceWorker.FetchEvent.Fallback.Time.
  </obsolete>
  <owner>shimazu@chromium.org</owner>
  <summary>
    Execution time of ServiceWorkerGlobalScope.onfetch. Includes the time for
    the respondWith() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.FetchEvent.WaitUntil.Time" units="ms">
  <owner>shimazu@chromium.org</owner>
  <summary>
    The time taken between dispatching a FetchEvent to a Service Worker and
    finishing the FetchEvent. Includes the time for the waitUntil() promise to
    settle. If there is no waitUntil promise, this will be almost the same with
    HasResponse.Time or Fallback.Time.
  </summary>
</histogram>

<histogram name="ServiceWorker.FetchEventExecutionTime" units="ms">
  <obsolete>
    Deprecated 2015-05 in favor of ServiceWorker.FetchEvent.Time.
  </obsolete>
  <owner>shimazu@chromium.org</owner>
  <summary>
    Execution time of ServiceWorkerGlobalScope.onfetch. Includes the time for
    the respondWith() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.ForeignFetch.OriginCount">
  <owner>mek@chromium.org</owner>
  <summary>
    The number of origins a particular service worker with foreign fetch
    registrations will intercept fetches from. A value of zero indicates that
    the foreign fetch service worker intercepts requests from any origin.
    Recorded at the end of a successful install event, if the service worker
    registered for foreign fetch. A service worker that registers for foreign
    fetch must always intercept fetches from at least one origin or intercept
    fetches from all origins.
  </summary>
</histogram>

<histogram name="ServiceWorker.ForeignFetch.ScopeCount">
  <owner>mek@chromium.org</owner>
  <summary>
    The number of foreign fetch scopes a particular service worker registered
    for. Recorded at the end of every successful install event. A value of zero
    indicates that the service worker did not register for foreign fetch.
  </summary>
</histogram>

<histogram name="ServiceWorker.ForeignFetchEvent.Fallback.Time" units="ms">
  <owner>mek@chromium.org</owner>
  <summary>
    The time taken between dispatching a ForeignFetchEvent to a Service Worker
    and receiving a fallback-to-network reply. Includes the time for the
    waitUntil() promise to settle, if any.
  </summary>
</histogram>

<histogram name="ServiceWorker.ForeignFetchEvent.HasResponse.Time" units="ms">
  <owner>mek@chromium.org</owner>
  <summary>
    The time taken between dispatching a ForeignFetchEvent to a Service Worker
    and receiving a response. Includes the time for the respondWith() promise to
    settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.ForeignFetchEvent.WaitUntil.Time" units="ms">
  <owner>shimazu@chromium.org</owner>
  <summary>
    The time taken between dispatching a ForeignFetchEvent to a Service Worker
    and finishing the ForeignFetch. Includes the time for the waitUntil()
    promise to settle. If there is no waitUntil promise, this will be almost the
    same with HasResponse.Time or Fallback.Time.
  </summary>
</histogram>

<histogram name="ServiceWorker.InstallEvent.Time" units="ms">
  <owner>shimazu@chromium.org</owner>
  <summary>
    The time taken between dispatching an InstallEvent to a Service Worker and
    receiving a message that it finished handling the event. Includes the time
    for the waitUntil() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.InstallEventExecutionTime" units="ms">
  <obsolete>
    Deprecated 2015-05 in favor of ServiceWorker.InstallEvent.Time.
  </obsolete>
  <owner>shimazu@chromium.org</owner>
  <summary>
    Execution time of ServiceWorkerGlobalScope.oninstall. Includes the time for
    the waitUntil() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.InstallEventStatus"
    enum="ServiceWorkerStatusCode">
  <owner>falken@chromium.org</owner>
  <summary>The result of dispatching the install event to the worker.</summary>
</histogram>

<histogram name="ServiceWorker.MainFramePageLoad" enum="ServiceWorkerSite">
  <owner>horo@chromium.org</owner>
  <summary>
    Counts main frame page loads controlled by a service worker.
  </summary>
</histogram>

<histogram name="ServiceWorker.MainFramePageLoad.CoreTransition"
    enum="CorePageTransition">
  <owner>horo@chromium.org</owner>
  <summary>
    The transition type for main frame page loads controlled by a service
    worker.
  </summary>
</histogram>

<histogram name="ServiceWorker.MainFramePageLoad.RedirectChainLength"
    units="urls">
  <owner>horo@chromium.org</owner>
  <summary>
    Total length of the server redirects during main frame page loads controlled
    by a service worker.
  </summary>
</histogram>

<histogram name="ServiceWorker.MessageEvent.Time" units="ms">
  <obsolete>
    Deprecated 2016-04 in favor of ServiceWorker.ExtendableMessageEvent.Time.
  </obsolete>
  <owner>shimazu@chromium.org</owner>
  <summary>Execution time of ServiceWorkerGlobalScope.onmessage.</summary>
</histogram>

<histogram name="ServiceWorker.MessageEventExecutionTime" units="ms">
  <obsolete>
    Deprecated 2015-05 in favor of ServiceWorker.MessageEvent.Time.
  </obsolete>
  <owner>shimazu@chromium.org</owner>
  <summary>Execution time of ServiceWorkerGlobalScope.onmessage.</summary>
</histogram>

<histogram name="ServiceWorker.NavigationHintPrecision" enum="BooleanEnabled">
  <obsolete>
    This experiment was turned down, see https://crbug.com/616502.
  </obsolete>
  <owner>horo@chromium.org</owner>
  <summary>
    The precision of the speculative launch of Service Workers for navigation
    hints. Recorded when the worker is stopped. If there was no main/sub frame
    fetch event fired on the worker, this value is false. This means that the
    speculative launch wasn't helpful.
  </summary>
</histogram>

<histogram name="ServiceWorker.NavigationPreload.ConcurrentTime" units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    The duration of time when both (1) a service worker is being found and
    possibly started up, (2) the navigation preload request is in-flight. The
    measurement ends once either the worker is prepared, or the navigation
    preload response is received (OnReceiveResponse() is called). This is a
    rough estimate of the performance win of using navigation preload, ignoring
    concurrency overhead. This histogram is recorded when a navigation preload
    response is succesfully forwarded to the service worker's fetch event, with
    the same restrictions as for
    ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time. The sample is
    additionally recorded to the appropriate suffixed histograms.
  </summary>
</histogram>

<histogram name="ServiceWorker.NavigationPreload.FinishedBeforeStartWorker"
    enum="BooleanNavPreloadFinishedFirst">
  <owner>falken@chromium.org</owner>
  <summary>
    Whether the navigation preload response arrived before the activated and
    running service worker was prepared. This histogram is recorded when a
    navigation preload response is succesfully forwarded to the service worker's
    fetch event, with the same restrictions as for
    ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time. The sample is
    additionally recorded to the appropriate suffixed histograms.
  </summary>
</histogram>

<histogram name="ServiceWorker.NavigationPreload.HeaderSize" units="bytes">
  <owner>horo@chromium.org</owner>
  <summary>
    The size of Service-Worker-Navigation-Preload header when the navigation
    preload request is to be sent. The default value of the header is
    &quot;true&quot;, so the default size is 4.
  </summary>
</histogram>

<histogram name="ServiceWorker.NavigationPreload.NavPreloadAfterSWStart"
    units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    This is recorded in the case where the activated and running service worker
    was prepared before the navigation preload response arrived. It is the
    remaining time it took to receive the response after the worker was
    prepared.

    This histogram is recorded when a navigation preload response is succesfully
    forwarded to the service worker's fetch event (for the case mentioned
    above), with the same restrictions as for
    ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time. The sample is
    additionally recorded to the appropriate suffixed histograms.
  </summary>
</histogram>

<histogram name="ServiceWorker.NavigationPreload.ResponseTime" units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    The time taken for the navigation preload response to start, i.e., when
    OnReceiveResponse() is called. This histogram is recorded when a navigation
    preload response is successfully forwarded to the service worker's fetch
    event, with the same restrictions as for
    ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time. The sample is
    additionally recorded to the appropriate suffixed histograms.
  </summary>
</histogram>

<histogram name="ServiceWorker.NavigationPreload.SWStartAfterNavPreload"
    units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    This is recorded in the case where the navigation preload response arrived
    before the activated and running service worker was prepared. It is the
    remaining time it took to prepare the worker after the response arrived.

    This histogram is recorded when a navigation preload response is succesfully
    forwarded to the service worker's fetch event (for the case mentioned
    above), with the same restrictions as for
    ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time. The sample is
    additionally recorded to the appropriate suffixed histograms.
  </summary>
</histogram>

<histogram name="ServiceWorker.NotificationClickEvent.Time" units="ms">
  <owner>peter@chromium.org</owner>
  <summary>
    The time taken between dispatching a NotificationClickEvent to a Service
    Worker and receiving a message that it finished handling the event. Includes
    the time for the waitUntil() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.NotificationClickEventExecutionTime" units="ms">
  <obsolete>
    Deprecated 2015-05 in favor of ServiceWorker.NotificationClickEvent.Time.
  </obsolete>
  <owner>peter@chromium.org</owner>
  <summary>
    Execution time of ServiceWorkerGlobalScope.onnotificationclick.
  </summary>
</histogram>

<histogram name="ServiceWorker.NotificationCloseEvent.Time" units="ms">
  <owner>nsatragno@chromium.org</owner>
  <owner>peter@chromium.org</owner>
  <summary>
    The time taken between dispatching a NotificationCloseEvent to a Service
    Worker and receiving a message that it finished handling the event. Includes
    the time for the waitUntil() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.PageLoad" enum="ServiceWorkerSite">
  <owner>falken@chromium.org</owner>
  <summary>Counts page loads controlled by a service worker.</summary>
</histogram>

<histogram name="ServiceWorker.PaymentRequestEvent.Time" units="ms">
  <owner>jinho.bang@samsung.com</owner>
  <summary>
    The time taken between dispatching an PaymentRequestEvent to a Service
    Worker and receiving a message that it finished handling the event. Includes
    the time for the waitUntil() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.PushEvent.Time" units="ms">
  <owner>johnme@chromium.org</owner>
  <summary>
    The time taken between dispatching a PushEvent to a Service Worker and
    receiving a message that it finished handling the event. Includes the time
    for the waitUntil() promise to settle.
  </summary>
</histogram>

<histogram name="ServiceWorker.PushEventExecutionTime" units="ms">
  <obsolete>
    Deprecated 2015-05 in favor of ServiceWorker.PushEvent.Time.
  </obsolete>
  <owner>johnme@chromium.org</owner>
  <summary>Execution time of ServiceWorkerGlobalScope.onpush.</summary>
</histogram>

<histogram name="ServiceWorker.RequestTimeouts.Count"
    enum="ServiceWorkerMetrics.EventType">
  <owner>jeremyarcher@google.com</owner>
  <summary>
    The number of Service Worker request timeouts, by request type.
  </summary>
</histogram>

<histogram name="ServiceWorker.Runtime" units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    The amount of time a service worker ran for (wall time). Starts recording
    when the service worker finished starting, and stops when the service worker
    finished stopping. Not recorded if DevTools was attached to the service
    worker at some point while it was running.
  </summary>
</histogram>

<histogram name="ServiceWorker.ScriptCachedMetadataSize" units="bytes">
  <owner>horo@chromium.org</owner>
  <summary>
    The length of cached metadata of Service Worker scripts. Logged on each load
    of Service Worker script only when the cached metadata is available. It
    doesn't include the size of imported scripts.
  </summary>
</histogram>

<histogram name="ServiceWorker.ScriptCachedMetadataTotalSize" units="bytes">
  <owner>horo@chromium.org</owner>
  <summary>
    The total length of cached metadata of Service Worker scripts. Logged on
    each start of Service Worker only when the cached metadata is available. It
    includes the main script and imported scripts.
  </summary>
</histogram>

<histogram name="ServiceWorker.ScriptCount" units="count">
  <owner>horo@chromium.org</owner>
  <summary>
    The counts of scripts per Service Worker. Logged on each start of Service
    Worker. It includes the main script and imported scripts.
  </summary>
</histogram>

<histogram name="ServiceWorker.ScriptLoadSuccess" enum="BooleanSuccess">
  <owner>falken@chromium.org</owner>
  <summary>
    Whether loading the service worker script succeeded. Only recorded for
    installed service workers. Recorded by the browser process when reported
    back by the renderer during worker startup.
  </summary>
</histogram>

<histogram name="ServiceWorker.ScriptSize" units="bytes">
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The length of Service Worker scripts. Logged on each load of Service Worker
    script. It doesn't include the size of imported scripts.
  </summary>
</histogram>

<histogram name="ServiceWorker.ScriptTotalSize" units="bytes">
  <owner>horo@chromium.org</owner>
  <summary>
    The total length of Service Worker scripts. Logged on each start of Service
    Worker. It includes the main script and imported scripts.
  </summary>
</histogram>

<histogram name="ServiceWorker.SendStopWorker.Status"
    enum="ServiceWorkerStatusCode">
  <owner>falken@chromium.org</owner>
  <summary>
    The result of trying to send the IPC message to a renderer process telling
    it to stop an embedded worker. Recorded in EmbeddedWorkerInstance::Stop.
    This was previously recorded for both the IPC and Mojo service worker
    implementations, but as of Jan 2017, this is only recorded for the IPC
    implementation. This histogram will be removed after the IPC implementation
    is removed.
  </summary>
</histogram>

<histogram name="ServiceWorker.StartNewWorker.Status"
    enum="ServiceWorkerStatusCode">
  <owner>falken@chromium.org</owner>
  <summary>
    The result of trying to start a Service Worker that has not yet installed.
    See also ServiceWorker.StartWorker.Status for installed workers.
  </summary>
</histogram>

<histogram name="ServiceWorker.StartNewWorker.Time" units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    The time taken to start a Service Worker that has not yet installed, from
    process allocation to ACK of started from the renderer (which occurs after
    script execution). This may include script download time. The metric is not
    recorded if DevTools was ever attached to the Service Worker during startup.
    See also ServiceWorker.StartWorker.Time for installed workers.
  </summary>
</histogram>

<histogram name="ServiceWorker.StartWorker.AfterFailureStreak"
    enum="ServiceWorkerStatusCode">
  <owner>falken@chromium.org</owner>
  <summary>
    The result of trying to start a service worker after it has failed
    consecutively. Recorded only for installed workers.
  </summary>
</histogram>

<histogram name="ServiceWorker.StartWorker.FailureStreak" units="count">
  <owner>falken@chromium.org</owner>
  <summary>
    The number of consecutive startup failures of a service worker. Recorded
    each time the service worker failed (so there is double counting: failing
    twice results in 1 and 2 being logged). Only for installed workers.
  </summary>
</histogram>

<histogram name="ServiceWorker.StartWorker.FailureStreakEnded" units="count">
  <owner>falken@chromium.org</owner>
  <summary>
    When a worker startup succeeded after failing, the number of times the
    worker had consecutively failed. Recorded only for installed workers.
  </summary>
</histogram>

<histogram name="ServiceWorker.StartWorker.Purpose"
    enum="ServiceWorkerMetrics.EventType">
  <owner>falken@chromium.org</owner>
  <summary>
    The purpose for starting up a service worker. Recorded only for installed
    workers.
  </summary>
</histogram>

<histogram name="ServiceWorker.StartWorker.Status"
    enum="ServiceWorkerStatusCode">
  <owner>falken@chromium.org</owner>
  <summary>
    The result of trying to start a Service Worker that is already installed.
    See also ServiceWorker.StartNewWorker.Status for new workers. See also
    ServiceWorker.StartWorker.StatusByPurpose_* for the breakdown by event type.
  </summary>
</histogram>

<histogram name="ServiceWorker.StartWorker.StatusByPurpose"
    enum="ServiceWorkerStatusCode">
  <owner>falken@chromium.org</owner>
  <summary>
    The result of trying to start a service worker for a particular event type
    (see ServiceWorker.StartWorker.Status for the total). Only recorded for
    installed workers. For event type:
  </summary>
</histogram>

<histogram name="ServiceWorker.StartWorker.Time" units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    The time taken to start a Service Worker that is already installed, from
    process allocation to ACK of started from the renderer (which occurs after
    script execution). The metric is not recorded if DevTools was ever attached
    to the Service Worker during startup. See also
    ServiceWorker.StartNewWorker.Time for new workers.
  </summary>
</histogram>

<histogram name="ServiceWorker.StartWorker.Timeout.StartPurpose"
    enum="ServiceWorkerMetrics.EventType">
  <owner>falken@chromium.org</owner>
  <summary>
    Records the start purpose for a service worker that timed out while starting
    up. Recorded only for installed workers.
  </summary>
</histogram>

<histogram name="ServiceWorker.StartWorker.TimeoutPhase"
    enum="EmbeddedWorkerStartingPhase">
  <owner>falken@chromium.org</owner>
  <summary>
    The phase the EmbeddedWorker was in when ServiceWorker startup timed out.
  </summary>
</histogram>

<histogram name="ServiceWorker.StopWorker.Status"
    enum="ServiceWorkerStopStatus">
  <obsolete>
    Removed from code in Oct 2015, replaced with ServiceWorker.WorkerStopped.
  </obsolete>
  <owner>falken@chromium.org</owner>
  <summary>
    The result of trying to stop a Service Worker. Recorded only for installed
    Service Workers that succesfully stopped or were detected as stalling. If a
    worker stalled and later stopped, it will be recorded as both STALLED and
    STALLED_THEN_STOPPED.
  </summary>
</histogram>

<histogram name="ServiceWorker.StopWorker.Time" units="ms">
  <owner>falken@chromium.org</owner>
  <summary>The time taken to stop a Service Worker.</summary>
</histogram>

<histogram name="ServiceWorker.Storage.DeleteAndStartOverResult"
    enum="ServiceWorkerDeleteAndStartOverResult">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Records result of storage recovery operations in ServiceWorkerStorage.
  </summary>
</histogram>

<histogram name="ServiceWorker.Storage.DiskCacheMigrationResult"
    enum="ServiceWorkerDiskCacheMigrationResult">
  <obsolete>
    Deprecated because the migrator was removed as of 12/2015.
  </obsolete>
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Records the final result of diskcache migration in ServiceWorkerStorage.
    ServiceWorker.DiskCacheMigrator.MigrationResult records more detailed status
    of migration operations.
  </summary>
</histogram>

<histogram name="ServiceWorker.Storage.PurgeResourceResult"
    enum="NetErrorCodes">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Records successes and failures of purging a stale resource in
    ServiceWorkerStorage.
  </summary>
</histogram>

<histogram name="ServiceWorker.TerminateThread.Time" units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    The time taken in the renderer process between the main thread asking the
    worker thread to terminate and getting ACK that it terminated.
  </summary>
</histogram>

<histogram name="ServiceWorker.TimeBetweenEvents" units="ms">
  <owner>falken@chromium.org</owner>
  <summary>
    Called at the beginning of each ServiceWorkerVersion::Dispatch*Event
    function: the time elapsed since idle. Generally this is the time between
    one event ending and one event starting, if the worker remained running in
    the interim.
  </summary>
</histogram>

<histogram name="ServiceWorker.UnhandledEventRatio" units="%">
  <obsolete>
    Deprecated 2015-06 in favor of ServiceWorker.EventHandledStatus*.
  </obsolete>
  <owner>kinuko@chromium.org</owner>
  <summary>
    Records the ratio of unhandled events to all events that are dispatched to
    each ServiceWorker.  Recorded when each ServiceWorkerVersion is destructed.
  </summary>
</histogram>

<histogram name="ServiceWorker.URLRequestJob.FallbackedRequestMode"
    enum="FetchRequestMode">
  <owner>horo@chromium.org</owner>
  <summary>
    Records the the mode of request that was fallbacked to the network by the
    Service Worker.
  </summary>
</histogram>

<histogram name="ServiceWorker.URLRequestJob.MainResource.Result"
    enum="ServiceWorkerURLRequestJobResult">
  <owner>falken@chromium.org</owner>
  <summary>
    Records the result of a main resource request forwarded to a Service Worker.
  </summary>
</histogram>

<histogram name="ServiceWorker.URLRequestJob.MainResource.StatusZeroError"
    enum="ServiceWorkerResponseError">
  <owner>falken@chromium.org</owner>
  <summary>
    Records the error provided when the renderer returns a response with status
    code zero to a main resource request forwarded to a Service Worker (i.e.,
    ServiceWorker.URLRequestJob.MainResource.Result was
    REQUEST_JOB_ERROR_RESPONSE_STATUS_ZERO).
  </summary>
</histogram>

<histogram name="ServiceWorker.URLRequestJob.Subresource.Result"
    enum="ServiceWorkerURLRequestJobResult">
  <owner>falken@chromium.org</owner>
  <summary>
    Records the result of a subresource request forwarded to a Service Worker.
  </summary>
</histogram>

<histogram name="ServiceWorker.URLRequestJob.Subresource.StatusZeroError"
    enum="ServiceWorkerResponseError">
  <owner>falken@chromium.org</owner>
  <summary>
    Records the error provided when the renderer returns a response with status
    code zero to a subresource request forwarded to a Service Worker (i.e.,
    ServiceWorker.URLRequestJob.Subresource.Result was
    REQUEST_JOB_ERROR_RESPONSE_STATUS_ZERO).
  </summary>
</histogram>

<histogram name="ServiceWorker.WorkerForMessageFound" enum="Boolean">
  <owner>falken@chromium.org</owner>
  <summary>
    True if a message from the renderer intended for a browser-side embedded
    worker instance found its recipient. False if the instance did not exist
    when the message was received (e.g., it was a detached worker). Recorded in
    EmbeddedWorkerRegistry::GetWorkerForMessage.
  </summary>
</histogram>

<histogram name="ServiceWorker.WorkerStopped" enum="ServiceWorkerStoppedStatus">
  <owner>falken@chromium.org</owner>
  <summary>
    The mechanism by which a service worker entered running status STOPPED.
  </summary>
</histogram>

<histogram name="ServiceWorkerCache.Cache" units="ms">
  <owner>dmurph@chromium.org</owner>
  <summary>
    The time to perform operations on the Cache object in the ServiceWorker
    Cache API.
  </summary>
</histogram>

<histogram name="ServiceWorkerCache.Cache.AddResponseType"
    enum="ServiceWorkerCacheResponseType">
  <owner>nhiroki@chromium.org</owner>
  <summary>
    Records the response type to be added in the Cache by Cache.add()/addAll().
  </summary>
</histogram>

<histogram name="ServiceWorkerCache.Cache.AllWritesResponseType"
    enum="ServiceWorkerCacheResponseType">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    Records the response type to be added in the Cache by all operations that
    write to the cache.
  </summary>
</histogram>

<histogram name="ServiceWorkerCache.CacheStorage" units="ms">
  <owner>dmurph@chromium.org</owner>
  <summary>
    The time to perform operations on the CacheStorage object in the
    ServiceWorker Cache API.
  </summary>
</histogram>

<histogram name="ServiceWorkerCache.CreateCacheStorageResult"
    enum="BooleanCreated">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    Whether a new ServiceWorkerCacheStorage and its directory were successfully
    created on disk.
  </summary>
</histogram>

<histogram name="ServiceWorkerCache.IndexSizeDifference" units="bytes">
  <owner>cmumford@chromium.org</owner>
  <summary>
    The absolute difference between the ServiceWorker Cache size saved to the
    CacheStorage index and the actual cache size when opened.
  </summary>
</histogram>

<histogram name="ServiceWorkerCache.InitBackendResult"
    enum="ServiceWorkerCacheErrorType">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The result of opening the backend in the ServiceWorker Cache API.
  </summary>
</histogram>

<histogram name="ServiceWorkerCache.Response.HasDeprecatedURL" enum="Boolean">
  <owner>horo@chromium.org</owner>
  <summary>
    True if a response read from the CacheStorage has a url field. This field
    was deprecated in M57.
  </summary>
</histogram>

<histogram name="ServiceWorkerCache.Scheduler.IsOperationSlow" enum="Boolean">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    An operation is slow (true) if it takes at least 10 seconds to run. If an
    operation never completes, it will still be recorded as slow.
  </summary>
</histogram>

<histogram name="ServiceWorkerCache.Scheduler.OperationDuration" units="ms">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The time in ms from when an operation is started until it completes.
  </summary>
</histogram>

<histogram name="ServiceWorkerCache.Scheduler.QueueDuration" units="ms">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The time in ms from when an operation was queued until its task is posted.
  </summary>
</histogram>

<histogram name="ServiceWorkerCache.Scheduler.QueueLength" units="operations">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The number of operations in the scheduling queue just before enqueuing a new
    operation.
  </summary>
</histogram>

<histogram name="Session.ClosedTabCounts" units="operations">
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The number of tabs closed by the user during the current session
    (launch/foregrounding to backgrounding).

    This histogram is only logged on iOS when the application is backgrounded.
  </summary>
</histogram>

<histogram name="Session.NewTabCounts" units="operations">
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The number of tabs created by the user during the current session
    (launch/foregrounding to backgrounding).

    This histogram is only logged on iOS when the application is backgrounded.
  </summary>
</histogram>

<histogram name="Session.OpenedTabCounts" units="operations">
  <owner>rohitrao@chromium.org</owner>
  <summary>
    The number of times the user changed the active tab (this can happen when
    manually selecting a new tab, when a pre-rendered tab is made active, when
    closing the current tab and the next one is selected) during the current
    session (launch/foregrounding to backgrounding).

    This histogram is only logged on iOS when the application is backgrounded.
  </summary>
</histogram>

<histogram name="Session.TotalDuration" units="ms">
  <owner>mariakhomenko@chromium.org</owner>
  <owner>fqian@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <owner>chrisha@chromium.org</owner>
  <summary>
    The length of a session (launch/foregrounding to backgrounding) in
    milliseconds.

    Desktop: This also takes into account user interaction and audio events.
    Starting from M55 the session length is recorded by discounting for default
    inactivity timeout.

    Android: There is a known issue where JavaScript dialogs and other things
    that take focus away from the Chrome activity can cause this metric to
    record a session end prematurely. See: crbug.com/678276.
  </summary>
</histogram>

<histogram name="SessionCrashed.Bubble" enum="SessionCrashedBubbleUserAction">
  <owner>yiyaoliu@chromium.org</owner>
  <summary>How did the user interact with the SessionCrashed Bubble?</summary>
</histogram>

<histogram name="SessionRestore.Actions" enum="SessionRestoreActions">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The actions that have occurred in a session restore timeline. These are to
    be interpreted as raw event counts. Tabs are almost certainly deferred due
    to the existence memory pressure, but this may not always be the case.
  </summary>
</histogram>

<histogram name="SessionRestore.AllTabsLoaded" units="ms">
  <owner>chrisha@chromium.org</owner>
  <owner>georgesak@chromium.org</owner>
  <summary>
    The time from SessionRestore start until all tabs have finished loading.
  </summary>
</histogram>

<histogram name="SessionRestore.command_size" units="bytes">
  <obsolete>
    Deprecated 2017-02 as not actionable.
  </obsolete>
  <summary>
    The size of the commands written to disk. See SessionBackend for details.
  </summary>
</histogram>

<histogram name="SessionRestore.FirstTabPainted" units="ms">
  <obsolete>
    Deprecated 2014-10 in favor of SessionRestore.ForegroundTabFirstPaint and
    ultimately SessionRestore.ForegroundTabFirstPaint3.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <summary>TBD</summary>
</histogram>

<histogram name="SessionRestore.ForegroundTabFirstLoaded" units="ms">
  <owner>chrisha@chromium.org</owner>
  <owner>georgesak@chromium.org</owner>
  <summary>
    The time from SessionRestore start until a visible tab has finished loading.
  </summary>
</histogram>

<histogram name="SessionRestore.ForegroundTabFirstPaint" units="ms">
  <obsolete>
    Deprecated 2015-03-13 in favor of SessionRestore.ForegroundTabFirstPaint2
    and ultimately SessionRestore.ForegroundTabFirstPaint3.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <summary>
    Deprecated 2015-03-13 in favor of SessionRestore.ForegroundTabFirstPaint2
    and ultimately SessionRestore.ForegroundTabFirstPaint3.
  </summary>
</histogram>

<histogram name="SessionRestore.ForegroundTabFirstPaint2" units="ms">
  <obsolete>
    Deprecated 2015-05 in favor of SessionRestore.ForegroundTabFirstPaint3.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <owner>sky@chromium.org</owner>
  <summary>
    The time from SessionRestore start until a visible tab's first paint. This
    metric only records paints that have occurred after a tab has loaded.
  </summary>
</histogram>

<histogram name="SessionRestore.ForegroundTabFirstPaint3" units="ms">
  <owner>chrisha@chromium.org</owner>
  <owner>georgesak@chromium.org</owner>
  <summary>
    The time from SessionRestore start until a visible tab's first paint.
  </summary>
</histogram>

<histogram name="SessionRestore.FrameUniqueNameLength" units="bytes">
  <owner>dcheng@chromium.org</owner>
  <summary>
    Records the length of unique names for web frames that are saved as part of
    session restore data. It is logged each time the unique name changes, which
    typically happens when a web frame is first created or its name is changed
    by mutating window.name.
  </summary>
</histogram>

<histogram name="SessionRestore.last_session_file_size" units="KB">
  <obsolete>
    Deprecated 2017-02 as not actionable.
  </obsolete>
  <summary>The size, in k, of the last session file on disk.</summary>
</histogram>

<histogram name="SessionRestore.NavEntryCommittedLongPeriod">
  <obsolete>
    Deprecated 2017-02 as not actionable.
  </obsolete>
  <summary>
    Like NavEntryCommittedPeriod, but specifically to provide a clearer
    breakdown of samples in the 10 minutes - 8 hours range.
  </summary>
</histogram>

<histogram name="SessionRestore.NavEntryCommittedPeriod" units="ms">
  <obsolete>
    Deprecated 2017-02 as not actionable.
  </obsolete>
  <summary>
    Milliseconds between subsequent Save() operations due to a nav entry being
    committed (new tab created + nav initiated).
  </summary>
</histogram>

<histogram name="SessionRestore.NavigationListPrunedLongPeriod">
  <obsolete>
    Deprecated 2017-02 as not actionable.
  </obsolete>
  <summary>
    Like NavListPrunedPeriod, but specifically to provide a clearer breakdown of
    samples in the 10 minutes - 8 hours range.
  </summary>
</histogram>

<histogram name="SessionRestore.NavigationListPrunedPeriod" units="ms">
  <obsolete>
    Deprecated 2017-02 as not actionable.
  </obsolete>
  <summary>
    Milliseconds between subsequent Save() operations due to the navigation list
    being pruned (typically a change in back/forward stacks).
  </summary>
</histogram>

<histogram name="SessionRestore.ParallelTabLoads">
  <obsolete>
    Deprecated 2017-02 as not actionable.
  </obsolete>
  <summary>
    The number of tabs that were loaded simultaneously when restoring a session.
  </summary>
</histogram>

<histogram name="SessionRestore.read_session_file_time" units="ms">
  <obsolete>
    Deprecated 2017-02 as not actionable.
  </obsolete>
  <summary>
    Amount of time to read and assemble the commands from the last session.
  </summary>
</histogram>

<histogram name="SessionRestore.RestoredSubframeURL" enum="BooleanRestoredURL">
  <owner>creis@chromium.org</owner>
  <summary>
    How often history navigations in subframes restore a different URL than the
    frame's default src URL.  This indicates how much users rely on subframe
    session history items.
  </summary>
</histogram>

<histogram name="SessionRestore.RestoreSubframeFramePathLength" units="bytes">
  <owner>creis@chromium.org</owner>
  <summary>
    Records the length of unique names that include frame paths, for subframes
    that are restoring a different URL than the frame's default src URL during a
    history navigation.  Large values here would indicate a possible challenge
    for the plan to truncate frame unique names (to save memory).
  </summary>
</histogram>

<histogram name="SessionRestore.SaveLongPeriod">
  <obsolete>
    Deprecated 2017-02 as not actionable.
  </obsolete>
  <summary>
    Like SavePeriod, but specifically to provide a clearer breakdown of samples
    in the 10 minutes - 8 hours range.
  </summary>
</histogram>

<histogram name="SessionRestore.SavePeriod" units="ms">
  <obsolete>
    Deprecated 2017-02 as not actionable.
  </obsolete>
  <summary>
    Amount of time between subsequent SessionService Save() operations (aka
    updates to session data).
  </summary>
  <details>
    Periods longer than 10 minutes are grouped together; see SaveLongPeriod for
    resolution.
  </details>
</histogram>

<histogram name="SessionRestore.SubFrameUniqueNameChangedBeforeFirstCommit"
    enum="BooleanSuccess">
  <owner>dcheng@chromium.org</owner>
  <summary>
    How often a subframe is assigned a new name between the initial empty
    document and the first navigation.
  </summary>
</histogram>

<histogram name="SessionRestore.TabActions" enum="SessionRestoreTabActions">
  <owner>chrisha@chromium.org</owner>
  <summary>
    A breakdown of key events that occur to individual tabs as they are
    processed by an ongoing session restore.
  </summary>
</histogram>

<histogram name="SessionRestore.TabClosedLongPeriod">
  <obsolete>
    Deprecated 2017-02 as not actionable.
  </obsolete>
  <summary>
    TabClosedPeriod, but specifically to provide a clearer breakdown of samples
    in the 10 minutes - 8 hours range.
  </summary>
</histogram>

<histogram name="SessionRestore.TabClosedPeriod" units="ms">
  <obsolete>
    Deprecated 2017-02 as not actionable.
  </obsolete>
  <summary>
    Milliseconds between subsequent Save() operations due to a tab being closed.
  </summary>
</histogram>

<histogram name="SessionRestore.TabCount" units="tabs">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The number of tabs involved in a single session restore event.
  </summary>
</histogram>

<histogram name="SessionStorageDatabase.Commit" enum="LevelDBStatus">
  <owner>cmumford@chromium.org</owner>
  <summary>The result of a commit to the sessionStorage database.</summary>
</histogram>

<histogram name="SessionStorageDatabase.Open" enum="SessionStorageDatabaseOpen">
  <owner>michaeln@chromium.org</owner>
  <summary>
    The result (success, failure, or database recreated) of trying to open the
    LevelDB database for sessionStorage.
  </summary>
</histogram>

<histogram name="Settings.DefaultSearchProvider" enum="OmniboxSearchEngine">
  <obsolete>
    Deprecated in Chrome 30.  Use Search.DefaultSearchProviderType instead.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The id of the default search engine domain that is specified in user
    preferences when a profile is loaded.
  </summary>
</histogram>

<histogram name="Settings.EnforcementGroupDeterminedFromTrial"
    enum="BooleanSuccess">
  <owner>gab@chromium.org</owner>
  <summary>
    Whether the SettingsEnforcement group was successfully determined from the
    field trial or if it had to revert to the hardcoded default.
  </summary>
</histogram>

<histogram name="Settings.FilterOnLoadTime" units="ms">
  <owner>gab@chromium.org</owner>
  <summary>
    The amount of time it took to run PrefHashFilter::FilterOnLoad on startup.
  </summary>
</histogram>

<histogram name="Settings.FilterSerializeDataTime" units="ms">
  <owner>gab@chromium.org</owner>
  <summary>
    The amount of time it took to run PrefHashFilter::FilterSerializeData on the
    UI thread prior to writing the Preferences file to disk. Only logged when
    PrefHashFilter::FilterSerializeData actually had work to do.
  </summary>
</histogram>

<histogram name="Settings.GivenShowHomeButton_HomePageIsNewTabPage"
    enum="Boolean">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Whether or not the home page user preference is set to the default NTP value
    when a profile is loaded. This is only logged if the home button is shown.
  </summary>
</histogram>

<histogram name="Settings.HashesDictionaryTrusted" enum="BooleanValid">
  <owner>csharp@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    Logged on profile load. Indicates whether the hashes dictionary for this
    profile is trusted.
  </summary>
</histogram>

<histogram name="Settings.HomePageDomain" enum="OmniboxSearchEngine">
  <obsolete>
    Deprecated in Chrome 30.  Replaced by Settings.HomePageEngineType.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The id of the home page domain that is specified in user preferences when a
    profile is loaded.
  </summary>
</histogram>

<histogram name="Settings.HomePageEngineType" enum="OmniboxSearchEngineType">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Tries to pretend the home page URL is a search URL, and records the search
    engine type of that URL by comparing the TLD+1 of the home page URL with
    those of the different known search engines.  Recorded when a profile is
    opened, if a home page URL has been set.  Note that at least one profile is
    opened on startup.
  </summary>
</histogram>

<histogram name="Settings.HomePageIsNewTabPage" enum="Boolean">
  <obsolete>
    Deprecated 08/05/2013. Replaced by
    Settings.GivenShowHomeButton_HomePageIsNewTabPage.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Whether or not the home page user preference is set to the default NTP value
    when a profile is loaded.
  </summary>
</histogram>

<histogram name="Settings.HomePageIsNewTabPage.PulledFromSync" enum="Boolean">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The value of the home-page-is-new-tab-page pref when pulled down from sync
    to update an out-of-sync local pref store.
  </summary>
</histogram>

<histogram name="Settings.HomePageIsNewTabPage.PushedToSync" enum="Boolean">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The value of the home-page-is-new-tab-page pref when pushed up to sync from
    a change made locally.
  </summary>
</histogram>

<histogram name="Settings.InitializedFromMasterPrefs" enum="BooleanSuccess">
  <owner>csharp@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    Logged on first run when generating the Preferences file from
    master_preferences. True if serializing the generated Preferences file to
    disk was successful, false otherwise. Note: this event does not occur if
    there is no master_preferences file on first run.
  </summary>
</histogram>

<histogram name="Settings.JsonDataReadSizeKilobytes" units="KB">
  <owner>gab@chromium.org</owner>
  <summary>
    The size (in kilobytes) of the JSON settings read from disk on startup.
    Suffixed with the name of the corresponding JSON file.
  </summary>
</histogram>

<histogram name="Settings.JsonDataSizeKilobytes" units="KB">
  <obsolete>
    Deprecated 02/2015. Replaced by Settings.JsonDataReadSizeKilobytes.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    The size of the JSON settings content about to be written to disk in
    kilobytes. Suffixed with the name of the JSON file being written to disk.
  </summary>
</histogram>

<histogram name="Settings.JsonDataWriteCount" units="count">
  <owner>raymes@chromium.org</owner>
  <summary>
    The number of writes of a JSON file that occur in every 5 minute period of
    running Chrome. Suffixed with the name of the corresponding JSON file.
  </summary>
</histogram>

<histogram name="Settings.LegacyMachineIdGenerationSuccess"
    enum="BooleanSuccess">
  <owner>proberge@chromium.org</owner>
  <summary>
    Whether generation of the RLZ deterministic machine-specific device id was
    successful when creating the ProfilePrefStore.
  </summary>
</histogram>

<histogram name="Settings.LoadCompletedTime" units="ms">
  <owner>stevenjb@chromium.org</owner>
  <summary>
    The amount of time between the render frame host StartProvisionalLoad event
    and the render frame DocumentOnLoadCompleted event for the settings page.
  </summary>
</histogram>

<histogram name="Settings.LoadCompletedTime.MD" units="ms">
  <owner>stevenjb@chromium.org</owner>
  <summary>
    The amount of time between the render frame host StartProvisionalLoad event
    and the render frame DocumentOnLoadCompleted event for the md-settings page.
  </summary>
</histogram>

<histogram name="Settings.LoadDocumentTime" units="ms">
  <owner>stevenjb@chromium.org</owner>
  <summary>
    The amount of time between the render frame host StartProvisionalLoad and
    DidFinishDocumentLoad events for the settings page.
  </summary>
</histogram>

<histogram name="Settings.LoadDocumentTime.MD" units="ms">
  <owner>stevenjb@chromium.org</owner>
  <summary>
    The amount of time between the render frame host StartProvisionalLoad and
    DidFinishDocumentLoad events for the md-settings page.
  </summary>
</histogram>

<histogram name="Settings.MachineIdGenerationSuccess" enum="BooleanSuccess">
  <owner>proberge@chromium.org</owner>
  <summary>
    Whether generation of the deterministic machine-specific device id was
    successful when initializing the PrefHashStore.
  </summary>
</histogram>

<histogram name="Settings.MigratedHashesFromLocalState" enum="BooleanMigrated">
  <obsolete>
    Deprecated in Chrome 54, as we stopped legacy migration of preferences.
  </obsolete>
  <owner>csharp@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    Whether, while loading a profile, any preference hashes were migrated from
    Local State to either Preferences or Protected Preferences.
  </summary>
</histogram>

<histogram name="Settings.PinnedTabEngineTypes" enum="OmniboxSearchEngineType">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Tries to pretend pinned tab URLs are search URLs, and records the search
    engine types of those URLs by comparing the TLD+1s of the URLs with those of
    the different known search engines.  Recorded when a profile is opened, if
    there are pinned tabs.  Note that at least one profile is opened on startup.
  </summary>
</histogram>

<histogram name="Settings.PinnedTabs">
  <owner>mpearson@chromium.org</owner>
  <summary>The number of pinned tabs opened when a profile is loaded.</summary>
</histogram>

<histogram name="Settings.PinUnlockSetup" enum="LockScreenProgress">
  <owner>sammiequon@chromium.org</owner>
  <summary>
    The users progress through the pin unlock setup wizard. Each type
    corresponds to the user completeing a different stage of the setup wizard.
  </summary>
</histogram>

<histogram name="Settings.RegisterProfilePrefsTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during RegisterProfilePrefs.
  </summary>
</histogram>

<histogram name="Settings.SearchLength">
  <owner>dschuyler@chromium.org</owner>
  <summary>
    The number of characters typed in the chrome://settings page search box.
    Intended to determine if we are making the user type too much to find what
    they are looking for (the search is incremental).
  </summary>
</histogram>

<histogram name="Settings.SearchLengthNoMatch">
  <owner>dschuyler@chromium.org</owner>
  <summary>
    If no matches are found when searching within the chrome://settings page,
    record the length of the search text.
  </summary>
</histogram>

<histogram name="Settings.SearchPageMatchCount">
  <owner>dschuyler@chromium.org</owner>
  <summary>
    The number of search page hits within the chrome://settings page.  This is
    especially important when the count is zero (i.e. we returned no hits for a
    given search in settings).  A search is considered complete via timeout
    since there is no concrete way to define the end of a search (the search is
    incremental).
  </summary>
</histogram>

<histogram name="Settings.SearchSections" enum="SettingsSections">
  <owner>dschuyler@chromium.org</owner>
  <summary>
    If there is no further activity in the search box for 1 second, this records
    one tick each time a settings section is shown as a result of searching
    withing the chrome://settings page.  If multiple matches are found within
    the same section, the section match is only recorded once.
  </summary>
</histogram>

<histogram name="Settings.SearchSubpageMatchCount">
  <owner>dschuyler@chromium.org</owner>
  <summary>
    The number of search subpage hits within the chrome://settings page.  This
    is different from Settings.SearchPageMatchCount in that it is tracking hits
    in subpages rather than top level pages. See also
    Settings.SearchPageMatchCount.
  </summary>
</histogram>

<histogram name="Settings.ShowHomeButton" enum="BooleanEnabled">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Whether or not the home button is enabled in user preferences when a profile
    is loaded.
  </summary>
</histogram>

<histogram name="Settings.ShowHomeButton.PulledFromSync" enum="BooleanEnabled">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The enabled state of the Home button pref when pulled down from sync to
    update an out-of-sync local pref store.
  </summary>
</histogram>

<histogram name="Settings.ShowHomeButton.PushedToSync" enum="BooleanEnabled">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The enabled state of the Home button pref when pushed up to sync from a
    change made locally.
  </summary>
</histogram>

<histogram name="Settings.StartSetAsDefault" enum="BooleanHit">
  <owner>pmonette@chromium.org</owner>
  <summary>
    The user clicked &quot;Make Google Chrome the default browser&quot; on the
    settings page.
  </summary>
</histogram>

<histogram name="Settings.StartupPageDomains" enum="OmniboxSearchEngine">
  <obsolete>
    Deprecated in Chrome 30.  Replaced by Settings.StartupPageEngineTypes.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The ids of startup page domains that are specified in user preferences when
    a profile is loaded.
  </summary>
</histogram>

<histogram name="Settings.StartupPageEngineTypes"
    enum="OmniboxSearchEngineType">
  <owner>mpearson@chromium.org</owner>
  <summary>
    Tries to pretend the startup page URLs are search URLs, and records the
    search engine types of those URLs by comparing the TLD+1s of the URLs with
    those of the different known search engines.  Recorded when a profile is
    opened, if startup page URLs have been set.  Note that at least one profile
    is opened on startup.
  </summary>
</histogram>

<histogram name="Settings.StartupPageLoadSettings" enum="SessionStartupPref">
  <owner>mpearson@chromium.org</owner>
  <summary>The startup page settings when a profile is loaded.</summary>
</histogram>

<histogram name="Settings.StartupPageLoadSettings.PulledFromSync"
    enum="SessionStartupPref">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The startup page setting when pulled down from sync to update an out-of-sync
    local pref store.
  </summary>
</histogram>

<histogram name="Settings.StartupPageLoadSettings.PushedToSync"
    enum="SessionStartupPref">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The startup page setting when pushed up to sync from a change made locally.
  </summary>
</histogram>

<histogram name="Settings.StartupPageLoadURLs">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The number of URLs to be loaded on startup when a profile is loaded, if the
    startup page setting is set to load URLs.
  </summary>
</histogram>

<histogram name="Settings.StartupURLsMigration" enum="StartupURLsMigration">
  <obsolete>
    Deprecated 12/2015.
  </obsolete>
  <owner>mad@chromium.org</owner>
  <summary>The startup URLs pref migration steps.</summary>
</histogram>

<histogram name="Settings.StartupURLsResetTime" units="ms">
  <obsolete>
    Deprecated 12/2015.
  </obsolete>
  <owner>mad@chromium.org</owner>
  <summary>
    The time elapsed in milliseconds in between startup URLs pref migration. A
    value of 0 indicates that the last migration time was in the future due to
    e.g. an incorrect system time.
  </summary>
</histogram>

<histogram name="Settings.TimeToFirstSearch" units="ms">
  <owner>dschuyler@chromium.org</owner>
  <summary>
    The time between when the chrome://settings page is opened to the first time
    a search is done within that page.  This is intended to evaluate how long a
    user looks for a setting before giving up and searching for it.
  </summary>
</histogram>

<histogram name="Settings.TimeUntilInteractive" units="ms">
  <owner>dbeam@chromium.org</owner>
  <summary>
    The time until the settings Web UI is loaded, rendered, and interactive for
    users (as in they can change a setting). Automatically logged each time the
    settings page is opened (if not closed before interactive).
  </summary>
</histogram>

<histogram name="Settings.TrackedPreferenceChanged" enum="TrackedPreference">
  <owner>gab@chromium.org</owner>
  <summary>
    The id of a tracked preference whose value has been changed since the last
    time Chrome set it. Without a suffix, this histogram stands for preference
    validation using MACs in the JSON pref files.
  </summary>
</histogram>

<histogram name="Settings.TrackedPreferenceCleared" enum="TrackedPreference">
  <owner>gab@chromium.org</owner>
  <summary>
    The id of a tracked preference whose value has been cleared since the last
    time Chrome set it. Without a suffix, this histogram stands for preference
    validation using MACs in the JSON pref files.
  </summary>
</histogram>

<histogram name="Settings.TrackedPreferenceInitialized"
    enum="TrackedPreference">
  <owner>gab@chromium.org</owner>
  <summary>
    The id of a tracked preference whose last value isn't known. We may be just
    starting to track the preference, or local state may have been changed
    outside of Chrome. This should only happen once per pref per profile.
    Without a suffix, this histogram stands for preference validation using MACs
    in the JSON pref files.
  </summary>
</histogram>

<histogram name="Settings.TrackedPreferenceMigrated" enum="TrackedPreference">
  <obsolete>
    Deprecated 2014-07.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logs the tracked preference id when it is migrated to the new MAC algorithm.
    This should only happen once per pref per profile.
  </summary>
</histogram>

<histogram name="Settings.TrackedPreferenceMigratedLegacyDeviceId"
    enum="TrackedPreference">
  <owner>gab@chromium.org</owner>
  <summary>
    The id of a tracked preference whose value has not changed since the last
    time Chrome set it, but which was last set using a legacy device ID. Each
    user should report this at most once per preference id and immediately be
    migrated to the latest hashing model. Without a suffix, this histogram
    stands for preference validation using MACs in the JSON pref files.
  </summary>
</histogram>

<histogram name="Settings.TrackedPreferenceNullInitialized"
    enum="TrackedPreference">
  <owner>gab@chromium.org</owner>
  <summary>
    The id of a tracked preference which was initialized despite the absence of
    a MAC as its value was NULL. Without a suffix, this histogram stands for
    preference validation using MACs in the JSON pref files.
  </summary>
</histogram>

<histogram name="Settings.TrackedPreferenceReset" enum="TrackedPreference">
  <owner>gab@chromium.org</owner>
  <summary>The id of a tracked preference which was reset by Chrome.</summary>
</histogram>

<histogram name="Settings.TrackedPreferencesAlternateStoreVersion"
    enum="PrefHashStoreVersion">
  <obsolete>
    Deprecated 2014-06.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    The version of a PrefHashStore, reported once for each alternate
    PrefHashStore (not associated to the default profile) from a delayed task on
    startup.
  </summary>
</histogram>

<histogram name="Settings.TrackedPreferencesAlternateStoreVersionUpdatedFrom"
    enum="PrefHashStoreVersion">
  <obsolete>
    Deprecated 2014-06.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    The previous version of an alternate PrefHashStore (not associated to the
    default profile) that was updated from a delayed task on startup. This
    should match Settings.TrackedPreferencesAlternateStoreVersion fairly closely
    for all versions but VERSION_LATEST which should never be reported here.
  </summary>
</histogram>

<histogram name="Settings.TrackedPreferencesInitializedForUnloadedProfile"
    enum="BooleanHit">
  <obsolete>
    Deprecated 2014-02 in favor of
    Settings.TrackedPreferencesAlternateStoreVersionUpdatedFrom.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Preference tracking was initialized for an unloaded profile. This should
    happen at most once per profile.
  </summary>
</histogram>

<histogram name="Settings.TrackedPreferencesNoEnforcementOnDomain"
    enum="BooleanEnabled">
  <owner>gab@chromium.org</owner>
  <summary>
    Whether settings enforcement was cancelled for a machine joined to a domain.
    Reported once per session on browser startup (note: this histogram was
    disabled for part of M40).
  </summary>
</histogram>

<histogram name="Settings.TrackedPreferenceTrustedInitialized"
    enum="TrackedPreference">
  <owner>gab@chromium.org</owner>
  <summary>
    The id of a tracked preference which was initialized despite the absence of
    a MAC as the current MACs are trusted, inferring that this is a newly
    tracked pref. Without a suffix, this histogram stands for preference
    validation using MACs in the JSON pref files.
  </summary>
</histogram>

<histogram name="Settings.TrackedPreferenceUnchanged" enum="TrackedPreference">
  <owner>gab@chromium.org</owner>
  <summary>
    The id of a tracked preference whose value has not changed since the last
    time Chrome set it. Without a suffix, this histogram stands for preference
    validation using MACs in the JSON pref files.
  </summary>
</histogram>

<histogram name="Settings.TrackedPreferenceWantedReset"
    enum="TrackedPreference">
  <owner>gab@chromium.org</owner>
  <summary>
    The id of a tracked preference which Chrome would have reset had the config
    allowed it.
  </summary>
</histogram>

<histogram name="Settings.TrackedSplitPreferenceChanged">
  <owner>gab@chromium.org</owner>
  <summary>
    The number of items that had changed in a dictionary pref when
    Settings.TrackedPreferenceChanged is reported for that pref.
  </summary>
</histogram>

<histogram name="Settings.ZoomLevelPreferencesMigrated" enum="BooleanMigrated">
  <obsolete>
    Deprecated 2015-08-18.
  </obsolete>
  <owner>wjmaclean@chromium.org</owner>
  <summary>
    Tracks migration to per-partition zoom-level preferences during profile
    initialization.
  </summary>
</histogram>

<histogram name="SettingsAppMonitor.InitializationResult" enum="BooleanSuccess">
  <owner>grt@chromium.org</owner>
  <summary>
    Indicates whether or not the Windows Settings app monitor was initialized.
  </summary>
</histogram>

<histogram name="SettingsResetBubble.NumNoThanksPerReset">
  <owner>mad@chromium.org</owner>
  <summary>
    Counts the number of times the user clicked on the No Thanks button of the
    settings reset bubble before clicking on the Reset button in the same Chrome
    session.
  </summary>
</histogram>

<histogram name="SettingsResetPrompt.ConfigError"
    enum="SettingsResetPromptConfigError">
  <owner>alito@chromium.org</owner>
  <summary>
    Indicates if an error was detected in the settings reset prompt config data
    while initializing the reset prompt configuration.
  </summary>
</histogram>

<histogram name="SettingsResetPrompt.DelayBeforePromptParam" units="seconds">
  <owner>alito@chromium.org</owner>
  <summary>
    The feature parameter determining the amount of time to wait after startup
    before attempting to show the settings reset prompt. Logged once after
    startup.
  </summary>
</histogram>

<histogram name="SettingsResetPrompt.DialogShown" enum="BooleanShown">
  <owner>alito@chromium.org</owner>
  <summary>
    Indicates whether the settings reset prompt dialog was shown to the user.
  </summary>
</histogram>

<histogram name="SettingsResetPrompt.NumberOfExtensionsDisabled"
    units="extensions">
  <owner>alito@chromium.org</owner>
  <summary>
    The number of extensions that were disabled after the user accepted the
    settings reset prompt.
  </summary>
</histogram>

<histogram name="SettingsResetPrompt.NumberOfExtensionsToDisable"
    units="extensions">
  <owner>alito@chromium.org</owner>
  <summary>
    The number of extensions that will be disabled if the user accepts the
    settings reset prompt. Logged once after startup.
  </summary>
</histogram>

<histogram name="SettingsResetPrompt.PromptAccepted" enum="BooleanAccepted">
  <owner>alito@chromium.org</owner>
  <summary>
    Indicates whether the user accepted the settings reset prompt.
  </summary>
</histogram>

<histogram name="SettingsResetPrompt.PromptRequired" enum="BooleanRequired">
  <owner>alito@chromium.org</owner>
  <summary>
    Indicates whether the settings reset prompt should be shown to the user
    based on the state of the user's settings.
  </summary>
</histogram>

<histogram name="SettingsResetPrompt.ResetState"
    enum="SettingsResetPromptResetState">
  <owner>alito@chromium.org</owner>
  <summary>
    Indicates whether the settings reset prompt is enabled for the user's
    setting, or the reason for it being disabled. Logged once after startup.
  </summary>
</histogram>

<histogram name="SettingsResetPrompt.SettingsReset"
    enum="SettingsResetPromptSettingsReset">
  <owner>alito@chromium.org</owner>
  <summary>
    Indicates which settings were reset after the user accepted the settings
    reset prompt.
  </summary>
</histogram>

<histogram name="SettingsResetPrompt.TimeUntilAccepted" units="ms">
  <owner>alito@chromium.org</owner>
  <summary>
    The time between the settings reset prompt dialog being shown and the user
    accepting the prompt.
  </summary>
</histogram>

<histogram name="SettingsResetPrompt.TimeUntilCanceled" units="ms">
  <owner>alito@chromium.org</owner>
  <summary>
    The time between the settings reset prompt dialog being shown and the user
    declining the prompt by clicking the cancel button.
  </summary>
</histogram>

<histogram name="SettingsResetPrompt.TimeUntilDeclined" units="ms">
  <obsolete>
    Deprecated in M59 in April 2017 and replaced by
    SettingsResetPrompt.TimeUntilCanceled and
    SettingsResetPrompt.TimeUntilDismissed.
  </obsolete>
  <owner>alito@chromium.org</owner>
  <summary>
    The time between the settings reset prompt dialog being shown and the user
    declining the prompt.
  </summary>
</histogram>

<histogram name="SettingsResetPrompt.TimeUntilDismissed" units="ms">
  <owner>alito@chromium.org</owner>
  <summary>
    The time between the settings reset prompt dialog being shown and the user
    dismissing the prompt, for example by clicking on the 'x' in the dialog or
    pressing the Escape key.
  </summary>
</histogram>

<histogram name="Setup.Install.ApplyArchivePatchTime" units="ms">
  <owner>grt@chromium.org</owner>
  <summary>
    The elapesed time to apply a patch to a previous version's chrome.7z archive
    to generate a new chrome.7z archive. This histogram only applies to diff
    updates.
  </summary>
</histogram>

<histogram name="Setup.Install.DeleteAppHost" enum="BooleanDeletedOrNot">
  <owner>grt@chromium.org</owner>
  <summary>
    Hit following a successful install or update when the legacy
    &quot;app_host.exe&quot; binary is deleted from the filesystem.
  </summary>
</histogram>

<histogram name="Setup.Install.DeleteAppLauncherClientsKey"
    enum="BooleanDeletedOrNot">
  <owner>grt@chromium.org</owner>
  <summary>
    Hit following a successful install or update when the legacy &quot;app
    launcher&quot; Clients key is deleted from the registry.
  </summary>
</histogram>

<histogram name="Setup.Install.DeleteBinariesClientsKey"
    enum="BooleanDeletedOrNot">
  <owner>grt@chromium.org</owner>
  <summary>
    Hit following a successful install or update when the legacy
    &quot;binaries&quot; Clients key is deleted from the registry.
  </summary>
</histogram>

<histogram name="Setup.Install.DeleteIExecuteCommandClassKey"
    enum="BooleanDeletedOrNot">
  <owner>grt@chromium.org</owner>
  <summary>
    Hit following a successful install or update when the COM registration for
    the legacy &quot;IExecuteCommand&quot; implementation class key is deleted
    from the registry.
  </summary>
</histogram>

<histogram name="Setup.Install.DeleteInstallExtensionCommand"
    enum="BooleanDeletedOrNot">
  <owner>grt@chromium.org</owner>
  <summary>
    Hit following a successful install or update when the legacy
    &quot;install-extension&quot; app command is deleted from the registry.
  </summary>
</histogram>

<histogram name="Setup.Install.HasArchivePatch" enum="Boolean">
  <owner>grt@chromium.org</owner>
  <summary>
    True if the chrome.packed.7z archive contains a patch (in which case a diff
    update is taking place) or false if it contains a full archive (in which
    case a new install or a full update is taking place).
  </summary>
</histogram>

<histogram name="Setup.Install.LzmaUnPackNTSTATUS" enum="NTSTATUS">
  <owner>zmin@chromium.org</owner>
  <summary>
    Record the NTSTATUS code of unpacking the contents of a 7z file.
  </summary>
</histogram>

<histogram name="Setup.Install.LzmaUnPackStatus" enum="UnPackStatus">
  <owner>zmin@chromium.org</owner>
  <summary>Record the status of unpacking the contents of a 7z file.</summary>
</histogram>

<histogram name="Setup.Install.MultiChromeFrameRemoved"
    enum="MultiChromeFrameRemovalResult">
  <owner>grt@chromium.org</owner>
  <summary>
    Hit following a successful install or update when data from a legacy
    multi-install Chrome Frame is deleted from the registry.
  </summary>
</histogram>

<histogram name="Setup.Install.NumDeleteOldVersionsAttemptsBeforeAbort"
    units="Attempts">
  <owner>fdoray@chromium.org</owner>
  <summary>
    Number of calls to DeleteOldVerions() made by a --delete-old-versions
    process that didn't delete all files that belong to old versions of Chrome.
    A --delete-old-versions process exits when another process tries to acquire
    the SetupSingleton or after too many unsuccessful attempts to delete all old
    files. A --delete-old-versions process that successfully acquires the
    SetupSingleton records to either the
    Setup.Install.NumDeleteOldVersionsAttemptsBeforeAbort histogram or the
    Setup.Install.NumDeleteOldVersionsAttemptsBeforeSuccess histogram.
  </summary>
</histogram>

<histogram name="Setup.Install.NumDeleteOldVersionsAttemptsBeforeSuccess"
    units="Attempts">
  <owner>fdoray@chromium.org</owner>
  <summary>
    Number of calls to DeleteOldVersions() made by a --delete-old-versions
    process that successfully deleted all files that belong to old versions of
    Chrome. A --delete-old-versions process that successfully acquires the
    SetupSingleton records to either the
    Setup.Install.NumDeleteOldVersionsAttemptsBeforeAbort histogram or the
    Setup.Install.NumDeleteOldVersionsAttemptsBeforeSuccess histogram.
  </summary>
</histogram>

<histogram name="Setup.Install.PeakPagefileUsage" units="KB">
  <owner>huangs@chromium.org</owner>
  <summary>
    The peak page file usage by setup.exe in KB during install or uninstall
    attempt.
  </summary>
</histogram>

<histogram name="Setup.Install.PeakWorkingSetSize" units="KB">
  <owner>huangs@chromium.org</owner>
  <summary>
    The peak working set size of setup.exe in KB during install or uninstall
    attempt.
  </summary>
</histogram>

<histogram name="Setup.Install.Result" enum="SetupInstallResult">
  <owner>grt@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    The final exit-result of the entire run of setup.exe on Windows.
  </summary>
</histogram>

<histogram name="Setup.Install.SingletonAcquisitionResult"
    enum="SetupSingletonAcquisitionResult">
  <owner>fdoray@chromium.org</owner>
  <summary>
    The result of trying to acquire a setup singleton. On Windows, a setup.exe
    process must hold the setup singleton of a Chrome installation when it makes
    changes to it.
  </summary>
</histogram>

<histogram name="Setup.Install.StrandedChromeIsUsed" enum="BooleanUsage">
  <owner>grt@chromium.org</owner>
  <summary>
    The disposition of a stranded Chrome install discovered while updating
    multi-install Chrome Binaries. This metric is only logged in an edge case.
    The buckets indicate whether or not the &quot;stranded&quot; Chrome install
    has been used in the last 28 days. If so, it respresents a Chrome that has
    not been updating due to a logic flaw in the installer and will be repaired
    in the current update. If not, it likely represents Chrome Binaries that
    were previously used by Chrome Frame that has since been uninstalled and
    that will be uninstalled in a future update.
  </summary>
</histogram>

<histogram name="Setup.Install.UncompressArchivePatchTime" units="ms">
  <owner>grt@chromium.org</owner>
  <summary>
    The elapsed time to uncompress a chrome.7z patch. This histogram only
    applies to diff updates.
  </summary>
</histogram>

<histogram name="Setup.Install.UncompressFullArchiveTime" units="ms">
  <owner>grt@chromium.org</owner>
  <summary>
    The elapsed time to uncompress a full chrome.7z archive. This histogram only
    applies to new installs and to full updates.
  </summary>
</histogram>

<histogram name="Setup.Install.UnpackFullArchiveTime" units="ms">
  <owner>grt@chromium.org</owner>
  <summary>
    The elapsed time to unpack the uncompressed chrome.7z archive. This
    histogram applies to all installs and updates.
  </summary>
</histogram>

<histogram name="SharedMemory.CreateError" enum="SharedMemoryCreateError">
  <owner>erikchen@chromium.org</owner>
  <summary>
    A histogram entry is emitted each time a base::SharedMemory object is
    constructed. The value of the entry indicates the type of error encountered
    during construction.
  </summary>
</histogram>

<histogram name="SharedMemory.CreateWinError" enum="WinGetLastError">
  <owner>bcwhite@chromium.org</owner>
  <summary>
    A histogram entry is emitted each time a base::SharedMemory object could not
    be created due to a failed Windows system call. The value of the entry
    indicates the result of the GetLastError() API call.
  </summary>
</histogram>

<histogram name="SharedMemory.TimeSpentMakingAnonymousMemory" units="ms">
  <obsolete>
    Deprecated 2015-06 because the Finch experiment SharedMemoryCreateStrategy
    has finished running.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    The time spent making a new region of shared, anonymous memory. This metric
    is not emitted if the shared memory region is read only.
  </summary>
</histogram>

<histogram name="SharedWorker.RendererSurviveForWorkerTime" units="ms">
  <owner>horo@chromium.org</owner>
  <summary>
    A survival time of RenderProcessHostImpl for the In-renderer Shared Worker
    from when FastShutdownIfPossible() is called.
  </summary>
</histogram>

<histogram name="SharedWorker.TimeToDeleted" units="ms">
  <owner>horo@chromium.org</owner>
  <summary>
    The lifetime of a SharedWorkerHost. This roughly corresponds to the lifetime
    of SharedWorker.
  </summary>
</histogram>

<histogram name="SharedWorker.TimeToScriptLoaded" units="ms">
  <owner>horo@chromium.org</owner>
  <summary>
    The time from the creation of SharedWorkerHost until when WorkerScriptLoaded
    is called.
  </summary>
</histogram>

<histogram name="SharedWorker.TimeToScriptLoadFailed" units="ms">
  <owner>horo@chromium.org</owner>
  <summary>
    The time from the creation of SharedWorkerHost until when
    WorkerScriptLoadFailed is called.
  </summary>
</histogram>

<histogram name="ShortcutsProvider.DatabaseSize">
  <owner>mpearson@chromium.org</owner>
  <summary>
    The number of entries in shortcuts backend's database when initialized,
    which happens during profile load.
  </summary>
</histogram>

<histogram name="ShortcutsProvider.QueryIndexTime" units="ms">
  <owner>davidben@chromium.org</owner>
  <summary>
    The time it takes for the ShortcutsProvider to perform a query after the
    user has typed N characters.
  </summary>
</histogram>

<histogram name="Shutdown.browser_exit.time">
  <obsolete>
    Replaced by Shutdown.browser_exit.time2 to get more resolution into the tail
    of the distribution (10/2016).
  </obsolete>
  <owner>hashimoto@chromium.org</owner>
  <summary>
    Time for shutdown initiated by the browser exit menu command.
  </summary>
</histogram>

<histogram name="Shutdown.browser_exit.time2">
  <owner>hashimoto@chromium.org</owner>
  <summary>
    Time for shutdown initiated by the browser exit menu command.
  </summary>
</histogram>

<histogram name="Shutdown.browser_exit.time_per_process">
  <owner>hashimoto@chromium.org</owner>
  <summary>
    Time for shutdown initiated by the browser exit menu command per renderer
    process.
  </summary>
</histogram>

<histogram name="Shutdown.end_session.time">
  <obsolete>
    Replaced by Shutdown.end_session.time2 to get more resolution into the tail
    of the distribution (10/2016).
  </obsolete>
  <owner>hashimoto@chromium.org</owner>
  <summary>
    Time for shutdown initiated by an end session (user logs off, shuts down or
    reboots without explicitly exiting).
  </summary>
</histogram>

<histogram name="Shutdown.end_session.time2">
  <owner>hashimoto@chromium.org</owner>
  <summary>
    Time for shutdown initiated by an end session (user logs off, shuts down or
    reboots without explicitly exiting).
  </summary>
</histogram>

<histogram name="Shutdown.end_session.time_per_process">
  <owner>hashimoto@chromium.org</owner>
  <summary>
    Time for shutdown initiated by an end session (user logs off, shuts down or
    reboots without explicitly exiting) per renderer process.
  </summary>
</histogram>

<histogram name="Shutdown.renderers.slow">
  <owner>hashimoto@chromium.org</owner>
  <summary>
    The number of renderer processes that couldn't be shutdown quickly due to
    onbeforeunload or onunload listeners.
  </summary>
</histogram>

<histogram name="Shutdown.renderers.total">
  <owner>hashimoto@chromium.org</owner>
  <summary>
    The number of renderer processes running when shutdown was called.
  </summary>
</histogram>

<histogram name="Shutdown.ShutdownType" enum="ShutdownType">
  <owner>hashimoto@chromium.org</owner>
  <summary>The type of the last shutdown.</summary>
</histogram>

<histogram name="Shutdown.window_close.time" units="ms">
  <obsolete>
    Replaced by Shutdown.window_close.time2 to get more resolution into the tail
    of the distribution (10/2016).
  </obsolete>
  <owner>hashimoto@chromium.org</owner>
  <summary>
    Time for shutdown initiated by the last browser window being closed.
  </summary>
</histogram>

<histogram name="Shutdown.window_close.time2" units="ms">
  <owner>hashimoto@chromium.org</owner>
  <summary>
    Time for shutdown initiated by the last browser window being closed.
  </summary>
</histogram>

<histogram name="Shutdown.window_close.time_per_process">
  <owner>hashimoto@chromium.org</owner>
  <summary>
    Time for shutdown initiated by the last browser window being closed per
    renderer process.
  </summary>
</histogram>

<histogram name="Signin" enum="SigninHelperFlow">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Tracks user interactions as they sign in through a flow. The suffix of the
    histogram indicates what UI widget or application flow triggered the signin
    flow.
  </summary>
</histogram>

<histogram name="Signin.AccountEquality" enum="SigninAccountEquality">
  <owner>skym@chromium.org</owner>
  <summary>
    There are two separate ways to test for account equality, using the account
    id or the email. Historically the email was always used, but going forward
    email will be modifiable. Now when we check account equality we use both
    approaches and emit this metric to capture if they agreed or not.
  </summary>
</histogram>

<histogram name="Signin.AccountReconcilorState.OnGaiaResponse"
    enum="SigninAccountReconcilorState">
  <owner>bzanotti@chromium.org</owner>
  <summary>
    Records the state of the account reconcilor when GAIA returns a specific
    response.
  </summary>
</histogram>

<histogram name="Signin.AddAccount" enum="BooleanSuccess">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Track when chrome successfully adds an account. Failures are not tracked.
  </summary>
</histogram>

<histogram name="Signin.AndroidGetAccountsTime" units="ms">
  <owner>nyquist@chromium.org</owner>
  <summary>
    The time it takes to retrieve the list of accounts from the system.
  </summary>
</histogram>

<histogram name="Signin.AndroidSigninPromoAction"
    enum="AndroidSigninPromoAction">
  <obsolete>
    Removed this histogram since we have had newly designed histograms
    Signin.SigninStartedAccessPoint, Signin.SigninCompletedAccessPoint, and
    Signin.SigninReason.
  </obsolete>
  <owner>guohui@chromium.org</owner>
  <summary>Track how a user interfacts with the android signin promo.</summary>
</histogram>

<histogram name="Signin.AuthError" enum="GoogleServiceAuthError">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Log the type of GAIA authentication error that occur whenever the error
    state changes.
  </summary>
</histogram>

<histogram name="Signin.CookieJar.ChromeAccountRelation" enum="AccountRelation">
  <owner>skym@chromium.org</owner>
  <summary>
    The relation between the account signed into chrome, and the account(s) in
    the cookie jar. This metric is never recorded when not signed into chrome.
  </summary>
</histogram>

<histogram name="Signin.CookieJar.SignedInCount" units="accounts">
  <owner>skym@chromium.org</owner>
  <summary>The number of signed in accounts in the cookie jar.</summary>
</histogram>

<histogram name="Signin.CookieJar.SignedOutCount" units="accounts">
  <owner>skym@chromium.org</owner>
  <summary>The number of signed out accounts in the cookie jar.</summary>
</histogram>

<histogram name="Signin.CookieJar.StableAge" units="seconds">
  <owner>skym@chromium.org</owner>
  <summary>The amount of time since the cookie jar last changed.</summary>
</histogram>

<histogram name="Signin.CookieJar.TotalCount" units="accounts">
  <owner>skym@chromium.org</owner>
  <summary>The total number of accounts in the cookie jar.</summary>
</histogram>

<histogram name="Signin.DuringFirstRun">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Track if the profile sign in took place during First Run or not. Logged at
    signin time. True means signin took place during First Run, False means
    anytime after.
  </summary>
</histogram>

<histogram name="Signin.ElapsedTimeFromInstallToSignin" units="minutes">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Track how many minutes of local system time elapsed from when Chrome was
    installed to when Signin occured for this profile.
  </summary>
</histogram>

<histogram name="Signin.InvestigatedScenario" enum="SigninInvestigatedScenario">
  <owner>skym@chromium.org</owner>
  <summary>
    Records the general type of signin that is occuring in relation to previous
    signin and local data.
  </summary>
</histogram>

<histogram name="Signin.IsShared" enum="BooleanIsShared">
  <owner>skym@chromium.org</owner>
  <summary>
    Current best guess if this device is shared between multiple users.
  </summary>
</histogram>

<histogram name="Signin.ListAccountsFailure" enum="GoogleServiceAuthError">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Failure reason of ListAccounts call failure during account reconciliation,
    ChromeOS login, or signin internals queries.
  </summary>
</histogram>

<histogram name="Signin.ListAccountsRetry" enum="GoogleServiceAuthError">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Retry reason of failed ListAccounts call during Chrome OS login during
    account reconciliation, ChromeOS login, or signin internals queries.
  </summary>
</histogram>

<histogram name="Signin.OAuth2TokenGetFailure" enum="GoogleServiceAuthError">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Reason fetching an OAuth2 Token failed. Available on all OSes.
  </summary>
</histogram>

<histogram name="Signin.OAuth2TokenGetRetry" enum="GoogleServiceAuthError">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Reason fetching an OAuth2 Token is being retried. Available on all OSes.
  </summary>
</histogram>

<histogram name="Signin.OneClickConfirmation" enum="SigninFlowConfirmations">
  <owner>noms@chromium.org</owner>
  <summary>
    Count of the ways users interact with the confirmation dialogs of the new
    web based sign in to Chrome flow (accessed via the one click signin).
  </summary>
</histogram>

<histogram name="Signin.Reauth" enum="SigninReauthStates">
  <owner>noms@chromium.org</owner>
  <summary>Tracks events related to the reauthentication Gaia page.</summary>
</histogram>

<histogram name="Signin.Reconciler.AddedToChrome">
  <obsolete>
    Deprecated 2014-09 because chrome no longer tries to reconcile from the
    cookie jar to the browser.
  </obsolete>
  <owner>mlerman@chromium.org</owner>
  <summary>
    How many accounts were added to the browser's token service because they
    were in the cookie jar.
  </summary>
</histogram>

<histogram name="Signin.Reconciler.AddedToCookieJar">
  <owner>mlerman@chromium.org</owner>
  <summary>
    How many accounts were added to the cookie jar because they were in the
    browser's token service.
  </summary>
</histogram>

<histogram name="Signin.Reconciler.AllExternalCcResultCompleted"
    enum="BooleanSuccess">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Records whether all external connections have been successfully checked (a
    value of &quot;true&quot;) or not (&quot;false&quot;) when the reconciler
    attempts to perform MergeSession.
  </summary>
</histogram>

<histogram name="Signin.Reconciler.DifferentPrimaryAccounts"
    enum="DifferentPrimaryAccounts">
  <owner>mlerman@chromium.org</owner>
  <summary>
    After execution of the account reconcilor, compares the primary account in
    the token service to the primary GAIA account of the cookie jar.
  </summary>
</histogram>

<histogram name="Signin.Reconciler.Duration">
  <owner>rogerta@chromium.org</owner>
  <summary>Records the execution time of the account reconciler.</summary>
</histogram>

<histogram name="Signin.Reconciler.ExternalCcResultTime.Completed">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Records the time it took to successfully check all external connections
    whenever the reconciler performs a reconciliation.
  </summary>
</histogram>

<histogram name="Signin.Reconciler.ExternalCcResultTime.NotCompleted">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Records the time it took to check only a portion of external connections
    whenever the reconciler performs a reconciliation.  This means that either a
    network error occured while checking some sites or the site did not respond
    before the check timeout.
  </summary>
</histogram>

<histogram name="Signin.Reconciler.RemovedFromCookieJar">
  <owner>mlerman@chromium.org</owner>
  <summary>
    How many accounts were removed from the cookie jar because they were not in
    the browser's token service.
  </summary>
</histogram>

<histogram name="Signin.RefreshTokenAnnotationRequest" enum="BooleanSuccess">
  <owner>pavely@chromium.org</owner>
  <summary>
    Track when chrome successfully sends RefreshTokenAnnotationRequest.
  </summary>
</histogram>

<histogram name="Signin.SignedInDurationBeforeSignout" units="minutes">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Track how many minutes of real time (not browser active time) elapsed
    between profile signin and signout.
  </summary>
</histogram>

<histogram name="Signin.SigninCompletedAccessPoint" enum="SigninAccessPoint">
  <owner>gogerald@chromium.org</owner>
  <summary>Logs the original access point of each completed sign in.</summary>
</histogram>

<histogram name="Signin.SigninReason" enum="SigninReason">
  <owner>gogerald@chromium.org</owner>
  <summary>Logs the reason of each completed sign in.</summary>
</histogram>

<histogram name="Signin.SigninSource" enum="SigninSource">
  <obsolete>
    Removed this histogram since we have had newly designed histograms
    Signin.SigninStartedAccessPoint, Signin.SigninCompletedAccessPoint, and
    Signin.SigninReason.
  </obsolete>
  <owner>noms@chromium.org</owner>
  <summary>
    Logs the original source that displayed the signin or reauth Gaia page,
    before the page is displayed.
  </summary>
</histogram>

<histogram name="Signin.SigninStartedAccessPoint" enum="SigninAccessPoint">
  <owner>gogerald@chromium.org</owner>
  <summary>
    Logs the original access point that displayed the signin or reauth Gaia
    page, before the page is displayed.
  </summary>
</histogram>

<histogram name="Signin.SignoutDeleteProfile" enum="BooleanDeletedOrNot">
  <owner>skym@chromium.org</owner>
  <summary>
    If the user chose to delete their profile or not when signing out of an
    unmanaged account. When the user is not given a choice this metric is not
    recorded.
  </summary>
</histogram>

<histogram name="Signin.SignoutProfile" enum="SigninSignoutProfile">
  <owner>mlerman@chromium.org</owner>
  <summary>Track how a profile gets signed out.</summary>
</histogram>

<histogram name="Signin.TokenTable.GetAllTokensSqlStatementValidity"
    enum="BooleanValid">
  <owner>msarda@chromium.org</owner>
  <summary>
    Counts how many times the SQL statements to get all tokens is valid.
  </summary>
</histogram>

<histogram name="Signin.TokenTable.ReadTokenFromDBResult"
    enum="SigninTokenTableReadTokenFromDBResult">
  <owner>msarda@chromium.org</owner>
  <summary>
    Counts the results of loading a refresh token from the token database.
  </summary>
</histogram>

<histogram name="Signin.UberTokenFailure" enum="GoogleServiceAuthError">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Reason of failure to acquiring an ubertoken based on an already-minted
    access token. Available on all OSes.
  </summary>
</histogram>

<histogram name="Signin.UberTokenRetry" enum="GoogleServiceAuthError">
  <owner>mlerman@chromium.org</owner>
  <summary>
    Retry reason of failure to acquire an ubertoken based on an already-minted
    access token. Available on all OSes.
  </summary>
</histogram>

<histogram name="Signin.XDevicePromo.BrowsingSessionDuration" units="minutes">
  <owner>anthonyvd@chromium.org</owner>
  <owner>mlerman@chromium.org</owner>
  <summary>
    How long a browsing session was measured to be. Logged when a Browser window
    becomes active if the previous activation was longer than the minimum
    configured in the &quot;CrossDevicePromo&quot; experiment. Desktop only.
  </summary>
</histogram>

<histogram name="Signin.XDevicePromo.BrowsingSessionDurationComputed"
    units="minutes">
  <owner>anthonyvd@chromium.org</owner>
  <owner>mlerman@chromium.org</owner>
  <summary>
    How often browsers are considered activated, which in turn triggers the
    CrossDevicePromo. Logged every time a Browser window becomes active. We need
    this to estimate QPS for RPC calls. Desktop only.
  </summary>
</histogram>

<histogram name="Signin.XDevicePromo.Eligibility"
    enum="SigninXDevicePromoEligibility">
  <owner>anthonyvd@chromium.org</owner>
  <owner>mlerman@chromium.org</owner>
  <summary>
    The reasons for which a profile is or is not eligible for the Desktop Cross
    Device Sign In Promo. Logged every time a new Browsing session is detected
    as part of a Browser window becoming active. Desktop only.
  </summary>
</histogram>

<histogram name="Signin.XDevicePromo.Initialized"
    enum="SigninXDevicePromoInitialized">
  <owner>anthonyvd@chromium.org</owner>
  <owner>mlerman@chromium.org</owner>
  <summary>
    Tracks if profiles initialized the XDevicePromo, and if not, why. Logged at
    Profile startup and (if not initialized then) when a new browsing session is
    detected during Browser window activation. Desktop only.
  </summary>
</histogram>

<histogram name="SimpleCache.CacheSizeOnInit" units="KB">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The size of the cache at the time that the index has finished initializing.
  </summary>
</histogram>

<histogram name="SimpleCache.CheckCRCResult" enum="CheckCRCResult">
  <owner>gavinp@chromium.org</owner>
  <summary>
    Whether or not the CRC was checked at the moment when the last reference to
    a read-only entry stream is closed.
  </summary>
</histogram>

<histogram name="SimpleCache.CreationToIndex" units="ms">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The time from the creation of the simple cache backend until the index has
    been loaded from disk.
  </summary>
</histogram>

<histogram name="SimpleCache.CreationToIndexFail" units="ms">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The time from the creation of the simple cache backend until the index fails
    to load.
  </summary>
</histogram>

<histogram name="SimpleCache.DiskOpenLatency" units="ms">
  <owner>rdsmith@chromium.org</owner>
  <summary>
    The time to access (open and read headers from all files) the cache entry on
    disk.
  </summary>
</histogram>

<histogram name="SimpleCache.EntryCreatedAndStream2Omitted"
    enum="SimpleCache.EntryCreatedAndStream2Omitted">
  <owner>gavinp@chromium.org</owner>
  <summary>
    Whether, upon creation of a new cache entry, the file for stream 2 was
    omitted since that stream was empty.
  </summary>
</histogram>

<histogram name="SimpleCache.EntryCreationResult" enum="BooleanSuccess">
  <owner>gavinp@chromium.org</owner>
  <summary>
    For entry creation operations that were sent to the disk, the result of
    creation.
  </summary>
</histogram>

<histogram name="SimpleCache.EntryCreationTime" units="ms">
  <owner>gavinp@chromium.org</owner>
  <summary>The time, in ms, spent creating a new entry on disk.</summary>
</histogram>

<histogram name="SimpleCache.EntryOpenedAndStream2Removed"
    enum="SimpleCache.EntryOpenedAndStream2Removed">
  <owner>gavinp@chromium.org</owner>
  <summary>
    Whether, upon opening of an existing cache entry, stream 2 was empty and the
    file for that stream was therefore removed.
  </summary>
</histogram>

<histogram name="SimpleCache.EntryOperationsPending">
  <owner>gavinp@chromium.org</owner>
  <summary>
    At the time that operations are run, the number of pending operations on a
    particular entry.
  </summary>
</histogram>

<histogram name="SimpleCache.Eviction.CacheSizeOnStart" units="bytes">
  <obsolete>
    Deprecated 2013 in favour of SimpleCache.Eviction.CacheSizeOnStart2
  </obsolete>
  <owner>gavinp@chromium.org</owner>
  <summary>The size of the cache at the beginning of an eviction.</summary>
</histogram>

<histogram name="SimpleCache.Eviction.CacheSizeOnStart2" units="KB">
  <owner>gavinp@chromium.org</owner>
  <summary>The size of the cache at the beginning of an eviction.</summary>
</histogram>

<histogram name="SimpleCache.Eviction.EntryCount">
  <owner>gavinp@chromium.org</owner>
  <summary>The number of entries to be erased in an eviction.</summary>
</histogram>

<histogram name="SimpleCache.Eviction.MaxCacheSizeOnStart" units="bytes">
  <obsolete>
    Deprecated 2013 in favour of SimpleCache.Eviction.MaxCacheSizeOnStart2
  </obsolete>
  <owner>gavinp@chromium.org</owner>
  <summary>
    The maximum allowed size of the cache at the beginning of an eviction.
  </summary>
</histogram>

<histogram name="SimpleCache.Eviction.MaxCacheSizeOnStart2" units="KB">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The maximum allowed size of the cache at the beginning of an eviction.
  </summary>
</histogram>

<histogram name="SimpleCache.Eviction.Result" enum="BooleanSuccess">
  <owner>gavinp@chromium.org</owner>
  <summary>The result of an eviction.</summary>
</histogram>

<histogram name="SimpleCache.Eviction.SizeOfEvicted" units="bytes">
  <obsolete>
    Deprecated 2013 in favour of SimpleCache.Eviction.SizeOfEvicted2
  </obsolete>
  <owner>gavinp@chromium.org</owner>
  <summary>The number of bytes to be erased in an eviction.</summary>
</histogram>

<histogram name="SimpleCache.Eviction.SizeOfEvicted2" units="KB">
  <owner>gavinp@chromium.org</owner>
  <summary>The amount of memory freed in an eviction.</summary>
</histogram>

<histogram name="SimpleCache.Eviction.SizeWhenDone" units="bytes">
  <obsolete>
    Deprecated 2013 in favour of SimpleCache.Eviction.SizeWhenDone2
  </obsolete>
  <owner>gavinp@chromium.org</owner>
  <summary>The size of the cache after running an eviction.</summary>
</histogram>

<histogram name="SimpleCache.Eviction.SizeWhenDone2" units="KB">
  <owner>gavinp@chromium.org</owner>
  <summary>The size of the cache after running an eviction.</summary>
</histogram>

<histogram name="SimpleCache.Eviction.TimeToDone" units="ms">
  <owner>gavinp@chromium.org</owner>
  <summary>Time spent completing an eviction.</summary>
</histogram>

<histogram name="SimpleCache.Eviction.TimeToSelectEntries" units="ms">
  <owner>gavinp@chromium.org</owner>
  <summary>Time spent selecting entries for eviction.</summary>
</histogram>

<histogram name="SimpleCache.FileDescriptorLimitHard">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The maximum limit of how many file descriptors a process can open.  Emitted
    each time the browser is launched, if the limit could be retrieved.  (This
    is the highest value we could raise the current limit to if we liked.)
  </summary>
</histogram>

<histogram name="SimpleCache.FileDescriptorLimitSoft">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The current limit of how many file descriptors a process can open.  Emitted
    each time the browser is launched, if the limit could be retrieved.  (We can
    raise this to the maximum limit if we like, without root access.)
  </summary>
</histogram>

<histogram name="SimpleCache.FileDescriptorLimitStatus"
    enum="SimpleCache.FileDescriptorLimitStatus">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The result of trying to get the file descriptor limit.  Emitted each time
    the browser is launched.
  </summary>
</histogram>

<histogram name="SimpleCache.GlobalOpenEntryCount">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The number of open entries across all caches backed by the Simple Cache. An
    entry is opened whenever a caller asks to open it to read or write cache
    data, and remains open until the last caller asks to close it. Logged
    whenever an entry is opened or closed.
  </summary>
</histogram>

<histogram name="SimpleCache.HeaderSize" units="bytes">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The size of the header stream of a Simple Cache entry, emitted every time
    the headers are written or rewritten.
  </summary>
</histogram>

<histogram name="SimpleCache.HeaderSizeChange"
    enum="SimpleCacheHeaderSizeChange">
  <owner>gavinp@chromium.org</owner>
  <summary>
    How the header size has changed in a Simple Cache entry, emitted every time
    a write operation occurs on the header stream.  (This includes the initial
    write, rewrites, and other writes that we couldn't classify.)
  </summary>
</histogram>

<histogram name="SimpleCache.HeaderSizeDecreaseAbsolute" units="bytes">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The absolute size decrease of the header stream of a Simple Cache entry,
    emitted every time the headers are rewritten with a smaller size.
  </summary>
</histogram>

<histogram name="SimpleCache.HeaderSizeDecreasePercentage" units="%">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The relative size decrease of the header stream of a Simple Cache entry,
    emitted every time the headers are rewritten with a smaller size.
  </summary>
</histogram>

<histogram name="SimpleCache.HeaderSizeIncreaseAbsolute" units="bytes">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The absolute size increase of the header stream of a Simple Cache entry,
    emitted every time the headers are rewritten with a larger size.
  </summary>
</histogram>

<histogram name="SimpleCache.HeaderSizeIncreasePercentage" units="%">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The relative size increase of the header stream of a Simple Cache entry,
    emitted every time the headers are rewritten with a larger size.
  </summary>
</histogram>

<histogram name="SimpleCache.IndexCorrupt" enum="BooleanCorrupt">
  <owner>gavinp@chromium.org</owner>
  <summary>For each index load, whether the index file was corrupt.</summary>
</histogram>

<histogram name="SimpleCache.IndexCreatedEntryCount">
  <owner>gavinp@chromium.org</owner>
  <summary>The number of entries in a newly created index file.</summary>
</histogram>

<histogram name="SimpleCache.IndexEntriesLoaded">
  <owner>gavinp@chromium.org</owner>
  <summary>Number of entries loaded from the index file on start.</summary>
</histogram>

<histogram name="SimpleCache.IndexEntriesRestored">
  <owner>gavinp@chromium.org</owner>
  <summary>
    Number of entries restored from disk when there was no index or the index
    was corrupted.
  </summary>
</histogram>

<histogram name="SimpleCache.IndexFileStateOnLoad" enum="SimpleIndexState">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The state the index file is at when an attempt is made to load from it.
  </summary>
</histogram>

<histogram name="SimpleCache.IndexInitializationWaiters">
  <owner>gavinp@chromium.org</owner>
  <summary>
    At the time of index initialization, the number of enqueued jobs awaiting
    index initialization.
  </summary>
</histogram>

<histogram name="SimpleCache.IndexInitializeMethod"
    enum="SimpleCacheIndexInitializeMethod">
  <owner>gavinp@chromium.org</owner>
  <summary>The method used to initialize the simple cache index.</summary>
</histogram>

<histogram name="SimpleCache.IndexLoadTime" units="ms">
  <owner>gavinp@chromium.org</owner>
  <summary>
    Time (as measured on the worker pool) spent loading the index file.
  </summary>
</histogram>

<histogram name="SimpleCache.IndexNumEntriesOnInit" units="entries">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The number of entries in the index at the time that the index has finished
    initializing.
  </summary>
</histogram>

<histogram name="SimpleCache.IndexNumEntriesOnWrite">
  <owner>gavinp@chromium.org</owner>
  <summary>The number of entries written to the index on a flush.</summary>
</histogram>

<histogram name="SimpleCache.IndexRestoreTime" units="ms">
  <owner>gavinp@chromium.org</owner>
  <summary>
    Time (as measured on the worker pool) spent restoring the index file by
    iterating directory entries.
  </summary>
</histogram>

<histogram name="SimpleCache.IndexStale" enum="BooleanStale">
  <obsolete>
    Deprecated 07/2013, and replaced by IndexFileStateOnLoad.
  </obsolete>
  <owner>gavinp@chromium.org</owner>
  <summary>For each index load, whether the index file was stale.</summary>
</histogram>

<histogram name="SimpleCache.IndexWriteInterval.Background" units="ms">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The interval between index saves, for apps in the background.
  </summary>
</histogram>

<histogram name="SimpleCache.IndexWriteInterval.Foreground" units="ms">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The interval between index saves, for apps in the foreground.
  </summary>
</histogram>

<histogram name="SimpleCache.IndexWriteReason"
    enum="SimpleCacheIndexWriteReason">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The reason an index was written to disk. Recorded every time an index is
    saved.
  </summary>
</histogram>

<histogram name="SimpleCache.IndexWriteReasonAtLoad"
    enum="SimpleCacheIndexWriteReason">
  <owner>gavinp@chromium.org</owner>
  <summary>
    Recorded immediately after loading a fresh index (INDEX_STATE_FRESH or
    INDEX_STATE_FRESH_CONCURRENT_UPDATES), the reason the loaded index was
    written to disk.
  </summary>
</histogram>

<histogram name="SimpleCache.IndexWriteToDiskTime" units="ms">
  <obsolete>
    Deprecated 2013-05 in favour of
    SimpleCache.SimpleIndexWriteToDiskTime.Background and
    SimpleCache.SimpleIndexWriteToDiskTime.Foreground.
  </obsolete>
  <owner>gavinp@chromium.org</owner>
  <summary>
    The amount of time spend writing the index file to disk, measured starting
    at the beginning of the write on the callback thread, and calculated using
    the completion time on the worker pool.
  </summary>
</histogram>

<histogram name="SimpleCache.IndexWriteToDiskTime.Background" units="ms">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The amount of time spend writing the index file to disk, for apps in the
    background, measured starting at the beginning of the write on the callback
    thread, and calculated using the completion time on the worker pool.
  </summary>
</histogram>

<histogram name="SimpleCache.IndexWriteToDiskTime.Foreground" units="ms">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The amount of time spend writing the index file to disk, for apps in the
    foreground, measured starting at the beginning of the write on the callback
    thread, and calculated using the completion time on the worker pool.
  </summary>
</histogram>

<histogram name="SimpleCache.KeyMatchedOnOpen" enum="BooleanMatched">
  <obsolete>
    Deprecated 2016-05 as the match checking was moved back into the entry
    itself, so this result is now reported in the SimpleCache.x.SyncOpenResult
    histograms.
  </obsolete>
  <owner>gavinp@chromium.org</owner>
  <summary>
    For each call to OpenEntry, whether the key on disk matched the request key.
  </summary>
</histogram>

<histogram name="SimpleCache.LastClusterLossPercent" units="%">
  <owner>gavinp@chromium.org</owner>
  <summary>
    For each file in the Simple Cache, the percentage of disk space used by the
    cluster loss, the unused disk space in the last 4096 byte cluster of the
    file.
  </summary>
</histogram>

<histogram name="SimpleCache.LastClusterSize" units="bytes">
  <owner>gavinp@chromium.org</owner>
  <summary>
    For each file in the Simple Cache, the number of bytes in the last 4096 byte
    cluster when the entry is saved to disk.
  </summary>
</histogram>

<histogram name="SimpleCache.MaxCacheSizeOnInit" units="KB">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The maximum allowed size of the cache at the time that the index has
    finished initializing.
  </summary>
</histogram>

<histogram name="SimpleCache.OpenEntryIndexState"
    enum="SimpleCacheOpenEntryIndexState">
  <owner>gavinp@chromium.org</owner>
  <summary>
    At the time that an entry is opened, the state of that entry in the index.
  </summary>
</histogram>

<histogram name="SimpleCache.PercentFullOnInit" units="%">
  <owner>jkarlin@chromium.org</owner>
  <summary>
    The fullness (in percent) of the cache at the time that the index has
    finished initializing. The percentage is calculated as (cache_size * 100) /
    max_cache_size.
  </summary>
</histogram>

<histogram name="SimpleCache.ReadIsParallelizable"
    enum="SimpleCacheReadParallelizable">
  <owner>gavinp@chromium.org</owner>
  <summary>
    For each Read operation, whether it could have been issued in parallel of a
    previous Read operation.
  </summary>
</histogram>

<histogram name="SimpleCache.ReadResult" enum="SimpleCacheReadResult">
  <owner>gavinp@chromium.org</owner>
  <summary>The outcome of Entry::ReadData in the simple cache.</summary>
</histogram>

<histogram name="SimpleCache.StaleIndexExtraEntryCount" units="entries">
  <owner>gavinp@chromium.org</owner>
  <summary>
    Count of the number of entries recorded in the index, but not actually
    present in the cache. Recorded each time a stale index is found and a
    directory rescan is required.
  </summary>
</histogram>

<histogram name="SimpleCache.StaleIndexMissedEntryCount" units="entries">
  <owner>gavinp@chromium.org</owner>
  <summary>
    Count of the number of entries present in a cache, but not recorded in the
    index. Recorded each time a stale index is found and a directory rescan is
    required.
  </summary>
</histogram>

<histogram name="SimpleCache.StaleIndexQuality"
    enum="SimpleCacheStaleIndexQuality">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The quality of a &quot;stale&quot; index compared to a full directory
    rescan. Recorded immediately after every directory scan for stale indexes.
  </summary>
</histogram>

<histogram name="SimpleCache.SyncCheckEOFHasCrc" enum="BooleanHasCrc">
  <owner>gavinp@chromium.org</owner>
  <summary>
    For each EOFRecord found with a valid magic number, indicates if the record
    also contains a CRC.
  </summary>
</histogram>

<histogram name="SimpleCache.SyncCheckEOFResult"
    enum="SimpleCacheSyncCheckEOFResult">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The result, at the synchronous layer, of checking the EOF record of a cache
    entry.
  </summary>
</histogram>

<histogram name="SimpleCache.SyncCloseResult" enum="SimpleCacheSyncCloseResult">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The result, at the synchronous layer, of closing a cache entry.
  </summary>
</histogram>

<histogram name="SimpleCache.SyncCreatePlatformFileError"
    enum="PlatformFileError">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The platform error reported when attempting to create a new cache entry at
    the synchronous layer.
  </summary>
</histogram>

<histogram name="SimpleCache.SyncCreateResult"
    enum="SimpleCacheSyncCreateResult">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The result, at the synchronous layer, reported when attempting to create a
    new cache entry.
  </summary>
</histogram>

<histogram name="SimpleCache.SyncKeySHA256Result"
    enum="SimpleCacheSyncSHA256Result">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The result of the the key SHA256 check done when opening stream 0 for each
    entry.
  </summary>
</histogram>

<histogram name="SimpleCache.SyncOpenEntryAge" units="hours">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The age of the entry (time since last modified), when opened at the
    synchronous layer.
  </summary>
</histogram>

<histogram name="SimpleCache.SyncOpenPlatformFileError"
    enum="PlatformFileError">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The platform error reported when attempting to create a new cache entry at
    the synchronous layer.
  </summary>
</histogram>

<histogram name="SimpleCache.SyncOpenResult" enum="SimpleCacheSyncOpenResult">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The result, at the synchronous layer, reported when attempting to open a new
    cache entry.
  </summary>
</histogram>

<histogram name="SimpleCache.SyncWriteResult" enum="SimpleCacheSyncWriteResult">
  <owner>gavinp@chromium.org</owner>
  <summary>
    The result, at the synchronous layer, of writing to a cache entry.
  </summary>
</histogram>

<histogram name="SimpleCache.WriteDependencyType"
    enum="SimpleCacheWriteDependencyType">
  <owner>gavinp@chromium.org</owner>
  <summary>
    Shows whether a write operation depends on the previous operation in queue
    particularly in the aspect of its possibility to run in parallel.
  </summary>
</histogram>

<histogram name="SimpleCache.WriteResult" enum="SimpleCacheWriteResult">
  <obsolete>
    Replaced 2013/09/03 by WriteResult2, which adds &quot;fast empty
    return&quot;, which previously showed up as &quot;success&quot;.
  </obsolete>
  <owner>gavinp@chromium.org</owner>
  <summary>The outcome of Entry::WriteData in the simple cache.</summary>
</histogram>

<histogram name="SimpleCache.WriteResult2" enum="SimpleCacheWriteResult">
  <owner>gavinp@chromium.org</owner>
  <summary>The outcome of Entry::WriteData in the simple cache.</summary>
</histogram>

<histogram name="SimpleGeolocation.Request.Event"
    enum="SimpleGeolocationRequestEvent">
  <owner>alemate@chromium.org</owner>
  <summary>Events in reqests processing of IP-based SimpleGeolocation.</summary>
</histogram>

<histogram name="SimpleGeolocation.Request.HasCellTowers"
    enum="SimpleGeolocationRequestHasCellTowers">
  <owner>skylarc@chromium.org</owner>
  <summary>
    This boolean histogram counts SimpleGeolocationRequests carrying a nonzero
    number of cell towers.
  </summary>
</histogram>

<histogram name="SimpleGeolocation.Request.HasWiFiAccessPoints"
    enum="SimpleGeolocationRequestHasWiFiAccessPoints">
  <owner>alemate@chromium.org</owner>
  <summary>
    This boolean histogram counts SimpleGeolocationRequests carrying nonzero
    number of WiFi access points.
  </summary>
</histogram>

<histogram name="SimpleGeolocation.Request.ResponseCode"
    enum="HttpResponseCode">
  <owner>alemate@chromium.org</owner>
  <summary>Http response codes in IP-based SimpleGeolocation.</summary>
</histogram>

<histogram name="SimpleGeolocation.Request.ResponseFailureTime" units="ms">
  <owner>alemate@chromium.org</owner>
  <summary>
    The time elapsed between the sending of the first API request and the time
    the final (failed) response was recorded. Includes all retries.
  </summary>
</histogram>

<histogram name="SimpleGeolocation.Request.ResponseSuccessTime" units="ms">
  <owner>alemate@chromium.org</owner>
  <summary>
    The time elapsed between the sending of the first API request and the time
    the final (successfull) response was recorded. Includes all retries.
  </summary>
</histogram>

<histogram name="SimpleGeolocation.Request.Result"
    enum="SimpleGeolocationRequestResult">
  <owner>alemate@chromium.org</owner>
  <summary>Result of SimpleGeolocationRequest.</summary>
</histogram>

<histogram name="SimpleGeolocation.Request.Retries">
  <owner>alemate@chromium.org</owner>
  <summary>Number of retries until the final response was recorded.</summary>
</histogram>

<histogram name="SiteEngagementService.DaysSinceLastShortcutLaunch"
    units="days">
  <owner>calamity@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    The number of days between launches of an origin saved to homescreen or as a
    bookmark app shortcut. Recorded at the second and each following launch of a
    specific origin from a shortcut, independently per origin.
  </summary>
</histogram>

<histogram name="SiteEngagementService.EngagementPercentageForHTTPS">
  <obsolete>
    Removed in M60. See crbug.com/712493.
  </obsolete>
  <owner>calamity@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    The percentage of total site engagement accumulated by this profile for
    HTTPS URLs as a proportion of all engagement for HTTPS and HTTP URLs.
    Recorded at startup per non-incognito profile, and then upon the first
    engagement-increasing event every hour thereafter.
  </summary>
</histogram>

<histogram name="SiteEngagementService.EngagementScore">
  <owner>calamity@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    Distribution of the engagement scores accumulated by a user, recorded at
    startup per non-incognito profile, and then upon the first
    engagement-increasing event every hour thereafter.
  </summary>
</histogram>

<histogram name="SiteEngagementService.EngagementScore.HTTP">
  <obsolete>
    Removed in M60. See crbug.com/712493.
  </obsolete>
  <owner>calamity@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    Distribution of the engagement scores accumulated by a user, recorded at
    startup per non-incognito profile, and then upon the first
    engagement-increasing event every hour thereafter. Limited specifically to
    HTTP URLs.
  </summary>
</histogram>

<histogram name="SiteEngagementService.EngagementScore.HTTPS">
  <obsolete>
    Removed in M60. See crbug.com/712493.
  </obsolete>
  <owner>calamity@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    Distribution of the engagement scores accumulated by a user, recorded at
    startup per non-incognito profile, and then upon the first
    engagement-increasing event every hour thereafter. Limited specifically to
    HTTPS URLs.
  </summary>
</histogram>

<histogram name="SiteEngagementService.EngagementScore.IsZero" enum="Boolean">
  <owner>charleszhao@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <owner>kcarattini@chromium.org</owner>
  <summary>
    The distribution of zero versus non-zero engagement scores accumulated by
    the user, recorded at the same time as
    SiteEngagementService.EngagementScore.
  </summary>
</histogram>

<histogram name="SiteEngagementService.EngagementScoreBucket" units="%">
  <owner>calamity@chromium.org</owner>
  <summary>
    The percentage of sites on a user's profile that have engagement scores that
    fall in these buckets, recorded at startup per non-incognito profile, and
    then upon the first engagement-increasing event every hour thereafter.
  </summary>
</histogram>

<histogram name="SiteEngagementService.EngagementType"
    enum="SiteEngagementServiceEngagementType">
  <owner>calamity@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    The type of engagement (navigation, user input, etc.) which led to an
    accumulation in site engagement.
  </summary>
</histogram>

<histogram name="SiteEngagementService.MeanEngagement">
  <owner>calamity@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    The mean site engagement per origin accumulated by this profile, recorded at
    startup per non-incognito profile, and then upon the first
    engagement-increasing event every hour thereafter.
  </summary>
</histogram>

<histogram name="SiteEngagementService.MedianEngagement">
  <owner>calamity@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    The median site engagement per origin accumulated by this profile, recorded
    at startup per non-incognito profile, and then upon the first
    engagement-increasing event every hour thereafter.
  </summary>
</histogram>

<histogram name="SiteEngagementService.OriginsEngaged">
  <owner>calamity@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    The total number of origins with a non-zero site engagement score for this
    profile, recorded at startup per non-incognito profile, and then upon the
    first engagement-increasing event every hour thereafter.
  </summary>
</histogram>

<histogram name="SiteEngagementService.OriginsWithMaxDailyEngagement">
  <owner>calamity@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    The number of origins which have reached the daily site engagement point
    cap, recorded at startup per non-incognito profile, and then upon the first
    engagement-increasing event every hour thereafter. Thus, each bin N contains
    the number of clients where at least N origins have reached the maximum
    daily site engagement point cap.
  </summary>
</histogram>

<histogram name="SiteEngagementService.OriginsWithMaxEngagement">
  <owner>calamity@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    The number of origins which have reached the absolute site engagement point
    cap, recorded at startup per non-incognito profile, and then upon the first
    engagement-increasing event every hour thereafter. Thus, each bin N contains
    the number of clients where at least N origins have reached the maximum
    absolute site engagement point cap.
  </summary>
</histogram>

<histogram name="SiteEngagementService.PercentOriginsWithMaxEngagement">
  <owner>calamity@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    The percentage of all origins recorded by the site engagement service which
    have reached the absolute site engagement point cap, recorded at startup per
    non-incognito profile, and then upon the first engagement-increasing event
    every hour thereafter.
  </summary>
</histogram>

<histogram name="SiteEngagementService.TotalEngagement">
  <owner>calamity@chromium.org</owner>
  <owner>dominickn@chromium.org</owner>
  <summary>
    The total site engagement accumulated by this profile, recorded at startup
    per non-incognito profile, and then upon the first engagement-increasing
    event every hour thereafter.
  </summary>
</histogram>

<histogram name="SiteIsolation.AllResponses">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of all network responses received by a renderer. Each response is
    corresponding to one URL requested by a renderer. Incremented when the first
    network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.BrowsingInstanceCount">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of all current BrowsingInstances.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.CurrentRendererProcessCount">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of all renderer processes, including WebUI and extensions.
    Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateAllSitesProcessCountEstimate">
  <owner>creis@chromium.org</owner>
  <summary>
    The upper bound of the predicted renderer process count if we isolated all
    sites, subject to the process limit.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateAllSitesProcessCountLowerBound">
  <owner>creis@chromium.org</owner>
  <summary>
    The lower bound of the predicted renderer process count if we isolated all
    sites, subject to the process limit.  Happens to be the number of unique
    sites.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateAllSitesProcessCountNoLimit">
  <owner>creis@chromium.org</owner>
  <summary>
    The predicted renderer process count if we isolated all sites and if there
    were no process limit.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateAllSitesTotalProcessCountEstimate">
  <owner>creis@chromium.org</owner>
  <summary>
    The predicted total process count if we isolated all sites, subject to the
    process limit.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateExtensionsProcessCountEstimate">
  <owner>nick@chromium.org</owner>
  <summary>
    The upper bound of the predicted renderer process count if we isolated only
    Chrome extensions, subject to the process limit.  Recorded once per UMA
    ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateExtensionsProcessCountLowerBound">
  <owner>nick@chromium.org</owner>
  <summary>
    The lower bound of the predicted renderer process count if we isolated only
    Chrome extensions, subject to the process limit. Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateExtensionsProcessCountNoLimit">
  <owner>nick@chromium.org</owner>
  <summary>
    The predicted renderer process count if we isolated only Chrome extensions
    and if there were no process limit.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateExtensionsTotalProcessCountEstimate">
  <owner>nick@chromium.org</owner>
  <summary>
    The predicted total process count if we isolated only Chrome extensions,
    subject to the process limit.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateHttpsSitesProcessCountEstimate">
  <owner>creis@chromium.org</owner>
  <summary>
    The upper bound of the predicted renderer process count if we isolated only
    HTTPS (not HTTP) sites, subject to the process limit.  Recorded once per UMA
    ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateHttpsSitesProcessCountLowerBound">
  <owner>creis@chromium.org</owner>
  <summary>
    The lower bound of the predicted renderer process count if we isolated only
    HTTPS (not HTTP) sites, subject to the process limit.  Happens to be the
    number of isolated sites.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateHttpsSitesProcessCountNoLimit">
  <owner>creis@chromium.org</owner>
  <summary>
    The predicted renderer process count if we isolated only HTTPS (not HTTP)
    sites and if there were no process limit.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateHttpsSitesTotalProcessCountEstimate">
  <owner>creis@chromium.org</owner>
  <summary>
    The predicted total process count if we isolated only HTTPS (not HTTP)
    sites, subject to the process limit.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateNothingProcessCountEstimate">
  <owner>creis@chromium.org</owner>
  <summary>
    The upper bound of the estimated renderer process count if we isolated no
    sites, subject to the process limit.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateNothingProcessCountLowerBound">
  <owner>creis@chromium.org</owner>
  <summary>
    The lower bound of the predicted renderer process count if we isolated no
    sites, subject to the process limit.  Happens to be the number of isolated
    sites.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateNothingProcessCountNoLimit">
  <owner>creis@chromium.org</owner>
  <summary>
    The predicted renderer process count if we isolated no sites and if there
    were no process limit.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.IsolateNothingTotalProcessCountEstimate">
  <owner>creis@chromium.org</owner>
  <summary>
    The predicted total process count if we isolated no sites, subject to the
    process limit.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.OutOfProcessIframes">
  <owner>nasko@chromium.org</owner>
  <summary>
    The count of all out-of-process iframes.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.ProxyCount">
  <owner>nick@chromium.org</owner>
  <summary>
    The count of all RenderFrameProxyHosts.  Recorded once per UMA ping.
  </summary>
</histogram>

<histogram name="SiteIsolation.ProxyCountPerBrowsingInstance">
  <owner>nick@chromium.org</owner>
  <summary>
    The count of RenderFrameProxyHosts in each BrowsingInstance.  Recorded each
    UMA ping, once per BrowsingInstance.
  </summary>
</histogram>

<histogram name="SiteIsolation.SiteInstancesPerBrowsingInstance">
  <owner>nasko@chromium.org</owner>
  <summary>
    The count of SiteInstances in a single BrowsingInstance. Recorded each UMA
    ping, once per BrowsingInstance.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.DataLength" units="byte">
  <owner>creis@chromium.org</owner>
  <summary>
    The number of bytes in the first network packet for a response with headers
    that imply potential illegal cross-site access. Recorded when the first
    network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.HTML.Blocked">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of blocked cross-site document responses due to having HTML
    content type header and contents sniffed as HTML. Sampled with value of 1
    when the first network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.HTML.Blocked.NonRenderableStatusCode">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a nonrenderable HTTP status code among blocked
    cross-site document responses due to their HTML contents. Sampled with value
    1 when the first network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.HTML.Blocked.RenderableStatusCode"
    enum="ContentResourceType">
  <obsolete>
    Superseded by SiteIsolation.XSD.HTML.Blocked.RenderableStatusCode2 in
    December 2015.
  </obsolete>
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.) among blocked
    cross-site document responses due to their HTML contents. Sampled with a
    resource type (0-14) when the first network packet of a response of this
    type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.HTML.Blocked.RenderableStatusCode2"
    enum="ContentResourceType2">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.) among blocked
    cross-site document responses due to their HTML contents. Sampled with a
    resource type (0-17) when the first network packet of a response of this
    type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.HTML.NoSniffBlocked.NonRenderableStatusCode">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a nonrenderable HTTP status code among blocked
    cross-site document responses due to having HTML content type and nosniff
    headers. Sampled with value 1 when the first network packet of a response of
    this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.HTML.NoSniffBlocked.RenderableStatusCode"
    enum="ContentResourceType">
  <obsolete>
    Superseded by SiteIsolation.XSD.HTML.NoSniffBlocked.RenderableStatusCode2 in
    December 2015.
  </obsolete>
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to having HTML content type and nosniff
    headers. Sampled with a resource type (0-14) when the first network packet
    of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.HTML.NoSniffBlocked.RenderableStatusCode2"
    enum="ContentResourceType2">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to having HTML content type and nosniff
    headers. Sampled with a resource type (0-17) when the first network packet
    of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.HTML.NotBlocked">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of not blocked responses despite having an HTML content type
    header due to the failure of content sniffing. Sampled with value 1 when the
    first network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.HTML.NotBlocked.MaybeJS">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses that may be parsed as JavaScript among not blocked
    responses. Sampled with value 1 when the first network packet of a response
    of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.JSON.Blocked">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of blocked cross-site document responses due to having JSON
    content type header and contents sniffed as JSON. Sampled with value 1 when
    the first network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.JSON.Blocked.NonRenderableStatusCode">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a nonrenderable HTTP status code among blocked
    cross-site document responses due to their JSON contents. Sampled with value
    1 when the first network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.JSON.Blocked.RenderableStatusCode"
    enum="ContentResourceType">
  <obsolete>
    Superseded by SiteIsolation.XSD.JSON.Blocked.RenderableStatusCode2 in
    December 2015.
  </obsolete>
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to their JSON contents. Sampled with a
    resource type (0-14) when the first network packet of a response of this
    type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.JSON.Blocked.RenderableStatusCode2"
    enum="ContentResourceType2">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to their JSON contents. Sampled with a
    resource type (0-17) when the first network packet of a response of this
    type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.JSON.NoSniffBlocked.NonRenderableStatusCode">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a nonrenderable HTTP status code among blocked
    cross-site document responses due to having JSON content type and nosniff
    headers. Sampled with value 1 when the first network packet of a response of
    this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.JSON.NoSniffBlocked.RenderableStatusCode"
    enum="ContentResourceType">
  <obsolete>
    Superseded by SiteIsolation.XSD.JSON.NoSniffBlocked.RenderableStatusCode2 in
    December 2015.
  </obsolete>
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to having JSON content type and nosniff
    headers. Sampled with a resource type (0-14) when the first network packet
    of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.JSON.NoSniffBlocked.RenderableStatusCode2"
    enum="ContentResourceType2">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to having JSON content type and nosniff
    headers. Sampled with a resource type (0-17) when the first network packet
    of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.JSON.NotBlocked">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of not blocked responses despite having an JSON content type
    header due to the failure of content sniffing. Sampled with value 1 when the
    first network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.JSON.NotBlocked.MaybeJS">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses that may be parsed as JavaScript among not blocked
    responses with a JSON content type header. Sampled with value 1 when the
    first network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.MimeType" enum="SiteIsolationMimeType">
  <owner>creis@chromium.org</owner>
  <summary>
    MIME type codes for content type header values of potentially cross-site
    document responses, excluding same-site or not http(s) urls. Sampled with a
    MIME type code (0-4) when the first network packet of a response of this
    type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.HTML.Blocked">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of blocked cross-site document responses due to having Plain
    content type header and contents sniffed as HTML. Sampled with value 1 when
    the first network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.HTML.Blocked.NonRenderableStatusCode">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a nonrenderable HTTP status code among blocked
    responses due to their Plain.HTML contents. Sampled with value 1 when the
    first network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.HTML.Blocked.RenderableStatusCode"
    enum="ContentResourceType">
  <obsolete>
    Superseded by SiteIsolation.XSD.Plain.HTML.Blocked.RenderableStatusCode2 in
    December 2015.
  </obsolete>
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to their Plain.HTML contents. Sampled with
    a resource type (0-14) when the first network packet of a response of this
    type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.HTML.Blocked.RenderableStatusCode2"
    enum="ContentResourceType2">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to their Plain.HTML contents. Sampled with
    a resource type (0-17) when the first network packet of a response of this
    type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.JSON.Blocked">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of blocked cross-site document responses due to having Plain
    content type header and contents sniffed as JSON. Sampled with value 1 when
    the first network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.JSON.Blocked.NonRenderableStatusCode">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a nonrenderable HTTP status code among blocked
    cross-site document responses due to their Plain.JSON contents. Sampled with
    value 1 when the first network packet of a response of this type is
    received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.JSON.Blocked.RenderableStatusCode"
    enum="ContentResourceType">
  <obsolete>
    Superseded by SiteIsolation.XSD.Plain.JSON.Blocked.RenderableStatusCode2 in
    December 2015.
  </obsolete>
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to their Plain.JSON contents. Sampled with
    a resource type (0-14) when the first network packet of a response of this
    type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.JSON.Blocked.RenderableStatusCode2"
    enum="ContentResourceType2">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to their Plain.JSON contents. Sampled with
    a resource type (0-17) when the first network packet of a response of this
    type is received.
  </summary>
</histogram>

<histogram
    name="SiteIsolation.XSD.Plain.NoSniffBlocked.NonRenderableStatusCode">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a nonrenderable HTTP status code among blocked
    cross-site document responses due to having Plain content type and nosniff
    headers. Sampled with value 1 when the first network packet of a response of
    this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.NoSniffBlocked.RenderableStatusCode"
    enum="ContentResourceType">
  <obsolete>
    Superseded by SiteIsolation.XSD.Plain.NoSniffBlocked.RenderableStatusCode2
    in December 2015.
  </obsolete>
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to having Plain content type and nosniff
    header. Sampled with a resource type (0-14) when the first network packet of
    a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.NoSniffBlocked.RenderableStatusCode2"
    enum="ContentResourceType2">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to having Plain content type and nosniff
    header. Sampled with a resource type (0-17) when the first network packet of
    a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.NotBlocked">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of not blocked responses despite having an Plain content type
    header due to the failure of content sniffing. Sampled with value 1 when the
    first network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.NotBlocked.MaybeJS">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses that may be parsed as JavaScript among not blocked
    responses with a Plain content type header. Sampled with value 1 when the
    first network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.XML.Blocked">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of blocked cross-site document responses due to having Plain
    content type header and contents sniffed as XML. Sampled with value 1 when
    the first network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.XML.Blocked.NonRenderableStatusCode">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a nonrenderable HTTP status code among blocked
    cross-site document responses due to their Plain.XML contents. Sampled with
    value 1 when the first network packet of a response of this type is
    received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.XML.Blocked.RenderableStatusCode"
    enum="ContentResourceType">
  <obsolete>
    Superseded by SiteIsolation.XSD.Plain.XML.Blocked.RenderableStatusCode2 in
    December 2015.
  </obsolete>
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with renderable HTTP status codes sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to their Plain.XML contents. Sampled with
    a resource type (0-14) when the first network packet of a response of this
    type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.Plain.XML.Blocked.RenderableStatusCode2"
    enum="ContentResourceType2">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with renderable HTTP status codes sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to their Plain.XML contents. Sampled with
    a resource type (0-17) when the first network packet of a response of this
    type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.XML.Blocked">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of blocked cross-site document responses due to having XML content
    type header and contents sniffed as XML. Sampled with value 1 when the first
    network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.XML.Blocked.NonRenderableStatusCode">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with nonrenderable HTTP status codes among blocked
    cross-site document responses due to their XML contents. Sampled with value
    1 when the first network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.XML.Blocked.RenderableStatusCode"
    enum="ContentResourceType">
  <obsolete>
    Superseded by SiteIsolation.XSD.XML.Blocked.RenderableStatusCode2 in
    December 2015.
  </obsolete>
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with renderable HTTP status codes sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to their XML contents. Sampled with a
    resource type (0-14) when the first network packet of a response of this
    type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.XML.Blocked.RenderableStatusCode2"
    enum="ContentResourceType2">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with renderable HTTP status codes sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to their XML contents. Sampled with a
    resource type (0-17) when the first network packet of a response of this
    type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.XML.NoSniffBlocked.NonRenderableStatusCode">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a nonrenderable HTTP status code among blocked
    cross-site document responses due to having XML content type and nosniff
    headers. Sampled with value 1 when the first network packet of a response of
    this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.XML.NoSniffBlocked.RenderableStatusCode"
    enum="ContentResourceType">
  <obsolete>
    Superseded by SiteIsolation.XSD.XML.NoSniffBlocked.RenderableStatusCode2 in
    December 2015.
  </obsolete>
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to having XML content type and nosniff
    headers. Sampled with a resource type (0-14) when the first network packet
    of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.XML.NoSniffBlocked.RenderableStatusCode2"
    enum="ContentResourceType2">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses with a renderable HTTP status code sub-categorized by
    their requesting context type (e.g., image, script, etc.), among blocked
    cross-site document responses due to having XML content type and nosniff
    headers. Sampled with a resource type (0-17) when the first network packet
    of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.XML.NotBlocked">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of not blocked responses despite having an XML content type header
    due to the failure of content sniffing. Sampled with value 1 when the first
    network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="SiteIsolation.XSD.XML.NotBlocked.MaybeJS">
  <owner>creis@chromium.org</owner>
  <summary>
    The count of responses that may be parsed as JavaScript among not blocked
    responses with an XML content type. Sampled with value 1 when the first
    network packet of a response of this type is received.
  </summary>
</histogram>

<histogram name="Skia.DrawScaleFactor" enum="SkiaScaleFactor">
  <owner>ericrk@chromium.org</owner>
  <summary>The scale factor of any images drawn by Skia.</summary>
</histogram>

<histogram name="Skia.DrawTiled" enum="BooleanTiled">
  <owner>ericrk@chromium.org</owner>
  <summary>
    Whether a call to drawBitmap(Rect) or drawImage(Rect) used the tiled or
    non-tiled rasterization path.
  </summary>
</histogram>

<histogram name="Skia.FilterQuality" enum="SkiaFilterQuality">
  <owner>ericrk@chromium.org</owner>
  <summary>
    The count of images drawn by Skia with a given filter quality.
  </summary>
</histogram>

<histogram name="Skia.LockTexturePath" enum="SkiaLockTexturePath">
  <owner>ericrk@chromium.org</owner>
  <summary>
    The path taken by Skia when it attempts to lock a texture for use.
  </summary>
</histogram>

<histogram name="Snackbar.Shown" enum="SnackbarIdentifier">
  <owner>ianwen@chromium.org</owner>
  <summary>
    Records how many times a particular snackbar was shown to the user.
  </summary>
</histogram>

<histogram name="SoftwareReporter.Cleaner.HasCompleted" enum="SRTCompleted">
  <owner>mad@chromium.org</owner>
  <summary>
    The state of software reporter cleaner tool runs. A value of &quot;Not
    Completed&quot; can mean either the tool crashed, or the tool was still
    running when Chrome checked.
  </summary>
</histogram>

<histogram name="SoftwareReporter.Cleaner.HasRebooted" enum="BooleanRebooted">
  <owner>mad@chromium.org</owner>
  <summary>
    Whether a reboot happened since the software reporter cleaner tool has
    finished execution with a pre-reboot exit code.
  </summary>
</histogram>

<histogram name="SoftwareReporter.Cleaner.RunningTime" units="ms">
  <owner>mad@chromium.org</owner>
  <summary>How long it took to run the software reporter cleaner tool.</summary>
</histogram>

<histogram name="SoftwareReporter.Cleaner.Version">
  <owner>mad@chromium.org</owner>
  <summary>The build version of the software reporter cleaner tool.</summary>
</histogram>

<histogram name="SoftwareReporter.ExperimentErrors"
    enum="SoftwareReporterExperimentError">
  <owner>joenotcharles@chromium.org</owner>
  <summary>
    Whether a configuration error prevented the experimental Software Reporter
    from running.
  </summary>
</histogram>

<histogram name="SoftwareReporter.FoundUwSReadError" enum="BooleanError">
  <owner>mad@chromium.org</owner>
  <summary>
    Whether there was an error reading the registry key containing UwS found by
    the Software Removal Tool.
  </summary>
</histogram>

<histogram name="SoftwareReporter.LastUploadResult" enum="BooleanSuccess">
  <owner>mad@chromium.org</owner>
  <summary>The result of the most recent SRT log upload.</summary>
</histogram>

<histogram name="SoftwareReporter.LogsUploadEnabled"
    enum="SoftwareReporterLogsUploadEnabled">
  <owner>ftirelo@chromium.org</owner>
  <summary>
    If logs uploads are enabled in the Software Reporter or the reason why it is
    disabled. Recorded before each run of the Software Reporter.
  </summary>
</histogram>

<histogram name="SoftwareReporter.LogsUploadResult"
    enum="SoftwareReporterLogsUploadResult">
  <owner>ftirelo@chromium.org</owner>
  <summary>
    The result of the most recent Software Reporter logs upload. Written by the
    Software Reporter in the registry and sent by Chrome after the reporter
    finishes.
  </summary>
</histogram>

<histogram name="SoftwareReporter.LogsUploadResultRegistryError"
    enum="SoftwareReporterLogsUploadResultRegistryError">
  <owner>ftirelo@chromium.org</owner>
  <summary>
    Error encountered when reading the software reporter logs upload result from
    the registry.
  </summary>
</histogram>

<histogram name="SoftwareReporter.MajorVersion">
  <owner>mad@chromium.org</owner>
  <summary>
    As SoftwareReporter.MinorVersion, but a double word combination of the other
    components of the version of the software reporter. The high word is the
    first component when there are more than one, and the low word is either the
    second or third one, depending if there are at least 3, or 4 components.
  </summary>
</histogram>

<histogram name="SoftwareReporter.MemoryUsed" units="KB">
  <owner>alito@chromium.org</owner>
  <summary>
    The memory used by the software reporter tool as reported by the tool itself
    via the registry. Logged just after the software reporter tool has finished.
  </summary>
</histogram>

<histogram name="SoftwareReporter.MinorVersion">
  <owner>mad@chromium.org</owner>
  <summary>
    The last component of the version of the software reporter that was executed
    so we can identify when users are not getting their component updated as
    quickly as we expect it.
  </summary>
</histogram>

<histogram name="SoftwareReporter.PromptUsage" enum="SRTPromptUsage">
  <owner>mad@chromium.org</owner>
  <summary>Usage of the Software Removal Tool (SRT) Prompt.</summary>
</histogram>

<histogram name="SoftwareReporter.RunningTime" units="ms">
  <owner>alito@chromium.org</owner>
  <summary>
    The amount of time it took to run the software reporter tool as reported by
    the tool itself via the registry. Logged just after the software reporter
    tool has finished.
  </summary>
</histogram>

<histogram name="SoftwareReporter.RunningTimeAccordingToChrome" units="ms">
  <owner>alito@chromium.org</owner>
  <summary>
    The amount of time it took for the software reporter to run as measured by
    chrome. Logged just after the software reporter tool has finished.
  </summary>
</histogram>

<histogram name="SoftwareReporter.RunningTimeRegistryError"
    enum="SwReporterRunningTimeRegistryError">
  <owner>alito@chromium.org</owner>
  <summary>
    Error encountered when reading the software reporter tool's start and end
    times from the registry.
  </summary>
</histogram>

<histogram name="SoftwareReporter.Step" enum="SwReporterStep">
  <owner>mad@chromium.org</owner>
  <summary>
    The registration and execution steps for the software reporter.
  </summary>
</histogram>

<histogram name="SoftwareReporter.UploadFailureCount">
  <owner>mad@chromium.org</owner>
  <summary>
    The total count of SRT log upload failures experienced by this machine for
    all time. This value is reported at startup by Chrome and is capped at 64.
  </summary>
</histogram>

<histogram name="SoftwareReporter.UploadLongestFailureRun">
  <owner>mad@chromium.org</owner>
  <summary>
    The longest run of upload failures logged by SRT runs. This value is
    reported at startup by Chrome and is capped at 64.
  </summary>
</histogram>

<histogram name="SoftwareReporter.UploadSuccessCount">
  <owner>mad@chromium.org</owner>
  <summary>
    The total count of successful SRT log uploads experienced by this machine
    for all time. This value is reported at startup by Chrome and is capped at
    64.
  </summary>
</histogram>

<histogram name="SpecialLocale.PromotionDialog" enum="SpecialLocalePromoAction">
  <owner>ianwen@chromium.org</owner>
  <summary>
    Records how users interact with the special locale promotion dialog.
  </summary>
</histogram>

<histogram name="Spellcheck.Android.Available" enum="BooleanAvailable">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Whether the Android spellchecking service was available at the start of a
    new spellchecking session. Note that the user can disable the Android
    spellchecking service in settings, in which case it will show up as not
    available in the histogram.
  </summary>
</histogram>

<histogram name="SpellCheck.Android.Latency" units="ms">
  <owner>timvolodine@chromium.org</owner>
  <summary>
    Measures the amount of time it takes to receive results from the
    spellchecking service on Android. More precisely this is the
    SystemClock.elapsedRealtime() between the
    SpellCheckerSession.getSentenceSuggestions() and the invocation of the
    onGetSentenceSuggestions() callback.
  </summary>
</histogram>

<histogram name="SpellCheck.SpellingService.Enabled" enum="BooleanEnabled">
  <owner>groby@chromium.org</owner>
  <owner>rlp@chromium.org</owner>
  <summary>
    Whether the user has opted in to asking Google for spelling suggestions.
    Recorded both when spelling is initialized and when the preference is
    changed.
  </summary>
</histogram>

<histogram name="Sqlite.AppCache.Error" enum="SqliteErrorCode">
  <obsolete>
    Moved to Sqlite.Error.AppCache in M-27.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Error codes returned by sqlite for the appcache db.</summary>
</histogram>

<histogram name="Sqlite.AutoCommitTime" units="ms">
  <owner>shess@chromium.org</owner>
  <summary>
    Record times for INSERT/UPDATE/DELETE statements run outside of an explicit
    transaction.
  </summary>
</histogram>

<histogram name="Sqlite.CloseFailure" enum="SqliteErrorCode">
  <owner>shess@chromium.org</owner>
  <summary>Error which prevented database close.</summary>
</histogram>

<histogram name="Sqlite.CommitTime" units="ms">
  <owner>shess@chromium.org</owner>
  <summary>Record time spent in explicit COMMIT statements.</summary>
</histogram>

<histogram name="Sqlite.Cookie.Error" enum="SqliteErrorCode">
  <obsolete>
    Moved to Sqlite.Error.Cookie in M-27.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Error codes returned by sqlite the cookie db.</summary>
</histogram>

<histogram name="Sqlite.DatabaseTracker.Error" enum="SqliteErrorCode">
  <obsolete>
    Moved to Sqlite.Error.DatabaseTracker in M-27.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Error codes returned by sqlite the websqldb tracker db.</summary>
</histogram>

<histogram name="Sqlite.DeprecationVersionResult"
    enum="SqliteVersionDeprecation">
  <owner>shess@chromium.org</owner>
  <summary>
    Annotations for which bits of sql::MetaTable::CheckDeprecated() fire.
  </summary>
</histogram>

<histogram name="Sqlite.DomainBoundCerts.Error" enum="SqliteErrorCode">
  <obsolete>
    Moved to Sqlite.Error.DomainBoundCerts in M-27.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Error codes returned by sqlite for the domain-bound certs db.
  </summary>
</histogram>

<histogram name="Sqlite.DomStorageDatabase.Error" enum="SqliteErrorCode">
  <obsolete>
    Moved to Sqlite.Error.DomStorageDatabase in M-27.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Error codes returned by sqlite for the domstorage db.</summary>
</histogram>

<histogram name="Sqlite.Error" enum="SqliteErrorCode">
  <owner>shess@chromium.org</owner>
  <summary>SQLite extended error codes.</summary>
</histogram>

<histogram name="Sqlite.Error.IOERR" enum="SqliteIOERRCode">
  <obsolete>
    Replaced 5/14/2013 by expanded Sqlite.Error histogram.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>SQLite extended SQLITE_IOERR codes for all databases.</summary>
</histogram>

<histogram name="Sqlite.History.Error" enum="SqliteErrorCode">
  <obsolete>
    Moved to Sqlite.Error.History in M-27.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Error codes returned by sqlite for the history db.</summary>
</histogram>

<histogram name="Sqlite.MemoryKB.OneDay" units="KB">
  <owner>shess@chromium.org</owner>
  <summary>
    SQLite memory footprint from sqlite3_memory_used() recorded 1 day after
    first database is opened by sql::Connection.
  </summary>
</histogram>

<histogram name="Sqlite.MemoryKB.OneHour" units="KB">
  <owner>shess@chromium.org</owner>
  <summary>
    SQLite memory footprint from sqlite3_memory_used() recorded 1 hour after
    first database is opened by sql::Connection.
  </summary>
</histogram>

<histogram name="Sqlite.MemoryKB.OneWeek" units="KB">
  <owner>shess@chromium.org</owner>
  <summary>
    SQLite memory footprint from sqlite3_memory_used() recorded 1 week after
    first database is opened by sql::Connection.
  </summary>
</histogram>

<histogram name="Sqlite.MemoryKB.TenMinutes" units="KB">
  <owner>shess@chromium.org</owner>
  <summary>
    SQLite memory footprint from sqlite3_memory_used() recorded 10 minutes after
    first database is opened by sql::Connection.
  </summary>
</histogram>

<histogram name="Sqlite.Migration.History" units="ms">
  <owner>shess@chromium.org</owner>
  <summary>
    Time used to migrate History database schema to a new version.
  </summary>
</histogram>

<histogram name="Sqlite.OpenFailure" enum="SqliteErrorCode">
  <owner>shess@chromium.org</owner>
  <summary>Error which prevented database open.</summary>
</histogram>

<histogram name="Sqlite.OpenProbeFailure" enum="SqliteErrorCode">
  <owner>shess@chromium.org</owner>
  <summary>Error from first read of the database.</summary>
</histogram>

<histogram name="Sqlite.QueryTime" units="ms">
  <owner>shess@chromium.org</owner>
  <summary>Record times for all statements run against the database.</summary>
</histogram>

<histogram name="Sqlite.Quota.Error" enum="SqliteErrorCode">
  <obsolete>
    Moved to Sqlite.Error.Quota in M-27.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Error codes returned by sqlite for the quota db.</summary>
</histogram>

<histogram name="Sqlite.RazeDatabase" enum="SqliteErrorCode">
  <owner>shess@chromium.org</owner>
  <summary>Errors attempting to Raze() database.</summary>
</histogram>

<histogram name="Sqlite.RazeDatabase2" enum="SqliteErrorCode">
  <owner>shess@chromium.org</owner>
  <summary>Errors on second attempt to Raze() database.</summary>
</histogram>

<histogram name="Sqlite.RazeDatabaseTruncate" enum="SqliteErrorCode">
  <owner>shess@chromium.org</owner>
  <summary>Errors truncating database for Raze().</summary>
</histogram>

<histogram name="Sqlite.RecoveryAttachError" enum="SqliteErrorCode">
  <owner>shess@chromium.org</owner>
  <summary>
    SQLite error code from failed ATTACH in sql::Recovery::Init().
  </summary>
</histogram>

<histogram name="Sqlite.RecoveryEvents" enum="SqliteRecoveryEventEnum">
  <owner>shess@chromium.org</owner>
  <summary>
    Records specific failure and success cases in sql::Recovery implementation,
    to determine which cases warrant further development.  This histogram tracks
    detected errors, some of which may cause multiple results.  See recovery.cc
    for details.
  </summary>
</histogram>

<histogram name="Sqlite.RecoveryHandle" enum="SqliteErrorCode">
  <owner>shess@chromium.org</owner>
  <summary>Error from sqlite3_backup_init() in sql::Recovery.</summary>
</histogram>

<histogram name="Sqlite.RecoveryStep" enum="SqliteErrorCode">
  <owner>shess@chromium.org</owner>
  <summary>Error from sqlite3_backup_step() in sql::Recovery.</summary>
</histogram>

<histogram name="Sqlite.SizeKB" units="Kb">
  <owner>peria@chromium.org</owner>
  <owner>shess@chromium.org</owner>
  <summary>Size in kilobytes of pre-existing database at startup.</summary>
</histogram>

<histogram name="Sqlite.Stats" enum="SqliteStatsEnum">
  <owner>shess@chromium.org</owner>
  <summary>Stats for different API calls in sql/.</summary>
</histogram>

<histogram name="Sqlite.Text.Error" enum="SqliteErrorCode">
  <obsolete>
    Moved to Sqlite.Error.Text in M-27.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Error codes returned by sqlite the full text db.</summary>
</histogram>

<histogram name="Sqlite.Thumbnail.Error" enum="SqliteErrorCode">
  <obsolete>
    Moved to Sqlite.Error.Thumbnail in M-27.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Error codes returned by sqlite for the thumbnail db.</summary>
</histogram>

<histogram name="Sqlite.UpdateTime" units="ms">
  <owner>shess@chromium.org</owner>
  <summary>
    Record times for statements which could update the database file.  Includes
    commit and autocommit time.
  </summary>
</histogram>

<histogram name="Sqlite.Version">
  <owner>shess@chromium.org</owner>
  <summary>Version of pre-existing database at startup.</summary>
</histogram>

<histogram name="Sqlite.Vfs" units="bytes">
  <owner>shess@chromium.org</owner>
  <summary>
    Buffer sizes passed to browser-process SQLite VFS functions.
  </summary>
</histogram>

<histogram name="Sqlite.Vfs_Events" enum="SqliteVfsEvents">
  <owner>shess@chromium.org</owner>
  <summary>
    I/O operations measured by browser-process SQLite VFS wrapper.
  </summary>
</histogram>

<histogram name="Sqlite.Web.Error" enum="SqliteErrorCode">
  <obsolete>
    Moved to Sqlite.Error.Web in M-27.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Error codes returned by sqlite the web db.</summary>
</histogram>

<histogram name="sri.resource_integrity_mismatch_event"
    enum="SRIResourceIntegrityMismatchEvent">
  <owner>jww@chromium.org</owner>
  <summary>
    When resources are checked for mismatching integrity and whether the
    mismatch forces a refetch.
  </summary>
</histogram>

<histogram name="SSL.CertificateErrorReportFailure" enum="NetErrorCodes">
  <owner>estark@chromium.org</owner>
  <summary>
    Users can opt in to send reports of certificate validation errors to Google.
    This records the error code whenever Chrome fails to send such a report.
  </summary>
</histogram>

<histogram name="SSL.ExpectCTReportFailure" enum="NetErrorCodes">
  <obsolete>
    Deprecated as of 07/2016. Replaced with SSL.ExpectCTReportFailure2.
  </obsolete>
  <owner>estark@chromium.org</owner>
  <summary>
    Sites can opt in to Expect CT, a reporting feature that sends a report
    whenever a TLS connection does not have valid Certificate Transparency
    information associated with it. This records the error code when Chrome
    fails to send an Expect CT report.
  </summary>
</histogram>

<histogram name="SSL.ExpectCTReportFailure2" enum="NetErrorCodes">
  <owner>estark@chromium.org</owner>
  <summary>
    Sites can opt in to Expect CT, a reporting feature that sends a report
    whenever a TLS connection does not have valid Certificate Transparency
    information associated with it. This records the error code when Chrome
    fails to send an Expect CT report.
  </summary>
</histogram>

<histogram name="SSL.ExpectCTReportSendingAttempt">
  <owner>estark@chromium.org</owner>
  <summary>
    Sites can opt in to Expect CT, a reporting feature that sends a report
    whenever a TLS connection does not have valid Certificate Transparency
    information associated with it. This metric fires whenever Chrome attempts
    to send an Expect CT report.
  </summary>
</histogram>

<histogram name="SSL.InsecureContent" enum="InsecureContentType">
  <owner>lgarron@chromium.org</owner>
  <summary>
    Keeps track of various insecure content events, such as loading an HTTP
    script from an HTTPS page.
  </summary>
</histogram>

<histogram name="SSL.MarkHttpAsStatus" enum="MarkHttpAsStatus">
  <owner>estark@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    Reports whether the user has selected to mark HTTP origins with an
    experimental UI treatment (such as showing a warning on HTTP pages that
    collect sensitive information). This histogram is recorded whenever the
    security level (the overall security state of a page, roughly corresponding
    to the lock icon) is computed for an HTTP page.
  </summary>
</histogram>

<histogram name="SSL.MarkNonSecureAsStatus" enum="MarkNonSecureAsStatus">
  <obsolete>
    Deprecated 09/2016 and replaced with SSL.MarkHttpAsStatus.
  </obsolete>
  <owner>palmer@chromium.org</owner>
  <summary>
    Reports whether the user has selected to mark non-secure origins as Neutral
    (the status quo), Dubious, or Non-Secure.
  </summary>
</histogram>

<histogram name="Stability.Android.PendingMinidumpsOnStartup" units="minidumps">
  <owner>isherman@chromium.org</owner>
  <summary>
    The number of un-uploaded minidumps present in the Android Crash Reports
    directory. Each minidump file (should) correspond to a crash. This is
    recorded on startup, just prior to initiating uploading for these minidumps.
    This is intended as a temporary metric, to be removed around M60:
    http://crbug.com/699785
  </summary>
</histogram>

<histogram name="Stability.Android.PendingMinidumpsOnStartup.SansLogcat"
    units="minidumps">
  <owner>isherman@chromium.org</owner>
  <summary>
    The number of un-uploaded minidumps present in the Android Crash Reports
    directory that do not yet have logcat output attached. Each minidump file
    (should) correspond to a crash. This is recorded on startup, just prior to
    initiating uploading for all pending minidumps. This is intended as a
    temporary metric, to be removed around M60: http://crbug.com/699785
  </summary>
</histogram>

<histogram name="Stability.BadMessageTerminated.Chrome"
    enum="BadMessageReasonChrome">
  <owner>nick@chromium.org</owner>
  <owner>jamescook@chromium.org</owner>
  <summary>
    Count of processes killed by chrome/browser because they sent an IPC that
    couldn't be properly handled. Categories are the reasons (code locations)
    for the kills.
  </summary>
</histogram>

<histogram name="Stability.BadMessageTerminated.Content"
    enum="BadMessageReasonContent">
  <owner>jam@chromium.org</owner>
  <owner>jamescook@chromium.org</owner>
  <summary>
    Count of child processes killed because they sent an IPC that couldn't be
    properly handled. Categories are the reasons (code locations) for the kills.
  </summary>
</histogram>

<histogram name="Stability.BadMessageTerminated.Extensions"
    enum="BadMessageReasonExtensions">
  <owner>jamescook@chromium.org</owner>
  <summary>
    Count of extension processes killed because they sent an IPC that couldn't
    be properly handled. Categories are the reasons (code locations) for the
    kills.
  </summary>
</histogram>

<histogram name="Stability.BadMessageTerminated.NaCl"
    enum="BadMessageReasonNaCl">
  <owner>nick@chromium.org</owner>
  <owner>jamescook@chromium.org</owner>
  <summary>
    Count of processes killed because they sent a NaCl IPC that couldn't be
    properly handled. Categories are the reasons (code locations) for the kills.
  </summary>
</histogram>

<histogram name="Stability.BadMessageTerminated.PasswordManager"
    enum="BadMessageReasonPasswordManager">
  <owner>nick@chromium.org</owner>
  <owner>jamescook@chromium.org</owner>
  <summary>
    Count of processes killed because they sent a bad IPC that couldn't be
    properly handled. Categories are the reasons (code locations) for the kills.
  </summary>
</histogram>

<histogram name="Stability.BrowserExitCodes" enum="WindowsExitCode">
  <owner>siggi@chromium.org</owner>
  <summary>
    Records the exit code of the browser process (on Windows) from the previous
    launch. On crash, the exit code will indicate the exception code of the
    crash. This is emitted in stability data with the first report on a
    subsequent launch.
  </summary>
</histogram>

<histogram name="Stability.ExitFunnel" units="ms">
  <owner>siggi@chromium.org</owner>
  <summary>
    Temporary instrumentation to record the Windows browser's exit path. See
    http://crbug.com/412384.
  </summary>
</histogram>

<histogram name="Stability.Internals.DataDiscardCount" units="counts">
  <owner>manzagop@chromium.org</owner>
  <summary>
    Number of times stability data was discarded. This is accumulated since the
    last report, even across versions. This is logged during stability metric
    recording for the following log sent.
  </summary>
</histogram>

<histogram name="Stability.Internals.InitialStabilityLogDeferredCount"
    units="counts">
  <owner>manzagop@chromium.org</owner>
  <summary>
    Number of times the initial stability log upload was deferred to the next
    startup. This is logged during stability metric recording for the following
    log sent.
  </summary>
</histogram>

<histogram name="Stability.Internals.VersionMismatchCount" units="counts">
  <owner>manzagop@chromium.org</owner>
  <summary>
    Number of times the version number stored in prefs did not match the
    serialized system profile version number. This is logged during stability
    metric recording.
  </summary>
</histogram>

<histogram name="Stability.MobileSessionShutdownType"
    enum="MobileSessionShutdownType">
  <owner>lpromero@chromium.org</owner>
  <owner>olivierrobin@chromium.org</owner>
  <summary>
    Type of the shutdown. This histogram is recorded at startup and logs a
    sample for the previous session. A clean shutdown is one where the app
    enters the background before being killed. Other shutdowns are all some sort
    of crash. The absence of a crash log indicates that the app was killed by
    the OS, normally due to memory pressure. If memory pressure is extremely
    high, the app may not have had a chance to response to a memory warning
    before being killed. For first launch after upgrade, the crash reports may
    be discarded before this histogram is written to so it's not possible to
    determine if there's a valid crash log present or not.
  </summary>
</histogram>

<histogram name="Stars.Goog_Related" units="%">
  <owner>yefim@chromium.org</owner>
  <summary>
    Percentage of clips with Google related urls (points to internal Google
    resources). Logs every time user goes to chrome://bookmarks.
  </summary>
</histogram>

<histogram name="Stars.Goog_Related_20_Percent" units="%">
  <owner>yefim@chromium.org</owner>
  <summary>
    Percentage of clips with Google related urls within first 20 (points to
    internal Google resources). Logs every time user goes to chrome://bookmarks.
  </summary>
</histogram>

<histogram name="Stars.Images_Percent" units="%">
  <owner>yefim@chromium.org</owner>
  <summary>
    Percentage of clips with images. Logs every time user goes to
    chrome://bookmarks.
  </summary>
</histogram>

<histogram name="Stars.Images_Percent_First20" units="%">
  <owner>yefim@chromium.org</owner>
  <summary>
    Percentage of clips with images within first 20. Logs every time user goes
    to chrome://bookmarks.
  </summary>
</histogram>

<histogram name="Stars.LaunchLocation" enum="StarsLaunchLocation">
  <owner>ianwen@chromium.org</owner>
  <summary>Logs a UI location from which a bookmark is launched.</summary>
</histogram>

<histogram name="Stars.No_Images_Snippets" units="%">
  <owner>yefim@chromium.org</owner>
  <summary>
    Percentage of clips without images or snippets. Logs every time user goes to
    chrome://bookmarks.
  </summary>
</histogram>

<histogram name="Stars.No_Img_No_Snippet_20_Percent" units="%">
  <owner>yefim@chromium.org</owner>
  <summary>
    Percentage of clips without images or snippets within first 20. Logs every
    time user goes to chrome://bookmarks.
  </summary>
</histogram>

<histogram name="Startup.AfterStartupTaskCount">
  <owner>michaeln@chromium.org</owner>
  <summary>
    The number of after-startup tasks that were queued prior to startup
    completion and deferred until that time.
  </summary>
</histogram>

<histogram name="Startup.AfterStartupTaskDelayedUntilTime" units="ms">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Time from the process creation until deferred after-startup tasks began
    running.
  </summary>
</histogram>

<histogram name="Startup.AppListFirstPaintColdStart" units="ms">
  <owner>tapted@chromium.org</owner>
  <summary>
    Time for a newly created browser process to perform the first paint of the
    app launcher, when started with the --show-app-list flag and with no
    currently running Chrome processes.
  </summary>
</histogram>

<histogram name="Startup.AppListFirstPaintWarmStart" units="ms">
  <owner>tapted@chromium.org</owner>
  <summary>
    Time for a running browser process to perform the first paint of the app
    launcher. Measured from the time a second Chrome process started, which sent
    its --show-app-list command line argument to the already-running process and
    will soon exit.
  </summary>
</histogram>

<histogram name="Startup.BlockForCrashpadHandlerStartupTime" units="ms">
  <owner>crashpad-dev@chromium.org</owner>
  <summary>
    The amount of time that elapsed during in
    crash_report::BlockUntilHandlerStarted().
  </summary>
</histogram>

<histogram name="Startup.BringToForegroundReason"
    enum="BooleanBringToForegroundReason">
  <owner>johnme@chromium.org</owner>
  <summary>
    Records the cause, each time Chrome is brought to the foreground. Currently
    only checks if a NotificationUIManager notification was shown in the last 5
    seconds (includes Web Notifications, but not media or Cast).
  </summary>
</histogram>

<histogram name="Startup.BrowserLaunchURLCount" units="urls">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    Measured when Chrome is invoked, this counts the number of URLs passed via
    command line. Note that this handles the case of a URL passed to Chrome
    starting up, or when a running Chrome is given the message to open a new
    URL.
  </summary>
</histogram>

<histogram name="Startup.BrowserMainRunnerImplInitializeLongTime" units="ms">
  <owner>robliao@chromium.org</owner>
  <summary>
    The amount of time that elapsed during BrowserMainRunnerImpl::Initialize.
  </summary>
</histogram>

<histogram name="Startup.BrowserMainRunnerImplInitializeStep1Time" units="ms">
  <owner>robliao@chromium.org</owner>
  <summary>
    The amount of time that elapsed during the first section of
    BrowserMainRunnerImpl::Initialize.
  </summary>
</histogram>

<histogram name="Startup.BrowserMainRunnerImplInitializeStep2Time" units="ms">
  <owner>robliao@chromium.org</owner>
  <summary>
    The amount of time that elapsed during the second section of
    BrowserMainRunnerImpl::Initialize.
  </summary>
</histogram>

<histogram name="Startup.BrowserMainToRendererMain" units="ms">
  <owner>fdoray@chromium.org</owner>
  <summary>
    Time from the ChromeMain() entry in the browser process to the first
    RendererMain() entry.
  </summary>
</histogram>

<histogram name="Startup.BrowserMessageLoopStartHardFaultCount" units="faults">
  <owner>chrisha@chromium.org</owner>
  <owner>fdoray@chromium.org</owner>
  <summary>
    The number of hard faults incurred in the browser process from startup to
    start of the main thread's message loop, not including first runs of the
    browser. This is only reported on Windows 7 and greater.
  </summary>
</histogram>

<histogram name="Startup.BrowserMessageLoopStartHardFaultCount.FirstRun"
    units="faults">
  <obsolete>
    Removed 1/2016.
  </obsolete>
  <owner>chrisha@chromium.org</owner>
  <summary>
    The number of hard faults incurred in the browser process from startup to
    start of the main thread's message loop on first run. This is only reported
    on Windows 7 and greater.
  </summary>
</histogram>

<histogram name="Startup.BrowserMessageLoopStartHardFaultCount.Success"
    enum="BooleanSuccess">
  <obsolete>
    Deprecated 12/2015. No longer tracked because values collected on stable
    show that the function pretty much never fails (succeeds 99.9996% of the
    time).
  </obsolete>
  <owner>chrisha@chromium.org</owner>
  <owner>fdoray@chromium.org</owner>
  <summary>
    If OS support was detected (Windows 7 and greater) indicates whether it was
    possible to determine the number of hard faults that have occurred in the
    process from startup to start of the main thread's message loop. This can
    fail because the underlying call is inherently racy.
  </summary>
</histogram>

<histogram name="Startup.BrowserMessageLoopStartTime">
  <owner>fdoray@chromium.org</owner>
  <summary>
    Time from browser startup to the start of the main thread's message loop.
  </summary>
</histogram>

<histogram name="Startup.BrowserMessageLoopStartTimeFromMainEntry" units="ms">
  <obsolete>
    Deprecated 12/2016. crbug.com/634408
  </obsolete>
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    Time from main entry to the start of the main thread's message loop. This
    stat is only recorded after 7 minutes of OS uptime to try to mitigate the
    variance resulting from Chrome being autostarted. Replaced with
    Startup.BrowserMessageLoopStartTimeFromMainEntry2 which is recorded all the
    time.
  </summary>
</histogram>

<histogram name="Startup.BrowserMessageLoopStartTimeFromMainEntry.FirstRun"
    units="ms">
  <obsolete>
    Deprecated 12/2016. crbug.com/634408
  </obsolete>
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    Time from main entry to the start of the main thread's message loop on first
    run. This stat is only recorded after 7 minutes of OS uptime to try to
    mitigate the variance resulting from Chrome being autostarted. Replaced with
    Startup.BrowserMessageLoopStartTimeFromMainEntry.FirstRun2 which is recorded
    all the time.
  </summary>
</histogram>

<histogram name="Startup.BrowserMessageLoopStartTimeFromMainEntry.FirstRun2"
    units="ms">
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    Time from main entry to the start of the main thread's message loop on first
    run.
  </summary>
</histogram>

<histogram name="Startup.BrowserMessageLoopStartTimeFromMainEntry2" units="ms">
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    Time from main entry to the start of the main thread's message loop.
  </summary>
</histogram>

<histogram name="Startup.BrowserOpenTabs">
  <owner>fdoray@chromium.org</owner>
  <summary>
    Time taken to open the initial tab or to restore tabs from previous session.
  </summary>
</histogram>

<histogram name="Startup.BrowserProcessImpl_PreMainMessageLoopRunTime"
    units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during
    BrowserProcessImpl::PreMainMessageLoopRun.
  </summary>
</histogram>

<histogram name="Startup.BrowserWindowDisplay" units="ms">
  <owner>fdoray@chromium.org</owner>
  <summary>
    Time from browser startup to the time the browser window initially becomes
    visible.
  </summary>
</histogram>

<histogram name="Startup.ChromeCast.TimeToDisplayVideo" units="ms">
  <obsolete>
    Deprecated 7/2015. To be replaced with Cast events.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
    The elapsed time from the ChromeCast application launch to the first video
    frame displayed.
  </summary>
</histogram>

<histogram name="Startup.CreateFirstProfile" units="ms">
  <owner>fdoray@chromium.org</owner>
  <summary>
    How long it takes to load the original profile synchronously on the UI
    thread.
  </summary>
</histogram>

<histogram
    name="Startup.Experimental.FirstWebContents.MainFrameLoad.ManyBuckets"
    units="ms">
  <obsolete>
    Removed in M-41.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    An experimental metric only collected on the dev and canary channels.
    Measure the elapsed time from process launch to the first main frame load of
    the first web contents. Uses significantly more buckets, with reduced
    ranges.
  </summary>
</histogram>

<histogram
    name="Startup.Experimental.FirstWebContents.MainFrameLoad.StandardBuckets"
    units="ms">
  <obsolete>
    Moved to Startup.FirstWebContents.MainFrameLoad in M-41.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    An experimental metric only collected on the dev and canary channels.
    Measure the elapsed time from process launch to the first main frame load of
    the first web contents. Uses standard bucket ranges.
  </summary>
</histogram>

<histogram
    name="Startup.Experimental.FirstWebContents.NonEmptyPaint.ManyBuckets"
    units="ms">
  <obsolete>
    Removed in M-41.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    An experimental metric only collected on the dev and canary channels.
    Measure the elapsed time from process launch to the first non-empty paint of
    the first web contents. Uses significantly more buckets, with reduced
    ranges.
  </summary>
</histogram>

<histogram
    name="Startup.Experimental.FirstWebContents.NonEmptyPaint.StandardBuckets"
    units="ms">
  <obsolete>
    Moved to Startup.FirstWebContents.NonEmptyPaint in M-41.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <summary>
    An experimental metric only collected on the dev and canary channels.
    Measure the elapsed time from process launch to the first non-empty paint of
    the first web contents. Uses standard bucket ranges.
  </summary>
</histogram>

<histogram name="Startup.FirstCommitNavigationTime" units="ms">
  <obsolete>
    Replaced by Startup.FirstCommitNavigationTime2
  </obsolete>
  <owner>pasko@chromium.org</owner>
  <summary>
    [Android only] The time from the earliest entry point in the browser process
    to the moment the first navigation is committed, i.e. when renderer gets the
    first byte of the document.
  </summary>
</histogram>

<histogram name="Startup.FirstCommitNavigationTime2" units="ms">
  <owner>pasko@chromium.org</owner>
  <owner>wnwen@chromium.org</owner>
  <summary>
    [Android only] The time from the first foreground entry point in the app to
    the moment the first navigation is committed, i.e. when renderer gets the
    first byte of the document.
  </summary>
</histogram>

<histogram name="Startup.FirstWebContents.FinishReason"
    enum="StartupProfilingFinishReason">
  <owner>gab@chromium.org</owner>
  <summary>
    [Desktop] The reason for which startup profiling was deemed complete. Logged
    once per session on startup.
  </summary>
</histogram>

<histogram name="Startup.FirstWebContents.MainFrameLoad" units="ms">
  <obsolete>
    Deprecated with 3/2016 with M48.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    [Desktop] DEPRECATED (but kept as a known basis until M48 is phased out).
    Measure the elapsed time from process launch to the first main frame load of
    the first web contents. Deprecated in favor of
    Startup.FirstWebContents.MainFrameLoad2 which now avoids counting ill-cases
    (ref. FirstWebContentsProfiler::FinishReason).
  </summary>
</histogram>

<histogram name="Startup.FirstWebContents.MainFrameLoad2" units="ms">
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    [Desktop] Measure the elapsed time from process launch to the first main
    frame load of the first web contents. Only comprised of cases where the
    initial foreground tab gets to complete its rendering task unimpeded (an
    improvement over Startup.FirstWebContents.MainFrameLoad).
  </summary>
</histogram>

<histogram name="Startup.FirstWebContents.MainNavigationFinished" units="ms">
  <owner>gab@chromium.org</owner>
  <summary>
    [Desktop] Measure the elapsed time from process launch to the moment when
    the navigation is committed (first bytes received) in the first web
    contents' main frame.
  </summary>
</histogram>

<histogram name="Startup.FirstWebContents.MainNavigationStart" units="ms">
  <owner>gab@chromium.org</owner>
  <summary>
    [Desktop] Measure the elapsed time from process launch to the beginning of
    navigation in the first web contents' main frame.
  </summary>
</histogram>

<histogram name="Startup.FirstWebContents.NonEmptyPaint" units="ms">
  <obsolete>
    Deprecated with 3/2016 with M48.
  </obsolete>
  <owner>erikchen@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    [Desktop] DEPRECATED (but kept as a known basis until M48 is phased out).
    Measure the elapsed time from process launch to the first non- empty paint
    of the first web contents. Deprecated in favor of
    Startup.FirstWebContents.NonEmptyPaint2 which now avoids counting ill-cases
    (ref. FirstWebContentsProfiler::FinishReason).
  </summary>
</histogram>

<histogram name="Startup.FirstWebContents.NonEmptyPaint2" units="ms">
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    [Desktop] Measure the elapsed time from process launch to the first non-
    empty paint of the first web contents. Only comprised of cases where the
    initial foreground tab gets to complete its rendering task unimpeded (an
    improvement over Startup.FirstWebContents.NonEmptyPaint).
  </summary>
</histogram>

<histogram name="Startup.FirstWebContents.UINotResponsive" units="ms">
  <obsolete>
    Deprecated 10/2015.
  </obsolete>
  <owner>gayane@chromium.org</owner>
  <summary>
    [Desktop] Measures the execution time for a single task to execute on UI if
    it was not possible to execute UI tasks under 1/60s within certain limits,
    after WebContents was painted at least once. This is recorded at most once
    per Chrome launch. Used as a measure of responsiveness on startup.
  </summary>
</histogram>

<histogram name="Startup.FirstWebContents.UINotResponsive_10sec" units="ms">
  <obsolete>
    Deprecated 10/2015.
  </obsolete>
  <owner>gayane@chromium.org</owner>
  <summary>
    [Desktop] Measures the elapsed time for a single task to execute on UI if it
    was not possible to execute it under 1/60s within certain limits, 10 second
    after first WebContents was painted at least once.  This is recorded at most
    once per Chrome launch. Used as a measure of responsiveness on startup.
  </summary>
</histogram>

<histogram name="Startup.FirstWebContents.UINotResponsive_1sec" units="ms">
  <obsolete>
    Deprecated 10/2015.
  </obsolete>
  <owner>gayane@chromium.org</owner>
  <summary>
    [Desktop] Measures the elapsed time for a single task to execute on UI if it
    was not possible to execute it under 1/60s within certain limits, 1 second
    after first WebContents was painted at least once.  This is recorded at most
    once per Chrome launch. Used as a measure of responsiveness on startup.
  </summary>
</histogram>

<histogram name="Startup.FirstWebContents.UIResponsive" units="ms">
  <obsolete>
    Deprecated 10/2015.
  </obsolete>
  <owner>gayane@chromium.org</owner>
  <summary>
    [Desktop] Measures the elapsed time it takes for a task to execute on UI
    under 1/60s after first WebContents was painted at least once. This is
    recorded at most once per Chrome launch. Used as a measure of responsiveness
    on startup.
  </summary>
</histogram>

<histogram name="Startup.FirstWebContents.UIResponsive_10sec" units="ms">
  <obsolete>
    Deprecated 10/2015.
  </obsolete>
  <owner>gayane@chromium.org</owner>
  <summary>
    [Desktop] Measures the elapsed time it takes for a task to execute on UI
    under 1/60s, 10 second after the first WebContents was painted.  This is
    recorded at most once per Chrome launch. Used as a measure of responsiveness
    on startup.
  </summary>
</histogram>

<histogram name="Startup.FirstWebContents.UIResponsive_1sec" units="ms">
  <obsolete>
    Deprecated 10/2015.
  </obsolete>
  <owner>gayane@chromium.org</owner>
  <summary>
    [Desktop] Measures the elapsed time it takes for a task to execute on UI
    under 1/60s, 1 second after the first WebContents was painted. This is
    recorded at most once per Chrome launch. Used as a measure of responsiveness
    on startup.
  </summary>
</histogram>

<histogram name="Startup.Fling.TimeToDisplayVideo" units="ms">
  <obsolete>
    Deprecated 7/2015. To be replaced with Cast events.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
    The elapsed time from the Fling application launch to the first video frame
    displayed.
  </summary>
</histogram>

<histogram name="Startup.IsResume">
  <obsolete>
    Deprecated 12/2011. Merged into MobileSessionStartType.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>Whether a startup is a resume (vs a cold start).</summary>
</histogram>

<histogram name="Startup.LoadTime.ExeMainToDllMain">
  <obsolete>
    Deprecated 12/2016. crbug.com/634408
  </obsolete>
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    Time from the main() function in chrome.exe to chrome.dll's main(). This
    stat is only recorded after 7 minutes of OS uptime to try to mitigate the
    variance resulting from Chrome being autostarted. Replaced with
    Startup.LoadTime.ExeMainToDllMain2 which is recorded all the time.
  </summary>
</histogram>

<histogram name="Startup.LoadTime.ExeMainToDllMain2">
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    Time from the main() function in chrome.exe to chrome.dll's main().
  </summary>
</histogram>

<histogram name="Startup.LoadTime.ProcessCreateToDllMain">
  <obsolete>
    Deprecated 12/2016. crbug.com/634408
  </obsolete>
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    Time from the process creation to chrome.dll's main(). This stat is only
    recorded after 7 minutes of OS uptime to try to mitigate the variance
    resulting from Chrome being autostarted. Replaced with
    Startup.LoadTime.ProcessCreateToDllMain2 which is recorded all the time.
  </summary>
</histogram>

<histogram name="Startup.LoadTime.ProcessCreateToDllMain2">
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>Time from the process creation to chrome.dll's main().</summary>
</histogram>

<histogram name="Startup.LoadTime.ProcessCreateToExeMain">
  <obsolete>
    Deprecated 12/2016. crbug.com/634408
  </obsolete>
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    Time from the process creation to executing the main() function in
    chrome.exe. This stat is only recorded after 7 minutes of OS uptime to try
    to mitigate the variance resulting from Chrome being autostarted. Replaced
    with Startup.LoadTime.ProcessCreateToExeMain2 which is recorded all the
    time.
  </summary>
</histogram>

<histogram name="Startup.LoadTime.ProcessCreateToExeMain2">
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    Time from the process creation to executing the main() function in
    chrome.exe.
  </summary>
</histogram>

<histogram name="Startup.OSX.AwakeFromNib" units="ms">
  <owner>erikchen@chromium.org</owner>
  <summary>
    The amount of time that elapsed between main entry and the invocation of
    -[AppControllerMac awakeFromNib].
  </summary>
</histogram>

<histogram name="Startup.OSX.DockIconWillFinishBouncing" units="ms">
  <owner>erikchen@chromium.org</owner>
  <summary>
    The amount of time that elapsed between main entry and the invocation of
    -[AppControllerMac didFinishLaunching:]. At that point, the dock icon will
    finish its current animation and stop bouncing.
  </summary>
</histogram>

<histogram name="Startup.OSX.PostMainMessageLoopStart" units="ms">
  <owner>erikchen@chromium.org</owner>
  <summary>
    The amount of time that elapsed between main entry and the invocation of
    ChromeBrowserMainPartsMac::PostMainMessageLoopStart.
  </summary>
</histogram>

<histogram name="Startup.OSX.PostProfileInit" units="ms">
  <owner>erikchen@chromium.org</owner>
  <summary>
    The amount of time that elapsed between main entry and the invocation of
    ChromeBrowserMainPartsMac::PostProfileInit.
  </summary>
</histogram>

<histogram name="Startup.OSX.PreMainMessageLoopStart" units="ms">
  <owner>erikchen@chromium.org</owner>
  <summary>
    The amount of time that elapsed between main entry and the invocation of
    ChromeBrowserMainPartsMac::PreMainMessageLoopStart.
  </summary>
</histogram>

<histogram name="Startup.OSX.PreProfileInit" units="ms">
  <owner>erikchen@chromium.org</owner>
  <summary>
    The amount of time that elapsed between main entry and the invocation of
    ChromeBrowserMainPartsMac::PreProfileInit.
  </summary>
</histogram>

<histogram name="Startup.OSX.WillFinishLaunching" units="ms">
  <owner>erikchen@chromium.org</owner>
  <summary>
    The amount of time that elapsed between main entry and the invocation of
    -[AppControllerMac willFinishLaunching:].
  </summary>
</histogram>

<histogram name="Startup.PreMainMessageLoopRunImplLongTime" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during
    ChromeBrowserMainParts::PreMainMessageLoopRunImpl.
  </summary>
</histogram>

<histogram name="Startup.PreMainMessageLoopRunImplStep1Time" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during the first untracked section of
    ChromeBrowserMainParts::PreMainMessageLoopRunImpl.
  </summary>
</histogram>

<histogram name="Startup.PreMainMessageLoopRunImplStep2Time" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during the second untracked section of
    ChromeBrowserMainParts::PreMainMessageLoopRunImpl. Not written for Android.
  </summary>
</histogram>

<histogram name="Startup.PreMainMessageLoopRunImplStep3Time" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during the third untracked section of
    ChromeBrowserMainParts::PreMainMessageLoopRunImpl. Not written for Android.
  </summary>
</histogram>

<histogram name="Startup.PreMainMessageLoopRunImplTime" units="ms">
  <obsolete>
    Deprecated as of 2/2015.
  </obsolete>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during
    ChromeBrowserMainParts::PreMainMessageLoopRunImpl.
  </summary>
</histogram>

<histogram name="Startup.SameVersionStartupCount">
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <summary>
    The number of startups the current version has been through. Reported once
    per Chrome session, on startup. Any user that reports X for this version
    will also have previously reported [1,X-1] for this version through the
    previous X-1 Chrome sessions.
  </summary>
</histogram>

<histogram name="Startup.ShowAppListColdStart" units="ms">
  <owner>tapted@chromium.org</owner>
  <summary>
    Time for a newly created browser process to reach the code that starts
    showing the app launcher, when started with the --show-app-list flag and
    with no currently running Chrome processes.
  </summary>
</histogram>

<histogram name="Startup.ShowAppListWarmStart" units="ms">
  <owner>tapted@chromium.org</owner>
  <summary>
    Time for a running browser process to reach the code that starts showing the
    app launcher. Measured from the time a second Chrome process started, which
    sent its --show-app-list command line argument to the already-running
    process and will soon exit.
  </summary>
</histogram>

<histogram name="Startup.SlowStartupBookmarksLoad" units="ms">
  <obsolete>
    Deprecated 06/2015.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
    Time it takes to load bookmarks from disk. This measurement is only sent for
    startups that take &gt;10 seconds after an uptime of 7 minutes.
  </summary>
</histogram>

<histogram name="Startup.SlowStartupExtensionServiceInitAfterImport" units="ms">
  <obsolete>
    Deprecated 06/2015.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
    Time it takes to finish initialization of the extension service including
    loading built-in extensions. This measurement is only sent for startups that
    take &gt;10 seconds after an uptime of 7 minutes.
  </summary>
</histogram>

<histogram name="Startup.SlowStartupFinalProfileInit" units="ms">
  <obsolete>
    Deprecated 06/2015.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
    Time the final stages of profile initialization taking including
    initialization of profile keyed services. This measurement is only sent for
    startups that take &gt;10 seconds after an uptime of 7 minutes.
  </summary>
</histogram>

<histogram name="Startup.SlowStartupNSSInit" units="ms">
  <obsolete>
    Deprecated 06/2015.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
    Time it takes to load the NSS libraries and initialize it. This measurement
    is only sent for startups that take &gt;10 seconds after an uptime of 7
    minutes.
  </summary>
</histogram>

<histogram name="Startup.SlowStartupPreferenceLoading" units="ms">
  <obsolete>
    Deprecated 06/2015.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
    Time it takes to load preferences from disk. This measurement is only sent
    for startups that take &gt;10 seconds after an uptime of 7 minutes.
  </summary>
</histogram>

<histogram name="Startup.SlowStartupProfileIODataInit" units="ms">
  <obsolete>
    Deprecated 06/2015.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
    Time it takes to initialize the ProfileIOData object - this includes
    initialization of the cookie store. This measurement is only sent for
    startups that take &gt;10 seconds after an uptime of 7 minutes.
  </summary>
</histogram>

<histogram name="Startup.SlowStartupSafeBrowsingGetDatabase" units="ms">
  <obsolete>
    Deprecated 06/2015.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
    Time it takes to load the safe browsing database from disk. This measurement
    is only sent for startups that take &gt;10 seconds after an uptime of 7
    minutes.
  </summary>
</histogram>

<histogram name="Startup.SlowStartupSafeBrowsingServiceInitialize" units="ms">
  <obsolete>
    Deprecated 06/2015.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
    Time it takes to initialize the safe browsing service. This measurement is
    only sent for startups that take &gt;10 seconds after an uptime of 7
    minutes.
  </summary>
</histogram>

<histogram name="Startup.SlowStartupSessionServiceCreateTabsAndWindows"
    units="ms">
  <obsolete>
    Deprecated 06/2015.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <summary>
    Time it takes for session restore to finish initiating creation of restored
    tabs and windows. This measurement is only sent for startups that take
    &gt;10 seconds after an uptime of 7 minutes.
  </summary>
</histogram>

<histogram name="Startup.StartupBrowserCreator_ProcessCmdLineImplTime"
    units="ms">
  <obsolete>
    Deprecated 02/2015. Startup.StartupBrowserCreator_Start is more useful.
  </obsolete>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during
    StartupBrowserCreator::ProcessCmdLineImpl.
  </summary>
</histogram>

<histogram name="Startup.StartupBrowserCreator_Start" units="ms">
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The amount of time that elapsed during StartupBrowserCreator::Start().
  </summary>
</histogram>

<histogram name="Startup.SystemUptime" units="ms">
  <owner>fdoray@chromium.org</owner>
  <summary>
    The time elapsed between system boot and Chrome browser process launch. This
    is recorded just before the main message loop starts.
  </summary>
</histogram>

<histogram name="Startup.Temperature" enum="StartupTemperature">
  <owner>chrisha@chromium.org</owner>
  <owner>fdoray@chromium.org</owner>
  <summary>
    Indicates whether or not the given startup was warm, cold or unable to be
    determined. This is based off observing the number of hard faults that occur
    during startup prior to Startup.BrowserMessageLoopStartTime.
  </summary>
</histogram>

<histogram name="Startup.TimeSinceLastStartup" units="minutes">
  <owner>fdoray@chromium.org</owner>
  <summary>
    Time elapsed since the last startup that went up to the main message loop
    start. This is recorded just before the main message loop starts.
  </summary>
</histogram>

<histogram name="Startup.WarmStartTimeFromRemoteProcessStart" units="ms">
  <owner>fdoray@chromium.org</owner>
  <summary>
    Time for a running browser process to start processing the command line
    passed in by a second Chrome process, which just sent its command line
    arguments to the already-running process and will soon exit. Measured from
    the time the second Chrome process started.
  </summary>
</histogram>

<histogram name="StartupTimeBomb.Alarm" units="ms">
  <obsolete>
    Deprecated as of 10/2014.
  </obsolete>
  <owner>rtenneti@chromium.org</owner>
  <summary>
    Time duration measured from the time the startup timebomb was started and
    when it went off.
  </summary>
</histogram>

<histogram name="Storage.BlacklistedImportantSites.Reason"
    enum="ClearDataSiteBlacklistCrossedReason">
  <owner>dmurph@chromium.org</owner>
  <summary>
    This is recorded for every site that the user blacklists when they when they
    clear browsing data. It indicates which signals were used to show the given
    site to the user that the user then chose to exclude from clearing.
  </summary>
</histogram>

<histogram name="Storage.Blob.Broken" enum="BooleanBroken">
  <owner>dmurph@chromium.org</owner>
  <summary>
    If a newly constructed blob is broken. See Storage.Blob.BrokenReason for a
    the broken reasons.
  </summary>
</histogram>

<histogram name="Storage.Blob.BrokenReason" enum="BlobBrokenReason">
  <owner>dmurph@chromium.org</owner>
  <summary>
    The reason a blob is broken, reported only for broken blobs upon
    construction. See Storage.Blob.Broken for the breakdown of blobs broken vs
    unbroken.
  </summary>
</histogram>

<histogram name="Storage.Blob.CleanupSuccess" enum="Boolean">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Recorded when the old blob storage directories are cleared. This occurs on
    storage partition initialization, and is not recorded if there are no
    directories to clear. The value indicates if the file operations were a
    success.
  </summary>
</histogram>

<histogram name="Storage.Blob.CreateDirectoryResult" enum="PlatformFileError">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Recorded when we create the blob storage directory for the blob storage
    system. When we need to write blob data to files, we create this directory
    if it doesn't exist. We write blob data to files when either we have a new
    blob that's larger than our memory limit, or we're approaching our in-memory
    limit for blob storage.
  </summary>
</histogram>

<histogram name="Storage.Blob.ExceededMemory" enum="Boolean">
  <obsolete>
    Deprecated as of 3/2016. Use Storage.Blob.Broken to see the fraction of
    blobs that are broken, and Storage.Blob.BrokenReason for the number of
    broken blobs that are broken because of memory constraints.
  </obsolete>
  <owner>dmurph@chromium.org</owner>
  <summary>
    True if a created blob exceeded the internal in-memory storage memory limit
    for blobs.
  </summary>
</histogram>

<histogram name="Storage.Blob.InvalidReference" enum="RefcountOperation">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Counts the number of times we have an invalid refcount operation. An invalid
    increment means the blob didn't exist, and an invalid decrement means we
    don't have any record of the blob in our host.
  </summary>
</histogram>

<histogram name="Storage.Blob.InvalidURLRegister" enum="RefcountOperation">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Counts the number of times we have an invalid url registration operation. An
    invalid increment means the blob isn't in use by the host yet or the url is
    already mapped. An invalid decrement means the url isn't registered.
  </summary>
</histogram>

<histogram name="Storage.Blob.ItemCount" units="Blob Items">
  <owner>dmurph@chromium.org</owner>
  <summary>
    The number of blob items in a blob, recorded at blob construction. (Blobs
    are immutable, so this won't change afterwards).
  </summary>
</histogram>

<histogram name="Storage.Blob.MaxDiskSpace" units="MB">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Records the calculated max disk space the blob storage system can use.
    Recorded on storage partition initialization.
  </summary>
</histogram>

<histogram name="Storage.Blob.MaxDiskSpaceAdjustment"
    enum="BlobStorageDiskSpaceAdjustment">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Recorded when the blob system changes adjustment types on its disk size. The
    disk can either be Frozen, Adjusted (near min external available disk
    space), or Normal. We record when we transition between these states, which
    can happen after any file operations in the blob system (paging data to disk
    or saving a new blob directly to disk).
  </summary>
</histogram>

<histogram name="Storage.Blob.PageFileSize" units="KB">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Size of a page file created for blob data by the blob storage system.
    Recorded before we create the file and write the blob items. We page blob
    data to files when we get close to our maximum blob memory usage.
  </summary>
</histogram>

<histogram name="Storage.Blob.PagingDisabled" enum="PlatformFileError">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Recorded when we disable paging blobs to file in the blob storage system.
    This occurs when we experience a filesystem error during writing blob data
    to disk. We write blob data to files when either we have a new blob that's
    larger than our memory limit, or we're approaching our in-memory limit for
    blob storage. The relevant error is recorded here.
  </summary>
</histogram>

<histogram name="Storage.Blob.RegisterBlobTime" units="ms">
  <owner>darin@chromium.org</owner>
  <summary>
    The amount of time taken to complete the synchronous
    BlobStorageMsg_RegisterBlob IPC.
  </summary>
</histogram>

<histogram name="Storage.Blob.RegisterPublicURLTime" units="ms">
  <owner>darin@chromium.org</owner>
  <summary>
    The amount of time taken to complete the synchronous
    BlobStorageMsg_RegisterPublicURL IPC.
  </summary>
</histogram>

<histogram name="Storage.Blob.RendererFileSeekFailed" enum="Boolean">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Whether seeking within a file (in order to write a part of a blob) failed in
    the renderer.
  </summary>
</histogram>

<histogram name="Storage.Blob.RendererFileWriteFailed" enum="Boolean">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Whether writing part of a blob to a file failed in the renderer.
  </summary>
</histogram>

<histogram name="Storage.Blob.ReusedItem" enum="BooleanReused">
  <owner>dmurph@chromium.org</owner>
  <summary>
    True if we reuse an item for a blob created from using Blob.slice, recorded
    in BlobStorageContext on blob creation.
  </summary>
</histogram>

<histogram name="Storage.Blob.StorageSizeAfterAppend" units="KB">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Records the total in-memory storage size of blobs before a blob item is
    appended.  Can be subtracted by Storage.Blob.StorageSizeBeforeAppend to find
    the true distribution of blob storage sizes.
  </summary>
</histogram>

<histogram name="Storage.Blob.StorageSizeBeforeAppend" units="KB">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Records the total in-memory storage size of blobs before a blob item is
    appended.  Can be subtracted from Storage.Blob.StorageSizeAfterAppend to
    find the true distribution of blob storage sizes.
  </summary>
</histogram>

<histogram name="Storage.Blob.TotalSize" units="KB">
  <owner>dmurph@chromium.org</owner>
  <summary>
    The total in-memory size in KB of finished blobs. Recorded in
    BlobStorageContext when the blob is finished being created. This can include
    memory that is shared with other blobs or memory from repeated internal
    items.
  </summary>
</histogram>

<histogram name="Storage.Blob.TotalUnsharedSize" units="KB">
  <owner>dmurph@chromium.org</owner>
  <summary>
    The total amount of unique memory used to create a blob. Recorded in
    BlobStorageContext when the blob is finished being created. This does not
    include memory that is shared with other blobs. If multiple of the same blob
    item is present, then this number will reflect the size of the single item.
  </summary>
</histogram>

<histogram name="Storage.BlobItemSize" units="KB">
  <owner>dmurph@chromium.org</owner>
  <summary>
    The size in KB of items (or parts of items) appended to blobs.
  </summary>
</histogram>

<histogram name="Storage.BlobItemSize.BlobSlice" units="KB">
  <owner>dmurph@chromium.org</owner>
  <summary>
    The size in KB of items (or parts of items) appended to blobs that come from
    the slicing of other blobs.  This happens when using Blob.slice, where we
    are using a part of an item in the original blob (not the whole item).
  </summary>
</histogram>

<histogram name="Storage.BlobItemSize.File.Unknown" enum="BooleanUnknown">
  <owner>dmurph@chromium.org</owner>
  <summary>
    True if the file size on blob append is unknown (which means the full file),
    or false if a specific file length was populated. Recorded in
    BlobStorageContext when we are adding a file item to a blob.
  </summary>
</histogram>

<histogram name="Storage.BlobItemSize.FileSystem.Unknown" enum="BooleanUnknown">
  <owner>dmurph@chromium.org</owner>
  <summary>
    True if the file size of a filesystem object on blob append is unknown
    (which means the full file), or false if a specific file length was
    populated. Recorded in BlobStorageContext when we are adding a filesystem
    item to a blob.
  </summary>
</histogram>

<histogram name="Storage.ImportantSites.CBDChosenReason"
    enum="ImportantSitesReason">
  <owner>dmurph@chromium.org</owner>
  <summary>
    When a user chooses to blacklist one or more sites when they clear browsing
    data, this is recorded for every reason each chosen site was marked as
    important. It indicates which signals were used to show the given site to
    the user that the user then chose to exclude from clearing.
  </summary>
</histogram>

<histogram name="Storage.ImportantSites.CBDChosenReasonCount" units="count">
  <owner>dmurph@chromium.org</owner>
  <summary>
    This records the number of reasons each important site had that the user
    chose to blacklist when clearing browsing data.
  </summary>
</histogram>

<histogram name="Storage.ImportantSites.CBDIgnoredReason"
    enum="ImportantSitesReason">
  <owner>dmurph@chromium.org</owner>
  <summary>
    When a user chooses to blacklist one or more sites when they clear browsing
    data, this is recorded for every reason each unchosen site was marked as
    important. It indicates which signals were used to show the given site to
    the user, which the user then ignored and did not select to blacklist from
    clearing data.
  </summary>
</histogram>

<histogram name="Storage.ImportantSites.CBDIgnoredReasonCount" units="count">
  <owner>dmurph@chromium.org</owner>
  <summary>
    This records the number of reasons each important site had that the user
    chose to NOT blacklist when clearing browsing data.
  </summary>
</histogram>

<histogram name="Storage.ImportantSites.GeneratedReason"
    enum="ImportantSitesReason">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Recorded when we generate a list of important sites. This can happen when
    the user opens the Clear Browsing Data dialog on Android, views the Storage
    tab in Site Settings on Android, or launches 'Manage Storage' from Android
    System Settings for Chrome. We record every reason each site was chosen in
    this metric. This means that we can report this metric multiple times for a
    single site.
  </summary>
</histogram>

<histogram name="Storage.ImportantSites.GeneratedReasonCount" units="count">
  <owner>dmurph@chromium.org</owner>
  <summary>
    This records the number of reasons qualifying a site for being 'important'.
    We record this for every site when we generate a list of important sites,
    described in &quot;Storage.ImportantSites.GeneratedReason&quot;.
  </summary>
</histogram>

<histogram name="Storage.IndexedDB.PutBlobSizeKB" units="KB">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Records the size of a blob used in an IndexedDB add/put operation. Recorded
    for every put operation that contains a blob.
  </summary>
</histogram>

<histogram name="Storage.IndexedDB.PutValidBlob" enum="Boolean">
  <owner>dmurph@chromium.org</owner>
  <summary>
    Records if a blob intended to be used in an IndexedDB add/put operation is a
    valid blob. Recorded for every put operation that contains a blob.
  </summary>
</histogram>

<histogram name="Style.AuthorStyleSheet.ParseTime" units="microseconds">
  <owner>csharrison@chromium.org</owner>
  <summary>
    Microseconds spent in StyleSheetContents::parseAuthorStyleSheet.
  </summary>
</histogram>

<histogram name="Style.LazyUsage.Percent" enum="LazyCSSParseUsage">
  <owner>csharrison@chromium.org</owner>
  <summary>
    Tracks % of lazy rules that ended up needing to be parsed. A sheet logs
    counts into this histogram as it is parsed (i.e. as properties are parsed
    lazily). Once a certain percent of rules have been parsed, we log a count
    immediately. Note that this implies that a stylesheet which uses all of its
    rules will log counts in every bucket.
  </summary>
</histogram>

<histogram name="Style.TotalLazyRules" units="count">
  <owner>csharrison@chromium.org</owner>
  <summary>
    Tracks the total number of rules that have parsing lazily deferred in an
    author style sheet.
  </summary>
</histogram>

<histogram name="Style.TotalLazyRules.FullUsage" units="count">
  <owner>csharrison@chromium.org</owner>
  <summary>
    Tracks the total number of rules that have parsing lazily deferred in an
    author style sheet, for sheets that ended up needing all their rules.
  </summary>
</histogram>

<histogram name="Style.UpdateTime" units="microseconds">
  <owner>csharrison@chromium.org</owner>
  <summary>Microseconds spent in Document::updateStyle.</summary>
</histogram>

<histogram name="SubresourceFilter.Actions" enum="SubresourceFilterActions">
  <owner>csharrison@chromium.org</owner>
  <summary>
    Counts of various UI and user action events related to the
    SubresourceFilter. This will be triggered in response to Content Settings
    changes, as well as when portions of the UI are shown or interacted with.
    Main frame navigations are also tracked for ease of comparison and analysis.
  </summary>
</histogram>

<histogram name="SubresourceFilter.DocumentLoad.Activation.CPUDuration"
    units="microseconds">
  <owner>pkalinnikov@chromium.org</owner>
  <summary>
    Records how much thread CPU time it takes to decide whether subresource
    filtering should be activated for a main frame or subframe.
  </summary>
</histogram>

<histogram name="SubresourceFilter.DocumentLoad.Activation.WallDuration"
    units="microseconds">
  <owner>pkalinnikov@chromium.org</owner>
  <summary>
    Records how long it takes to decide whether subresource filtering should be
    activated for a main frame or subframe.
  </summary>
</histogram>

<histogram name="SubresourceFilter.DocumentLoad.ActivationState"
    enum="SubresourceFilterActivationState">
  <owner>engedy@chromium.org</owner>
  <summary>
    Whenever a document load is committed in a main frame or subframe, records
    whether subresource filtering should be activated for that load.
  </summary>
</histogram>

<histogram name="SubresourceFilter.DocumentLoad.NumSubresourceLoads.Disallowed"
    units="resource loads">
  <owner>engedy@chromium.org</owner>
  <summary>
    Whenever a document load is finished in a main frame or subframe with
    subresource filtering activated, records the total number of subresource
    loads that have been disallowed. This only differs from `MatchedRules` when
    filtering is performed in dry-run mode.
  </summary>
</histogram>

<histogram name="SubresourceFilter.DocumentLoad.NumSubresourceLoads.Evaluated"
    units="resource loads">
  <owner>engedy@chromium.org</owner>
  <summary>
    Whenever a document load is finished in a main frame or subframe with
    subresource filtering activated, records the total number of subresource
    loads that have been evaluated. This only differs from 'Total' when the
    document is subject to a deactivating rule with DOCUMENT activation type.
  </summary>
</histogram>

<histogram
    name="SubresourceFilter.DocumentLoad.NumSubresourceLoads.MatchedRules"
    units="resource loads">
  <owner>engedy@chromium.org</owner>
  <summary>
    Whenever a document load is finished in a main frame or subframe with
    subresource filtering activated, records the total number of subresource
    loads that have matched filtering rules. This only differs from `Disallowed`
    when filtering is performed in dry-run mode.
  </summary>
</histogram>

<histogram name="SubresourceFilter.DocumentLoad.NumSubresourceLoads.Total"
    units="resource loads">
  <owner>engedy@chromium.org</owner>
  <summary>
    Whenever a document load is finished in a main frame or subframe with
    subresource filtering activated, records the total number of subresource
    loads that have gone through the subresource filtering pipeline.
  </summary>
</histogram>

<histogram name="SubresourceFilter.DocumentLoad.RulesetIsAvailable"
    enum="BooleanAvailable">
  <owner>engedy@chromium.org</owner>
  <summary>
    Whenever a document load is committed in a main frame or subframe and
    subresource filtering should be activated, records whether the filtering
    rules are available.
  </summary>
</histogram>

<histogram
    name="SubresourceFilter.DocumentLoad.SubresourceEvaluation.TotalCPUDuration"
    units="microseconds">
  <owner>pkalinnikov@chromium.org</owner>
  <summary>
    Whenever a document load is finished in a main frame or subframe with
    subresource filtering activated, records the total thread CPU time spent on
    processing subresource requests in allowLoad.
  </summary>
</histogram>

<histogram
    name="SubresourceFilter.DocumentLoad.SubresourceEvaluation.TotalWallDuration"
    units="microseconds">
  <owner>pkalinnikov@chromium.org</owner>
  <summary>
    Whenever a document load is finished in a main frame or subframe with
    subresource filtering activated, records the total real time spent on
    processing subresource requests in allowLoad, including the time spent on
    waiting or being descheduled.
  </summary>
</histogram>

<histogram name="SubresourceFilter.IndexRuleset.CPUDuration" units="ms">
  <owner>pkalinnikov@chromium.org</owner>
  <summary>
    The total CPU time it took to parse and index all rules. Does not include
    time when the indexing thread was not doing actual work, e.g. waiting for
    I/O or being descheduled. Recorded every time the RulesetService kicks off a
    ruleset indexing process.
  </summary>
</histogram>

<histogram name="SubresourceFilter.IndexRuleset.NumUnsupportedRules"
    units="rules">
  <owner>engedy@chromium.org</owner>
  <summary>
    The number of rules that could be not be successfully indexed and therefore
    have been ignored. Recorded every time the RulesetService kicks off a
    ruleset indexing process and it reaches the point where rules are getting
    indexed.
  </summary>
</histogram>

<histogram name="SubresourceFilter.IndexRuleset.WallDuration" units="ms">
  <owner>engedy@chromium.org</owner>
  <summary>
    The total time it took to read and index all rules. Includes I/O time for
    reading the unindexed rules, but not for writing the indexed ruleset.
    Recorded every time the RulesetService kicks off a ruleset indexing process.
  </summary>
</histogram>

<histogram name="SubresourceFilter.PageLoad.NumSubresourceLoads.Disallowed"
    units="resource loads">
  <owner>pkalinnikov@chromium.org</owner>
  <summary>
    Whenever a page load is finished with subresource filtering activated,
    records the total number of subresource loads that have been disallowed.
    This only differs from `MatchedRules` when filtering is performed in dry-run
    mode.
  </summary>
</histogram>

<histogram name="SubresourceFilter.PageLoad.NumSubresourceLoads.Evaluated"
    units="resource loads">
  <owner>pkalinnikov@chromium.org</owner>
  <summary>
    Whenever a page load is finished with subresource filtering activated,
    records the total number of subresource loads that have been evaluated. This
    only differs from 'Total' when some of subdocuments is subject to a
    deactivating rule with DOCUMENT activation type.
  </summary>
</histogram>

<histogram name="SubresourceFilter.PageLoad.NumSubresourceLoads.MatchedRules"
    units="resource loads">
  <owner>pkalinnikov@chromium.org</owner>
  <summary>
    Whenever a page load is finished with subresource filtering activated,
    records the total number of subresource loads that have matched filtering
    rules. This only differs from `Disallowed` when filtering is performed in
    dry-run mode.
  </summary>
</histogram>

<histogram name="SubresourceFilter.PageLoad.NumSubresourceLoads.Total"
    units="resource loads">
  <owner>pkalinnikov@chromium.org</owner>
  <summary>
    Whenever a page load is finished with subresource filtering activated,
    records the total number of subresource loads that have gone through the
    subresource filtering pipeline.
  </summary>
</histogram>

<histogram name="SubresourceFilter.PageLoad.RedirectChainLength" units="urls">
  <owner>melandory@chromium.org</owner>
  <summary>
    Total number of server redirects during the navigation. This histogram is
    recorded in several for every list where subresource fiter is active.
  </summary>
</histogram>

<histogram name="SubresourceFilter.PageLoad.RedirectChainMatchPattern"
    enum="SubresourceFilterMatchPattern">
  <owner>melandory@chromium.org</owner>
  <summary>
    For each main frame navigation, records a pattern that indicates which URLs
    in the redirect chain matched Safe Browsing blacklists, and which did not.
    For example, for the redirect chain A-B-C-D metric tracks: 1. If initial URL
    (A) was on a Safe Browsing blacklist. 2. If any if middle urls (B, C) were
    on a Safe Browsing blacklist. 3. If committed URL (B) was on a Safe Browsing
    blacklist. This histogram is recorded in several flavours: with prefix
    SubresourceFilterOnly in case the redirect chain contains url from the Safe
    Browsing SubresourceFilter list and without the prefix for all other
    redirect chains.
  </summary>
</histogram>

<histogram
    name="SubresourceFilter.PageLoad.SubresourceEvaluation.TotalCPUDuration"
    units="microseconds">
  <owner>pkalinnikov@chromium.org</owner>
  <summary>
    Whenever a page load is finished with subresource filtering activated,
    records the total thread CPU time spent on evaluating subresource requests,
    aggregated across all frames.
  </summary>
</histogram>

<histogram
    name="SubresourceFilter.PageLoad.SubresourceEvaluation.TotalWallDuration"
    units="microseconds">
  <owner>pkalinnikov@chromium.org</owner>
  <summary>
    Whenever a page load is finished with subresource filtering activated,
    records the total real time spent on evaluating subresource requests,
    aggregated across all frames. This includes the time spent on waiting or
    being descheduled.
  </summary>
</histogram>

<histogram name="SubresourceFilter.Prompt.NumReloads" enum="BooleanRequested">
  <owner>melandory@chromium.org</owner>
  <summary>
    Number of times the user has requested a reload for the page by clicking on
    the reload button.
  </summary>
</histogram>

<histogram name="SubresourceFilter.Prompt.NumVisibility" enum="BooleanVisible">
  <obsolete>
    Deprecated in favor of SubresourceFilter.Action
  </obsolete>
  <owner>melandory@chromium.org</owner>
  <summary>
    Number of times Safebrowsing Subresource Filter decided to toggle visibility
    of the prompt.
  </summary>
</histogram>

<histogram name="SubresourceFilter.SubresourceLoad.Evaluation.CPUDuration"
    units="microseconds">
  <owner>pkalinnikov@chromium.org</owner>
  <summary>
    Whenever a subresource of a document is evaluated against the ruleset,
    records the thread CPU time spent on calculating whether it should be
    allowed to load.
  </summary>
</histogram>

<histogram name="SubresourceFilter.SubresourceLoad.Evaluation.WallDuration"
    units="microseconds">
  <owner>pkalinnikov@chromium.org</owner>
  <summary>
    Whenever a subresource of a document is evaluated against the ruleset,
    records how much time was spent on calculating whether it should be allowed
    to load.
  </summary>
</histogram>

<histogram name="SubresourceFilter.WriteRuleset.ReplaceFileError"
    enum="PlatformFileError">
  <owner>engedy@chromium.org</owner>
  <summary>
    Records the exact error whenever writing a ruleset fails at the step where
    the ruleset would be moved from the scratch directory to its final location.
  </summary>
</histogram>

<histogram name="SubresourceFilter.WriteRuleset.Result"
    enum="SubresourceFilterWriteRulesetResult">
  <owner>engedy@chromium.org</owner>
  <summary>
    Whether indexing a version of the ruleset and writing it to disk succeeded,
    or failed at a particular step. Recorded every time the RulesetService kicks
    off a ruleset indexing process.
  </summary>
</histogram>

<histogram name="Suggestions.FailedRequestErrorCode" enum="NetErrorCodes">
  <owner>mathp@chromium.org</owner>
  <summary>
    The counts of network error codes encountered by SuggestionsService when an
    attempt to fetch suggestions from the server fails.
  </summary>
</histogram>

<histogram name="Suggestions.FetchResponseCode">
  <owner>mathp@chromium.org</owner>
  <summary>
    The counts of HTTP response codes encountered by SuggestionsService when
    attempting to fetch suggestions from the server.
  </summary>
</histogram>

<histogram name="Suggestions.FetchSuccessLatency" units="ms">
  <owner>mathp@chromium.org</owner>
  <summary>
    The latency of a SuggestionsService fetch that results in a success
    response.
  </summary>
</histogram>

<histogram name="Suggestions.LocalBlacklistSize" units="URLcount">
  <owner>manzagop@chromium.org</owner>
  <summary>
    Number of URLs present in the Suggestions local blacklist when the
    Suggestions service is created.
  </summary>
</histogram>

<histogram name="Suggestions.ResponseState" enum="SuggestionsResponseState">
  <owner>mathp@chromium.org</owner>
  <summary>
    The counts of response states (such as empty or invalid) encountered by
    SuggestionsService when attempting to fetch suggestions from the server.
  </summary>
</histogram>

<histogram name="SupervisedUserContentProvider.ChromeNotStartedRequestTime"
    units="ms">
  <owner>aberent@chromium.org</owner>
  <summary>
    Time to get the response to requesting whether a URL should be accessible to
    the supervised user, when Chrome was not previously running.
  </summary>
</histogram>

<histogram name="SupervisedUserContentProvider.ChromeStartedRequestTime"
    units="ms">
  <owner>aberent@chromium.org</owner>
  <summary>
    Time to get the response to requesting whether a URL should be accessible to
    the supervised user, when Chrome was already running.
  </summary>
</histogram>

<histogram name="SupervisedUserContentProvider.RequestTimedOut"
    enum="BooleanTimedOut">
  <owner>aberent@chromium.org</owner>
  <summary>
    True if a request to find out whether a URL should be accessible to a
    supervised user timed out.
  </summary>
</histogram>

<histogram name="Sync.AppAssociationTime" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Time taken during app association (M18 and earlier were mispelled with this
    histogram).
  </summary>
</histogram>

<histogram name="Sync.AppRunFailures">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Count of apps run failures, used to compare failure rates between data types
    for a particular profile (see other Sync*RunFailures histograms).
  </summary>
</histogram>

<histogram name="Sync.AppsAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during app association.</summary>
</histogram>

<histogram name="Sync.AppsConfigureFailure" enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of app configuration failures.</summary>
</histogram>

<histogram name="Sync.AppSettingsAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during app settings association.</summary>
</histogram>

<histogram name="Sync.AppSettingsConfigureFailure" enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of app settings configuration failures.
  </summary>
</histogram>

<histogram name="Sync.AppSettingsStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by AppSettingsConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of app settings association failures.</summary>
</histogram>

<histogram name="Sync.AppsStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by AppsConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of app association failures.</summary>
</histogram>

<histogram name="Sync.AppStartFailures" enum="SyncStartResult">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of app association failures (M18 and earlier were
    mispelled with this histogram).
  </summary>
</histogram>

<histogram name="Sync.Attachments.DownloadChecksumResult" enum="BooleanMatched">
  <owner>maxbogue@chromium.org</owner>
  <summary>Whether attachment checksums match on download or not.</summary>
</histogram>

<histogram name="Sync.Attachments.DownloadResponseCode"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>maxbogue@chromium.org</owner>
  <summary>Response or error codes from downloading sync attachments.</summary>
</histogram>

<histogram name="Sync.Attachments.DownloadTotalTime" units="ms">
  <owner>maxbogue@chromium.org</owner>
  <summary>
    The total time a download takes including request and server overhead.
  </summary>
</histogram>

<histogram name="Sync.Attachments.StoreInitResult"
    enum="SyncAttachmentStoreResult">
  <owner>maxbogue@chromium.org</owner>
  <summary>The result of initializing the sync attachment store.</summary>
</histogram>

<histogram name="Sync.Attachments.UploadResponseCode"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>maxbogue@chromium.org</owner>
  <summary>Response or error codes from uploading sync attachments.</summary>
</histogram>

<histogram name="Sync.AttemptNigoriMigration" enum="SyncNigoriMigrationResult">
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of results from attempting to migrate Sync's nigori node and its
    encryption keys to support keystore.
  </summary>
</histogram>

<histogram name="Sync.AuthInvalidationRejectedTokenAgeLong" units="days">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Age of all auth tokens rejected by the invalidation server. Measured from
    the time they were created.
  </summary>
</histogram>

<histogram name="Sync.AuthInvalidationRejectedTokenAgeShort" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Age of auth tokens younger than one hour that were rejected by the
    invalidation server. Measured from the time they were created.
  </summary>
</histogram>

<histogram name="Sync.AuthorizationTimeInNetwork" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Time taken during initial authorization.</summary>
</histogram>

<histogram name="Sync.AuthServerRejectedTokenAgeLong" units="days">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Age of all auth tokens rejected by the sync server. Measured from the time
    they were created.
  </summary>
</histogram>

<histogram name="Sync.AuthServerRejectedTokenAgeShort" units="ms">
  <obsolete>
    No longer relevant since transition to OAuth.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Age of auth tokens younger than one hour that were rejected by the sync
    server. Measured from the time they were created.
  </summary>
</histogram>

<histogram name="Sync.AutofillAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during autofill association.</summary>
</histogram>

<histogram name="Sync.AutofillConfigureFailure" enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of autofill configuration failures.</summary>
</histogram>

<histogram name="Sync.AutofillProfileAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time taken during autofill profile association (M18 and earlier were
    mispelled with this histogram).
  </summary>
</histogram>

<histogram name="Sync.AutofillProfileRunFailures">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Count of autofill profiles run failures, used to compare failure rates
    between data types for a particular profile (see other Sync*RunFailures
    histograms).
  </summary>
</histogram>

<histogram name="Sync.AutofillProfilesAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during autofill profile association.</summary>
</histogram>

<histogram name="Sync.AutofillProfilesConfigureFailure"
    enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of autofill profile configuration failures.
  </summary>
</histogram>

<histogram name="Sync.AutofillProfilesStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by AutofillProfilesConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of autofill profile association failures.
  </summary>
</histogram>

<histogram name="Sync.AutofillProfileStartFailures" enum="SyncStartResult">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of autofill profile association failures (M18 and
    earlier were mispelled with this histogram).
  </summary>
</histogram>

<histogram name="Sync.AutofillRunFailures">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Count of autofill (autocomplete) run failures, used to compare failure rates
    between data types for a particular profile (see other Sync*RunFailures
    histograms).
  </summary>
</histogram>

<histogram name="Sync.AutofillStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by AutofillConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of autofill association failures.</summary>
</histogram>

<histogram name="Sync.AutoNigoriOverwrites">
  <owner>zea@chromium.org</owner>
  <summary>
    Number of times this client has overwritten the nigori node to update the
    encryption keys without a user action (during this instantiation of Chrome).
  </summary>
</histogram>

<histogram name="Sync.BackendInitializeFirstTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Tracks sync backend initialization time during initial sync setup.
  </summary>
</histogram>

<histogram name="Sync.BackendInitializeFirstTimeSuccess" enum="BooleanSuccess">
  <owner>zea@chromium.org</owner>
  <summary>
    Tracks sync backend initialization success rate during initial sync setup.
  </summary>
</histogram>

<histogram name="Sync.BackendInitializeRestoreState"
    enum="SyncBackendInitializeRestoreState">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Compares sync's has_setup_completed pref against the set of types actually
    restored from the sync DB.  Mismatches should be rare.
  </summary>
</histogram>

<histogram name="Sync.BackendInitializeRestoreSuccess" enum="BooleanSuccess">
  <owner>zea@chromium.org</owner>
  <summary>
    Tracks sync backend initialization success rate in cases where sync was
    previously initialized.
  </summary>
</histogram>

<histogram name="Sync.BackendInitializeRestoreTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Tracks sync backend initialization time in cases where sync was previously
    initialized.
  </summary>
</histogram>

<histogram name="Sync.BadRequestCountOnSignInNeedsUpdateInfoBar">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Number of bad requests since application startup, when the Sync error
    infobar asking the user to update their account details is displayed.
  </summary>
</histogram>

<histogram name="Sync.BookmarkAssociationTime" units="ms">
  <obsolete>
    Deprecated as of m18
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Time taken during bookmark association.</summary>
</histogram>

<histogram name="Sync.BookmarkRunFailures">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Count of bookmark run failures, used to compare failure rates between data
    types for a particular profile (see other Sync*RunFailures histograms).
  </summary>
</histogram>

<histogram name="Sync.BookmarksAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during bookmark association.</summary>
</histogram>

<histogram name="Sync.BookmarksConfigureFailure" enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of bookmark configuration failures.</summary>
</histogram>

<histogram name="Sync.BookmarksDuplicationsAtAssociation">
  <owner>stanisc@chromium.org</owner>
  <summary>
    Estimated number of bookmark duplications after bookmark association.
  </summary>
</histogram>

<histogram name="Sync.BookmarksModelSyncStateAtNewDuplication"
    enum="SyncBookmarkModelSyncState">
  <owner>stanisc@chromium.org</owner>
  <summary>
    Tracks state of local bookmark model version relative to the sync version
    when a new bookmark duplication occurs during bookmark association.
  </summary>
</histogram>

<histogram name="Sync.BookmarksNewDuplicationsAtAssociation">
  <owner>stanisc@chromium.org</owner>
  <summary>
    Estimated number of new bookmark duplications after bookmark association.
  </summary>
</histogram>

<histogram name="Sync.BookmarksStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by BookmarksConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of bookmark association failures.</summary>
</histogram>

<histogram name="Sync.BookmarkStartFailures" enum="SyncStartResult">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of bookmark association failures (M18 and earlier were
    mispelled with this histogram).
  </summary>
</histogram>

<histogram name="Sync.ClearServerDataEvents" enum="ClearServerDataEvents">
  <owner>pavely@chromium.org</owner>
  <summary>
    Records events encountered during sync's ClearServerData flow.
  </summary>
</histogram>

<histogram name="Sync.ConfigureDataTypes" enum="SyncModelTypes">
  <owner>zea@chromium.org</owner>
  <summary>
    Breakdown of sync data types being configured at first time signin, restart,
    or user-initiated reconfiguration. This is different from Sync.CustomTypes
    in that this captures all active devices, not just those that are choosing a
    custom sync configuration.

    Note that not all platforms support all data types. As such, comparing
    across platforms should only look at the common data types.
  </summary>
</histogram>

<histogram name="Sync.ConfigureFailed" enum="SyncModelTypes">
  <owner>zea@chromium.org</owner>
  <summary>Count of model association failures for each type.</summary>
</histogram>

<histogram name="Sync.ConfigureTime.ABORTED" units="ms">
  <obsolete>
    Replaced by Sync.ConfigureTime_Long.ABORTED in m21.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Time spent configuring data types in the case where configuration is
    aborted.
  </summary>
</histogram>

<histogram name="Sync.ConfigureTime.OK" units="ms">
  <obsolete>
    Replaced by Sync.ConfigureTime_Long.OK in m21.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Time spent configuring data types in the case where configuration succeeds.
  </summary>
</histogram>

<histogram name="Sync.ConfigureTime.PARTIAL_SUCCESS" units="ms">
  <obsolete>
    Replaced by Sync.ConfigureTime_Long.PARTIAL_SUCCESS in m21.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Time spent configuring data types in the case where only some data types
    succeed.
  </summary>
</histogram>

<histogram name="Sync.ConfigureTime.UNRECOVERABLE_ERROR" units="ms">
  <obsolete>
    Replaced by Sync.ConfigureTime_Long.UNRECOVERABLE_ERROR in m21.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Time spent configuring data types in the case where configuration encounters
    an unrecoverable error.
  </summary>
</histogram>

<histogram name="Sync.ConfigureTime_Long.ABORTED" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time spent configuring data types in the case where configuration is
    aborted.
  </summary>
</histogram>

<histogram name="Sync.ConfigureTime_Long.OK" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time spent configuring data types in the case where configuration succeeds.
  </summary>
</histogram>

<histogram name="Sync.ConfigureTime_Long.PARTIAL_SUCCESS" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time spent configuring data types in the case where only some data types
    succeed.
  </summary>
</histogram>

<histogram name="Sync.ConfigureTime_Long.UNRECOVERABLE_ERROR" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time spent configuring data types in the case where configuration encounters
    an unrecoverable error.
  </summary>
</histogram>

<histogram name="Sync.ConflictFixCircularity">
  <obsolete>
    Deprecated 12/2011. No longer tracked. See crbug.com/107816.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Number of times we fix a circularity sync conflict. This is not expected to
    be hit anymore.
  </summary>
</histogram>

<histogram name="Sync.ConflictFixRemovedDirectoriesWithContent">
  <obsolete>
    Deprecated 12/2011. No longer tracked. See crbug.com/107816.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Number of times we fix a removed directory with content sync conflict. This
    is not expected to be hit anymore
  </summary>
</histogram>

<histogram name="Sync.CookieJarEmptyOnMismatch" enum="BooleanEmpty">
  <owner>zea@chromium.org</owner>
  <summary>
    Whether the gaia cookie jar was empty. Recorded on every SESSIONS commit
    where the gaia cookie jar does not include the signed in user (
    CookieJarMatchOnNavigation == false).
  </summary>
</histogram>

<histogram name="Sync.CookieJarMatchOnNavigation" enum="BooleanMatched">
  <owner>zea@chromium.org</owner>
  <summary>
    Whether the gaia cookie jar included the signed in user (matched) or not.
    Recorded on every SESSIONS commit.
  </summary>
</histogram>

<histogram name="Sync.CredentialsLost" enum="BooleanCredentialsLost">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Whether or not we detected missing credentials during startup.  This may be
    related to crbug.com/121755.
  </summary>
</histogram>

<histogram name="Sync.CryptographerPendingKeys"
    enum="SyncCryptographerPendingKeysState">
  <owner>zea@chromium.org</owner>
  <summary>
    Breakdown of sync users whose cryptographer has pending keys.
  </summary>
</histogram>

<histogram name="Sync.CryptographerReady" enum="SyncCryptographerReadyState">
  <owner>zea@chromium.org</owner>
  <summary>
    Breakdown of sync users whose cryptographer is fully ready for encryption
    and decryption (initialized and no pending keys).
  </summary>
</histogram>

<histogram name="Sync.CustomEncryption" enum="SyncCustomEncryptionEvent">
  <owner>zea@chromium.org</owner>
  <summary>
    Histogram that keeps track of how users encrypt their sync data. All users
    start off with default encryption during initial setup, while a subset of
    users go on to encrypt their sync data with a custom passphrase.
  </summary>
</histogram>

<histogram name="Sync.CustomPassphrase">
  <obsolete>
    Deprecated as of m26.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Boolean histogram for whether a custom passphrase was entered during sync
    setup. Samples are taken every time sync is (re)configured, and the unique
    userid count shows how many users entered a custom passphrase.
  </summary>
</histogram>

<histogram name="Sync.CustomSync" enum="UserSelectableSyncType">
  <owner>zea@chromium.org</owner>
  <summary>
    Samples are taken every time sync is (re)configured, and the unique userid
    count shows how many users explicitly chose to sync this data type via the
    &quot;Advanced Sync Preferences&quot; dialog.
  </summary>
</histogram>

<histogram name="Sync.DatatypePrefRecovery">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Number of clients that have fixed themselves up from a datatype preference
    loss. Clients are not expected to have this happen more than once. This
    value can be compared to Sync.BackendInitializeRestoreSuccess to determine
    what percentage of users are still recovering.
  </summary>
</histogram>

<histogram name="Sync.DataTypeRunFailures" enum="SyncModelTypes">
  <owner>zea@chromium.org</owner>
  <summary>
    Histogram of the run failures for the different sync datatypes. These are
    failures that occur after startup while the datatype is syncing. Note: Due
    to an enumeration reordering, pre-M23 labels are inaccurate (see
    sync/base/model_type.h).
  </summary>
</histogram>

<histogram name="Sync.DataTypeStartFailures" enum="SyncModelTypes">
  <owner>zea@chromium.org</owner>
  <summary>
    Histogram of the startup failures for the different sync datatypes. These
    are failures due to missing top level sync nodes or model association Note:
    Due to an enumeration reordering, pre-M23 labels are inaccurate (see
    sync/base/model_type.h).
  </summary>
</histogram>

<histogram name="Sync.DeviceCount">
  <owner>skym@chromium.org</owner>
  <summary>
    The largest number of active syncing devices known to any profile. May be 0
    when there are no signed in/syncing profiles open.
  </summary>
</histogram>

<histogram name="Sync.DeviceIdMismatchDetails" enum="DeviceIdMismatch">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>pavely@chromium.org</owner>
  <summary>
    When signin_scoped_device_id from pref doesn't match the one in
    DeviceInfoSpecfics this histogram tells if sync or pref copy was empty. This
    will indicate how often such mismatch happens and what was the state before.
  </summary>
</histogram>

<histogram name="Sync.DictionaryAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during dictionary association.</summary>
</histogram>

<histogram name="Sync.DictionaryConfigureFailure" enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of dictionary configuration failures.</summary>
</histogram>

<histogram name="Sync.DictionaryStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by DictionaryConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of dictionary association failures.</summary>
</histogram>

<histogram name="Sync.DirectoryCatastrophicError" enum="BooleanError">
  <owner>maniscalco@chromium.org</owner>
  <summary>
    Whether the Sync Directory encountered a catastrophic error.
  </summary>
</histogram>

<histogram name="Sync.DirectoryOpenFailedMac">
  <obsolete>
    Deprecated 11/2011. No longer tracked.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Number of failures trying to open the sync database on mac.</summary>
</histogram>

<histogram name="Sync.DirectoryOpenFailedNotWinMac">
  <obsolete>
    Deprecated 11/2011. No longer tracked.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Number of failures trying to open the sync database on a non-windows non-mac
    platform.
  </summary>
</histogram>

<histogram name="Sync.DirectoryOpenFailedWin">
  <obsolete>
    Deprecated 11/2011. No longer tracked.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Number of failures trying to open the sync database on windows.
  </summary>
</histogram>

<histogram name="Sync.DirectoryOpenResult" enum="SyncDirectoryOpenResult">
  <owner>zea@chromium.org</owner>
  <summary>Tracks success of failure of sync directory initialization.</summary>
</histogram>

<histogram name="Sync.EncryptAllData">
  <obsolete>
    Deprecated as of m26.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Boolean histogram for whether the &quot;Encrypt all synced data&quot; radio
    button was selected during sync setup. Samples are taken every time sync is
    (re)configured, and the unique userid count shows how many users chose to
    encrypt their sync data.
  </summary>
</histogram>

<histogram name="Sync.EventCodes" enum="SyncEventCode">
  <owner>zea@chromium.org</owner>
  <summary>A UI event occured.</summary>
</histogram>

<histogram name="Sync.ExtensionAssociationTime" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Time taken during extension association (M18 and earlier were mispelled with
    this histogram).
  </summary>
</histogram>

<histogram name="Sync.ExtensionRunFailures">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Count of extension run failures, used to compare failure rates between data
    types for a particular profile (see other Sync*RunFailures histograms).
  </summary>
</histogram>

<histogram name="Sync.ExtensionsAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during extension association.</summary>
</histogram>

<histogram name="Sync.ExtensionsConfigureFailure" enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of extension configuration failures.</summary>
</histogram>

<histogram name="Sync.ExtensionSettingsAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during extension settings association.</summary>
</histogram>

<histogram name="Sync.ExtensionSettingsConfigureFailure"
    enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of extension settings configuration failures.
  </summary>
</histogram>

<histogram name="Sync.ExtensionSettingsStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by ExtensionSettingsConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of extension settings association failures.
  </summary>
</histogram>

<histogram name="Sync.ExtensionsStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by ExtensionsConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of extension association failures.</summary>
</histogram>

<histogram name="Sync.ExtensionStartFailures" enum="SyncStartResult">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of extension association failures (M18 and earlier were
    mispelled with this histogram).
  </summary>
</histogram>

<histogram name="Sync.ExtraSyncDataCount" units="entries">
  <owner>gangwu@chromium.org</owner>
  <summary>
    Counts the total number of extra copies of sync data in memory. This count
    is emitted once, after loading Sync Directory. The count will indicate how
    many Directory entities fail to share client and server specifics.
  </summary>
</histogram>

<histogram name="Sync.FaviconCacheLookupSucceeded" enum="BooleanSuccess">
  <owner>zea@chromium.org</owner>
  <summary>Whether a sync favicon cache lookup succeeded or not.</summary>
</histogram>

<histogram name="Sync.FaviconCount">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Number of synced favicons at initialization time.</summary>
</histogram>

<histogram name="Sync.FaviconImagesAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during favicon images association.</summary>
</histogram>

<histogram name="Sync.FaviconImagesConfigureFailure" enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of favicon images configuration failures.
  </summary>
</histogram>

<histogram name="Sync.FaviconImagesStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by FaviconImagesConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of favicon images association failures.
  </summary>
</histogram>

<histogram name="Sync.FaviconsAvailableAtMerge" enum="SyncFaviconsAvailable">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Number of client that have filled their sync favicon cache and must evict
    old favicons vs those whose cache is not full.
  </summary>
</histogram>

<histogram name="Sync.FaviconTrackingAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during favicon tracking association.</summary>
</histogram>

<histogram name="Sync.FaviconTrackingConfigureFailure"
    enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of favicon tracking configuration failures.
  </summary>
</histogram>

<histogram name="Sync.FaviconTrackingStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by FaviconTrackingConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of favicon tracking association failures.
  </summary>
</histogram>

<histogram name="Sync.FaviconVisitPeriod" units="hours">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Time between updates to a synced favicon's visit time.</summary>
</histogram>

<histogram name="Sync.FirstBackendInitializeSuccess" enum="BooleanSuccess">
  <obsolete>
    Deprecated 11/2011.  Was counted incorrectly.  Replaced by
    Sync.BackendInitializeFirstTimeSuccess.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Tracks sync backend initialization success rate during initial sync setup.
  </summary>
</histogram>

<histogram name="Sync.FirstSyncDelayByBackup" units="ms">
  <obsolete>
    Backup logic has been removed since 02/2016.
  </obsolete>
  <owner>haitaol@chromium.org</owner>
  <summary>First sync delay casued by backing up user data.</summary>
</histogram>

<histogram name="Sync.FreqApps" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for apps. Used as estimate of datatype commit frequency.
    Logged when a sync cycle is performed for apps.
  </summary>
</histogram>

<histogram name="Sync.FreqAutofill" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for autofill entries. Used as estimate of datatype
    commit frequency. Logged when a sync cycle is performed for autofill
    entries.
  </summary>
</histogram>

<histogram name="Sync.FreqAutofillProfiles" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for autofill profiles. Used as estimate of datatype
    commit frequency. Logged when a sync cycle is performed for autofill
    profiles.
  </summary>
</histogram>

<histogram name="Sync.FreqBookmarks" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for bookmarks. Used as estimate of datatype commit
    frequency. Logged when a sync cycle is performed for boomarks.
  </summary>
</histogram>

<histogram name="Sync.FreqDictionary" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for dictionary. Used as estimate of datatype commit
    frequency. Logged when a sync cycle is performed for dictionary.
  </summary>
</histogram>

<histogram name="Sync.FreqExtensions" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for extensions. Used as estimate of datatype commit
    frequency. Logged when a sync cycle is performed for extensions.
  </summary>
</histogram>

<histogram name="Sync.FreqFaviconImages" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for favicon images. Used as estimate of datatype commit
    frequency. Logged when a sync cycle is performed for favicon images.
  </summary>
</histogram>

<histogram name="Sync.FreqFaviconTracking" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for favicon tracking. Used as estimate of datatype
    commit frequency. Logged when a sync cycle is performed for favicon
    tracking.
  </summary>
</histogram>

<histogram name="Sync.FreqNigori" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for nigori. Used as estimate of datatype commit
    frequency. Logged when a sync cycle is performed for nigori.
  </summary>
</histogram>

<histogram name="Sync.FreqPasswords" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for passwords. Used as estimate of datatype commit
    frequency. Logged when a sync cycle is performed for passwords.
  </summary>
</histogram>

<histogram name="Sync.FreqPreferences" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for preferences. Used as estimate of datatype commit
    frequency. Logged when a sync cycle is performed for preferences.
  </summary>
</histogram>

<histogram name="Sync.FreqSearchEngines" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for search engines. Used as estimate of datatype commit
    frequency. Logged when a sync cycle is performed for search engines.
  </summary>
</histogram>

<histogram name="Sync.FreqSessions" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for sessions. Used as estimate of datatype commit
    frequency. Logged when a sync cycle is performed for sessions.
  </summary>
</histogram>

<histogram name="Sync.FreqSyncedNotifications" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for synced notifications. Used as estimate of datatype
    commit frequency. Logged when a sync cycle is performed for synced
    notifications.
  </summary>
</histogram>

<histogram name="Sync.FreqThemes" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for themes. Used as estimate of datatype commit
    frequency. Logged when a sync cycle is performed for themes.
  </summary>
</histogram>

<histogram name="Sync.FreqTypedUrls" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for typed urls. Used as estimate of datatype commit
    frequency. Logged when a sync cycle is performed for typed urls.
  </summary>
</histogram>

<histogram name="Sync.FreqWifiCredentials" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Time between nudges for WiFi credentials. Used as estimate of datatype
    commit frequency. Logged when a sync cycle is performed for WiFi
    credentials.
  </summary>
</histogram>

<histogram name="Sync.InitialState" enum="SyncInitialState">
  <owner>maxbogue@chromium.org</owner>
  <summary>
    An approximate state of sync at startup. Logs a few reasons sync definitely
    wouldn't be able to start, or that it probably can start. The user having
    turned off sync on mobile will be logged as &quot;turned off by user&quot;.
    A dashboard stop and clear will fall under &quot;turned off and setup not
    completed&quot;. See the SyncInitialState enum in profile_sync_service.h for
    more information.
  </summary>
</histogram>

<histogram name="Sync.InvalidationSessionsAndroid" enum="BooleanHit">
  <obsolete>
    Deprecated as of 5/2016.
  </obsolete>
  <owner>pkotwicz@chromium.org</owner>
  <summary>
    Count of the number of session sync invalidations. The goal of the metric is
    to track how the number of session sync invalidations changes over time.
  </summary>
</histogram>

<histogram name="Sync.KeystoreDecryptionFailed"
    enum="SyncKeystoreDecryptionFailure">
  <owner>zea@chromium.org</owner>
  <summary>
    The reason for a failure decrypting the keystore decryptor token.
  </summary>
</histogram>

<histogram name="Sync.Local.Enabled" enum="BooleanEnabled">
  <owner>pastarmovj@chromium.org</owner>
  <summary>
    Tracks the number of times the local sync backend was enabled by the user.
  </summary>
</histogram>

<histogram name="Sync.Local.FileSize" units="KB">
  <owner>pastarmovj@chromium.org</owner>
  <summary>Tracks the size of the local sync backend database file.</summary>
</histogram>

<histogram name="Sync.Local.RoamingProfileUnavailable" enum="BooleanError">
  <owner>pastarmovj@chromium.org</owner>
  <summary>
    Tracks the number of times the Roaming profile cannot be retrieved.
  </summary>
</histogram>

<histogram name="Sync.LocalDataFailedToLoad" enum="SyncModelTypes">
  <owner>vasilii@chromium.org</owner>
  <summary>
    Counts cases when a sync type failed to load the local data during startup.
  </summary>
</histogram>

<histogram name="Sync.LocalModelOutOfSync" enum="SyncModelTypes">
  <owner>zea@chromium.org</owner>
  <summary>
    Counts instances of out of sync local models detected during startup.
  </summary>
</histogram>

<histogram name="Sync.LostNavigationCount" units="navigations">
  <owner>pnoland@chromium.org</owner>
  <summary>
    Counts instances of navigations that are recorded locally but not synced.
    Recorded once per active tab for every inferred sync cycle. Sync cycles are
    inferred by examining the is_synced and is_syncing flags of sync directories
    when recording local changes to tabs or windows. Sync cycles that occur
    without changes to tabs or windows won't cause this metric to be logged.
  </summary>
</histogram>

<histogram name="Sync.MemoryPressureWarningBeforeCleanShutdown" units="count">
  <owner>gangwu@chromium.org</owner>
  <summary>
    Counts the number of times a user's sync service received a
    MEMORY_PRESSURE_LEVEL_CRITICAL warning before the sync service shut down
    cleanly. The sync service emits this number the next time the user's sync
    service is started, which will likely happen the next time the user's
    profile is opened after a Chrome restart.  This count is emitted once per
    user/profile. Things like browser crashes that implicitly bring down all
    users' sync services will cause unclean shutdown tags to appear on all open
    profiles, meaning that there will be multiple emissions to this histogram as
    those profiles are re-opened.
  </summary>
</histogram>

<histogram name="Sync.MemoryPressureWarningBeforeUncleanShutdown" units="count">
  <owner>gangwu@chromium.org</owner>
  <summary>
    Counts the number of times a user's sync service received a
    MEMORY_PRESSURE_LEVEL_CRITICAL warning before the sync service shut down
    uncleanly. The sync service emits this number the next time the user's sync
    service is started, which will likely happen the next time the user's
    profile is opened after a Chrome restart.  This count is emitted once per
    user/profile. Things like browser crashes that implicitly bring down all
    users' sync services will cause unclean shutdown tags to appear on all open
    profiles, meaning that there will be multiple emissions to this histogram as
    those profiles are re-opened.
  </summary>
</histogram>

<histogram name="Sync.ModelTypeCount" units="entries">
  <owner>gangwu@chromium.org</owner>
  <summary>
    Counts the number of entries for each model type in sync DB at startup.
  </summary>
</histogram>

<histogram name="Sync.ModelTypeStoreInitResult"
    enum="SyncModelTypeStoreInitResult">
  <owner>pavely@chromium.org</owner>
  <summary>
    Records the result of ModelTypeStoreBackend initialization. Used to analyze
    frequency and causes of backend initialization failures.
  </summary>
</histogram>

<histogram name="Sync.NigoriMigrationState" enum="SyncNigoriMigrationState">
  <owner>zea@chromium.org</owner>
  <summary>Breakdown of sync's nigori node keystore migration state.</summary>
</histogram>

<histogram name="Sync.PageRevisitBookmarksDuration" units="ms">
  <owner>skym@chromium.org</owner>
  <summary>
    The client side execution time to check for revisits with bookmarks data.
  </summary>
</histogram>

<histogram name="Sync.PageRevisitBookmarksMatchAge" units="minutes">
  <owner>skym@chromium.org</owner>
  <summary>
    Age of bookmark that matches a navigation event, where matching means the
    urls match. If multiple bookmarks match, the most recently created is used.
  </summary>
</histogram>

<histogram name="Sync.PageRevisitBookmarksMatchTransition"
    enum="PageVisitTransitionType">
  <owner>skym@chromium.org</owner>
  <summary>Transition type to a page that matched a bookmark.</summary>
</histogram>

<histogram name="Sync.PageRevisitBookmarksMissTransition"
    enum="PageVisitTransitionType">
  <owner>skym@chromium.org</owner>
  <summary>Transition type to a page that didn't match a bookmark.</summary>
</histogram>

<histogram name="Sync.PageRevisitNavigationMatchAge" units="minutes">
  <owner>skym@chromium.org</owner>
  <summary>
    Difference in time between finding the match and the creation of the most
    recent foreign modification of the parent tab. The parent tab's modification
    will not always be indicative of when the matching navigation occurred.
  </summary>
</histogram>

<histogram name="Sync.PageRevisitNavigationMatchOffset">
  <owner>skym@chromium.org</owner>
  <summary>
    The number of navigations forward or backwards the matching noncurrent
    navigation is from the current navigation in its tab. Negative values
    represent backwards and positive values represent forwards. Zero should not
    occur since it would cease to be noncurrent.
  </summary>
</histogram>

<histogram name="Sync.PageRevisitNavigationMatchTransition"
    enum="PageVisitTransitionType">
  <owner>skym@chromium.org</owner>
  <summary>Transition type that matched a synced navigation.</summary>
</histogram>

<histogram name="Sync.PageRevisitNavigationMissTransition"
    enum="PageVisitTransitionType">
  <owner>skym@chromium.org</owner>
  <summary>Transition type that didn't match a synced navigation.</summary>
</histogram>

<histogram name="Sync.PageRevisitSessionDuration" units="ms">
  <owner>skym@chromium.org</owner>
  <summary>
    The client side execution time to check for revisits with session data.
  </summary>
</histogram>

<histogram name="Sync.PageRevisitTabMatchAge" units="minutes">
  <owner>skym@chromium.org</owner>
  <summary>
    Difference in time between finding the match and the creation of the most
    recent foreign modification of the given tab.
  </summary>
</histogram>

<histogram name="Sync.PageRevisitTabMatchTransition"
    enum="PageVisitTransitionType">
  <owner>skym@chromium.org</owner>
  <summary>Transition type that matched a synced tab.</summary>
</histogram>

<histogram name="Sync.PageRevisitTabMissTransition"
    enum="PageVisitTransitionType">
  <owner>skym@chromium.org</owner>
  <summary>Transition type that didn't match a synced tab.</summary>
</histogram>

<histogram name="Sync.PageRevisitTypedUrlDuration" units="ms">
  <owner>skym@chromium.org</owner>
  <summary>
    The client side execution time to check for revisits with typed URL data.
  </summary>
</histogram>

<histogram name="Sync.PageRevisitTypedUrlMatchAge" units="minutes">
  <owner>skym@chromium.org</owner>
  <summary>
    Difference in time between finding the match and the last time this URL was
    typed on a foreign client.
  </summary>
</histogram>

<histogram name="Sync.PageRevisitTypedUrlMatchTransition"
    enum="PageVisitTransitionType">
  <owner>skym@chromium.org</owner>
  <summary>Transition type that matched a typed URL.</summary>
</histogram>

<histogram name="Sync.PageRevisitTypedUrlMissTransition"
    enum="PageVisitTransitionType">
  <owner>skym@chromium.org</owner>
  <summary>Transition type that didn't match a typed URL.</summary>
</histogram>

<histogram name="Sync.PartiallySyncedTypes">
  <owner>zea@chromium.org</owner>
  <summary>
    Number of partially synced types (those with a progress marker but no
    initial sync ended bit) that exist at sync startup.
  </summary>
</histogram>

<histogram name="Sync.PassphraseDecryptionSucceeded" enum="BooleanSuccess">
  <owner>zea@chromium.org</owner>
  <summary>Whether a passphrase decryption attempt succeeded or not.</summary>
</histogram>

<histogram name="Sync.PassphraseDialogDismissed" enum="SyncPassphraseDismissal">
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of how a user dismissed the passphrase dialog.</summary>
</histogram>

<histogram name="Sync.PassphraseType" enum="SyncPassphraseType">
  <owner>maxbogue@chromium.org</owner>
  <summary>The active sync passphrase type at sync startup.</summary>
</histogram>

<histogram name="Sync.PasswordAssociationTime" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Time taken during password association (M18 and earlier were mispelled with
    this histogram).
  </summary>
</histogram>

<histogram name="Sync.PasswordRunFailures">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Count of passwords run failures, used to compare failure rates between data
    types for a particular profile (see other Sync*RunFailures histograms).
  </summary>
</histogram>

<histogram name="Sync.PasswordsAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during password association.</summary>
</histogram>

<histogram name="Sync.PasswordsConfigureFailure" enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of password configuration failures.</summary>
</histogram>

<histogram name="Sync.PasswordsStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by PasswordsConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of password association failures.</summary>
</histogram>

<histogram name="Sync.PasswordStartFailures" enum="SyncStartResult">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of password association failures (M18 and earlier were
    mispelled with this histogram).
  </summary>
</histogram>

<histogram name="Sync.PreferenceAssociationTime" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Time taken during preference association (M18 and earlier were mispelled
    with this histogram).
  </summary>
</histogram>

<histogram name="Sync.PreferenceRunFailures">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Count of preferences run failures, used to compare failure rates between
    data types for a particular profile (see other Sync*RunFailures histograms).
  </summary>
</histogram>

<histogram name="Sync.PreferencesAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during preference association.</summary>
</histogram>

<histogram name="Sync.PreferencesConfigureFailure" enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of preference configuration failures.</summary>
</histogram>

<histogram name="Sync.PreferencesStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by PreferencesConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of preference association failures.</summary>
</histogram>

<histogram name="Sync.PreferenceStartFailures" enum="SyncStartResult">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of preference association failures (M18 and earlier
    were mispelled with this histogram).
  </summary>
</histogram>

<histogram name="Sync.ReauthorizationTime" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Time taken from startup for the user to reauthorize.</summary>
</histogram>

<histogram name="Sync.RefreshTokenAvailable" enum="BooleanSuccess">
  <obsolete>
    Deprecated 04/2016 as not useful since it always logged true.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Whether OAuth2 refresh token was available at the time when
    ProfileSyncService was starting backend.
  </summary>
</histogram>

<histogram name="Sync.RequestContentLength.Compressed" units="bytes">
  <owner>gangwu@chromium.org</owner>
  <summary>
    The request content size for a single HTTP/HTTPS call from sync client to
    server. The content is compressed by gzip.
  </summary>
</histogram>

<histogram name="Sync.RequestContentLength.Original" units="bytes">
  <owner>gangwu@chromium.org</owner>
  <summary>
    The original request content size for a single HTTP/HTTPS call from sync
    client to server. It is the size before content got compressed.
  </summary>
</histogram>

<histogram name="Sync.ResolveConflict" enum="SyncConflictResolutions">
  <owner>maxbogue@chromium.org</owner>
  <summary>
    Enumeration of types of conflict resolutions. Recorded every time a conflict
    is resolved for a data type that has been converted to USS.
  </summary>
</histogram>

<histogram name="Sync.ResolveSimpleConflict"
    enum="SyncSimpleConflictResolutions">
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of simple conflict resolutions.</summary>
</histogram>

<histogram name="Sync.ResponseContentLength.Compressed" units="bytes">
  <owner>gangwu@chromium.org</owner>
  <summary>
    The response content size for a single HTTP/HTTPS call from sync server to
    client. The content is compressed by gzip.
  </summary>
</histogram>

<histogram name="Sync.ResponseContentLength.Original" units="bytes">
  <owner>gangwu@chromium.org</owner>
  <summary>
    The original response content size for a single HTTP/HTTPS call from sync
    server and client. It is the size after content got uncompressed.
  </summary>
</histogram>

<histogram name="Sync.RestoreBackendInitializeSucess" enum="BooleanSuccess">
  <obsolete>
    Deprecated 11/2011.  Was counted incorrectly.  Replaced by
    Sync.BackendInitializeRestoreSuccess.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Tracks sync backend initialization success rate in cases where sync was
    previously initialized.
  </summary>
</histogram>

<histogram name="Sync.SearchEngineAssociationTime" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Time taken during search engine association (M18 and earlier were mispelled
    with this histogram).
  </summary>
</histogram>

<histogram name="Sync.SearchEngineRunFailures">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Count of search engine run failures, used to compare failure rates between
    data types for a particular profile (see other Sync*RunFailures histograms).
  </summary>
</histogram>

<histogram name="Sync.SearchEnginesAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during search engine association.</summary>
</histogram>

<histogram name="Sync.SearchEnginesConfigureFailure" enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of search engine configuration failures.
  </summary>
</histogram>

<histogram name="Sync.SearchEnginesStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by SearchEnginesConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of search engine association failures.</summary>
</histogram>

<histogram name="Sync.SearchEngineStartFailures" enum="SyncStartResult">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of search engine association failures (M18 and earlier
    were mispelled with this histogram).
  </summary>
</histogram>

<histogram name="Sync.ServiceInitialConfigureTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time spent on first-time configure.  May include time spent on retries.
  </summary>
</histogram>

<histogram name="Sync.ServiceSubsequentConfigureTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time spent on non-first-time configure.  May include time spent on retries.
  </summary>
</histogram>

<histogram name="Sync.SessionAssociationTime" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Time taken during session association (M18 and earlier were mispelled with
    this histogram).
  </summary>
</histogram>

<histogram name="Sync.SessionRunFailures">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Count of sessions run failures, used to compare failure rates between data
    types for a particular profile (see other Sync*RunFailures histograms).
  </summary>
</histogram>

<histogram name="Sync.SessionsAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during session association.</summary>
</histogram>

<histogram name="Sync.SessionsBadForeignHashOnMergeCount"
    units="Sessions Entries">
  <owner>skym@chromium.org</owner>
  <summary>
    Number of foreign sessions entries detected with bad client tag hash value
    during MergeDataAndStartSyncing. These will be immediately deleted. The
    overwhelming majority of clients should report a value of 0 upon startup.
  </summary>
</histogram>

<histogram name="Sync.SessionsConfigureFailure" enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of session configuration failures.</summary>
</histogram>

<histogram name="Sync.SessionsRefreshDelay" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Delay from the time chrome://history is loaded until the other devices'
    sessions data became available.
  </summary>
</histogram>

<histogram name="Sync.SessionsStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by SessionsConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of session association failures.</summary>
</histogram>

<histogram name="Sync.SessionStartFailures" enum="SyncStartResult">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of session association failures (M18 and earlier were
    mispelled with this histogram).
  </summary>
</histogram>

<histogram name="Sync.SessionTabs" units="tabs">
  <owner>zea@chromium.org</owner>
  <summary>
    For each Chrome window, records the number of tabs present at the time Sync
    associates the SESSIONS datatype.
  </summary>
</histogram>

<histogram name="Sync.SessionWindows" units="windows">
  <owner>zea@chromium.org</owner>
  <summary>
    The number of windows present within Chrome at the time Sync associates the
    SESSIONS datatype.
  </summary>
</histogram>

<histogram name="Sync.Shutdown.BackendDestroyedTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time taken from the start of sync shutdown (in ProfileSyncService) until the
    backend (SyncEngine) is fully destroyed.
  </summary>
</histogram>

<histogram name="Sync.Shutdown.StopRegistrarTime" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Amount of time the UI thread waits (at shutdown) to stop the
    SyncBackendRegistrar.
  </summary>
</histogram>

<histogram name="Sync.Shutdown.StopSyncThreadTime" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Amount of time the UI thread waits (at shutdown) to stop the sync thread.
  </summary>
</histogram>

<histogram name="Sync.Startup.DeferredInitTrigger"
    enum="SyncDeferredInitTrigger">
  <owner>zea@chromium.org</owner>
  <summary>The type of event that triggered sync initialization.</summary>
</histogram>

<histogram name="Sync.Startup.TimeDeferred" units="ms">
  <obsolete>
    Deprecated, see TimeDeferred2.
  </obsolete>
  <owner>jeremy@chromium.org</owner>
  <owner>zea@google.com</owner>
  <summary>
    Time spent after ProfileSyncService *creation* but before SyncEngine
    initialization.
  </summary>
</histogram>

<histogram name="Sync.Startup.TimeDeferred2" units="ms">
  <owner>zea@google.com</owner>
  <summary>
    Time spent after ProfileSyncService *creation* but before SyncEngine
    initialization.
  </summary>
</histogram>

<histogram name="Sync.Startup.TypeTriggeringInit" enum="SyncModelTypes">
  <owner>zea@chromium.org</owner>
  <summary>Data type that first requests sync initialization.</summary>
</histogram>

<histogram name="Sync.StopSource" enum="SyncStopSource">
  <owner>maxbogue@chromium.org</owner>
  <summary>
    Tracks how sync was turned off. Logged every time sync is told to stop
    permanently by the user (e.g. it won't come back on by itself).
  </summary>
</histogram>

<histogram name="Sync.SyncAuthError" enum="SyncAuthError">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Counts the number of times sync clients have encountered an auth error and
    number of times auth errors are fixed.
  </summary>
</histogram>

<histogram name="Sync.SyncedNotificationsAssociationTime" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Time taken during synced notifications association.</summary>
</histogram>

<histogram name="Sync.SyncedNotificationsConfigureFailure"
    enum="SyncConfigureResult">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of synced notifications configuration failures.
  </summary>
</histogram>

<histogram name="Sync.SyncedNotificationsStartFailure" enum="SyncStartResult">
  <obsolete>
    Deprecated in M53. Replaced by SyncedNotificationsConfigureFailure. See
    crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of synced notifications association failures.
  </summary>
</histogram>

<histogram name="Sync.SyncerConflictStuck">
  <obsolete>
    Deprecated 12/2011. No longer tracked. See crbug.com/107816.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Number of times the sync conflict resolver gets stuck. This is not expected
    to be hit anymore.
  </summary>
</histogram>

<histogram name="Sync.SyncErrorInfobarDisplayed" enum="SyncErrorInfobarTypes">
  <owner>droger@chromium.org</owner>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of error conditions that displays an infobar to the user.
  </summary>
</histogram>

<histogram name="Sync.SyncEverything">
  <owner>zea@chromium.org</owner>
  <summary>
    Boolean histogram for whether the &quot;Sync Everything&quot; option was
    selected during sync setup. Samples are taken every time sync is
    (re)configured, and the unique userid count shows how many users chose to
    sync all available data types.
  </summary>
</histogram>

<histogram name="Sync.ThemeAssociationTime" units="ms">
  <obsolete>
    Deprecated as of m19
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Time taken during theme association (M18 and earlier were mispelled with
    this histogram).
  </summary>
</histogram>

<histogram name="Sync.ThemeRunFailures">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Count of theme run failures, used to compare failure rates between data
    types for a particular profile (see other Sync*RunFailures histograms).
  </summary>
</histogram>

<histogram name="Sync.ThemesAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during theme association.</summary>
</histogram>

<histogram name="Sync.ThemesConfigureFailure" enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of theme configuration failures.</summary>
</histogram>

<histogram name="Sync.ThemesStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by ThemesConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of theme association failures.</summary>
</histogram>

<histogram name="Sync.ThemeStartFailures" enum="SyncStartResult">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of theme association failures (M18 and earlier were
    mispelled with this histogram).
  </summary>
</histogram>

<histogram name="Sync.TypedUrlAssociationTime" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Time taken during typed url association (M18 and earlier were mispelled with
    this histogram).
  </summary>
</histogram>

<histogram name="Sync.TypedUrlChangeProcessorErrors" units="%">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    The percentage of history DB operations initiated by the typed URL change
    processor that return an error. The cumulative count for the current sync
    session is logged after every typed URL change.
  </summary>
</histogram>

<histogram name="Sync.TypedUrlMergeAndStartSyncingErrors" units="%">
  <owner>zea@chromium.org</owner>
  <summary>
    The percentage of history DB operations during merge data that return an
    error. This is logged at the end of typed URL merge data, which happens once
    each time sync starts up.
  </summary>
</histogram>

<histogram name="Sync.TypedUrlModelAssociationErrors" units="%">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    The percentage of history DB operations during model association that return
    an error. This is logged at the end of typed URL model association, which
    happens once each time sync starts up.
  </summary>
</histogram>

<histogram name="Sync.TypedUrlRunFailures">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Count of typed url run failures, used to compare failure rates between data
    types for a particular profile (see other Sync*RunFailures histograms).
  </summary>
</histogram>

<histogram name="Sync.TypedUrlsAssociationTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>Time taken during typed url association.</summary>
</histogram>

<histogram name="Sync.TypedUrlsConfigureFailure" enum="SyncConfigureResult">
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of typed url configuration failures.</summary>
</histogram>

<histogram name="Sync.TypedUrlsStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by TypedUrlsConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Enumeration of types of typed url association failures.</summary>
</histogram>

<histogram name="Sync.TypedUrlStartFailures" enum="SyncStartResult">
  <obsolete>
    Deprecated as of m19.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of typed url association failures (M18 and earlier were
    mispelled with this histogram).
  </summary>
</histogram>

<histogram name="Sync.UnrecoverableErrors" enum="SyncUnrecoverableErrorReason">
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of the different reasons for unrecoverable errors and how often
    they have occurred.
  </summary>
</histogram>

<histogram name="Sync.URLFetchResponse"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>zea@chromium.org</owner>
  <summary>
    Counts of responses (both http code and net error code) for Sync URL
    fetches.
  </summary>
</histogram>

<histogram name="Sync.URLFetchTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time spent waiting for a sync cycle to complete the url fetch.
  </summary>
</histogram>

<histogram name="Sync.URLFetchTimedOut" enum="BooleanTimedOut">
  <owner>zea@chromium.org</owner>
  <summary>
    Whether a url fetch timed out or not. Timing out implies the fetch was
    stalled for an unknown reason.
  </summary>
</histogram>

<histogram name="Sync.UserPerceivedAuthorizationTime" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Time the user spends looking at the authorization dialog.</summary>
</histogram>

<histogram name="Sync.UserPerceivedBookmarkAssociation">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Time taken during bookmark association.</summary>
</histogram>

<histogram name="Sync.USSLoadModelsTime" units="ms">
  <owner>pavely@chromium.org</owner>
  <summary>Time it took sync to load models for USS datatypes.</summary>
</histogram>

<histogram name="Sync.USSMigrationFailure" enum="SyncModelTypes">
  <owner>maxbogue@chromium.org</owner>
  <summary>Counts directory to USS migration failures per model type.</summary>
</histogram>

<histogram name="Sync.USSMigrationSuccess" enum="SyncModelTypes">
  <owner>maxbogue@chromium.org</owner>
  <summary>Counts directory to USS migration successes per model type.</summary>
</histogram>

<histogram name="Sync.WifiCredentialsAssociationTime" units="ms">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>Time taken during WiFi credentials association.</summary>
</histogram>

<histogram name="Sync.WifiCredentialsConfigureFailure"
    enum="SyncConfigureResult">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of WiFi credentials configuration failures.
  </summary>
</histogram>

<histogram name="Sync.WifiCredentialsStartFailure" enum="SyncStartResult">
  <obsolete>
    Replaced by WifiCredentialsConfigureFailure. See crbug.com/478226.
  </obsolete>
  <owner>zea@chromium.org</owner>
  <summary>
    Enumeration of types of WiFi credentials association failures.
  </summary>
</histogram>

<histogram name="Sync.WorkerApplyHasEncryptedUpdates" enum="Boolean">
  <owner>skym@chromium.org</owner>
  <summary>
    Whether there are still encrypted updates that the cryptographer cannot
    decrypt during ApplyUpdates in the ModelTypeWorker (USS Only). Emitting true
    is an invalid state that hopefully never happens, as it is a potential data
    loss scenario.
  </summary>
</histogram>

<histogram name="Sync.YoungestForeignTabAgeOnNTP" units="seconds">
  <owner>skym@chromium.org</owner>
  <summary>Upon NTP load, the age of the youngest synced foreign tab.</summary>
</histogram>

<histogram name="SyncedNotifications.Actions"
    enum="SyncedNotificationActionType">
  <obsolete>
    Deprecated in M53.
  </obsolete>
  <owner>petewil@chromium.org</owner>
  <owner>zea@chromium.org</owner>
  <summary>
    The actions taken on synced notifications, recorded every time they happen.
    This histogram will record every single event that happens separately.
  </summary>
</histogram>

<histogram name="SyncFileSystem.ConflictResolutionPolicy"
    enum="SyncFSConflictResolutionPolicy">
  <owner>tzik@chromium.org</owner>
  <summary>
    Overridden conflict resolution policy of Sync FileSystem API. Recorded for
    each API call to override the policy.
  </summary>
</histogram>

<histogram name="SyncFileSystem.Database.Open" enum="LevelDBStatus">
  <owner>tzik@chromium.org</owner>
  <summary>The result of opening the Sync FileSystem backend database.</summary>
</histogram>

<histogram name="SyncFileSystem.MetadataNumber">
  <owner>tzik@chromium.org</owner>
  <summary>
    The number of cached backing remote file metadata in the Sync FileSystem
    database. Recorded at the initialization phase of Sync FileSystem.
  </summary>
</histogram>

<histogram name="SyncFileSystem.RegisteredAppNumber">
  <owner>tzik@chromium.org</owner>
  <summary>
    The number of Chrome Apps that uses Sync FileSystem with V2 backend.
    Recorded at the initialization phase of Sync FileSystem.
  </summary>
</histogram>

<histogram name="SyncFileSystem.RegisterOriginResult"
    enum="SyncFSRemoteServiceState">
  <owner>tzik@chromium.org</owner>
  <summary>
    The result of the registration of Chrome App to Sync FileSystem.
  </summary>
</histogram>

<histogram name="SyncFileSystem.RegisterOriginTime" units="ms">
  <owner>peria@chromium.org</owner>
  <owner>tzik@chromium.org</owner>
  <summary>
    Time elapsed to register a Chrome App to SyncFilesystem. Recorded for each
    registration request by apps.
  </summary>
</histogram>

<histogram name="SyncFileSystem.TrackerDB.Open" enum="LevelDBStatus">
  <owner>tzik@chromium.org</owner>
  <summary>The result of opening the Sync FileSystem tracker database.</summary>
</histogram>

<histogram name="SyncFileSystem.TrackerNumber">
  <owner>tzik@chromium.org</owner>
  <summary>
    The number of the directory tree node that maps backing files to local files
    in the Sync FileSystem database. Recorded at the initialization phase of
    SyncFileSystem.
  </summary>
</histogram>

<histogram name="SyncPromo.NTPPromo" enum="SyncPromoAction">
  <owner>dbeam@chromium.org</owner>
  <summary>
    Shows actions taken on the &quot;Not signed in? You're misssing out&quot;
    link on the top right of chrome://apps. Logged once per visit of
    chrome://apps as well as on each click of the sync promo.
  </summary>
</histogram>

<histogram name="Syzyasan.DeferredFreeWasEnabled" enum="BooleanEnabled">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Record whether the deferred free mechanism was successfully enabled or not.
    This is only recorded in syzyasan builds with the feature enabled.
  </summary>
</histogram>

<histogram name="Tab.AgeUponRestoreFromColdStart" units="minutes">
  <owner>lliabraa@chromium.org</owner>
  <summary>
    Age (time since the last display in previous sessions) of a tab being
    restored due to the first tab switch after the browser cold start, recorded
    upon such restore. When the browser is started from cold, this metric is not
    recorded for the foreground, automatically restored tab, so that the metric
    tracks only the restores triggered by direct user decision to switch tabs.
  </summary>
</histogram>

<histogram name="Tab.AndroidCrashUpload" enum="BooleanSuccess">
  <owner>hzl@google.com</owner>
  <summary>Count of upload success/failures by crash type.</summary>
</histogram>

<histogram name="Tab.BackgroundLoadStatus" enum="TabBackgroundLoadStatus">
  <owner>ppi@chromium.org</owner>
  <summary>
    Mobile-specific metric: when a tab that was opened in background (via
    &quot;Open link in new tab&quot;) is switched to, we record whether the
    eagerly loaded tab was still memory resident, or we lost the loaded page due
    to memory pressure.
  </summary>
</histogram>

<histogram name="Tab.BackgroundTabShown" enum="BooleanShown">
  <owner>pkotwicz@chromium.org</owner>
  <summary>
    Whether a tab which was opened in the background (e.g. via &quot;Open link
    in new tab&quot;) is foregrounded prior to being closed.
  </summary>
</histogram>

<histogram name="Tab.BackgroundTabsOpenedViaContextMenuCount">
  <owner>pkotwicz@chromium.org</owner>
  <summary>
    Counts the number of background tabs opened via the context menu per page
    URL. The count is reset on each navigation of the parent tab. Zero counts
    are not recorded.
  </summary>
</histogram>

<histogram name="Tab.Close" units="ms">
  <summary>
    Time in milliseconds from trying to close the tab to actually closing it.
    Includes time that's spent in JS OnUnload handlers.
  </summary>
</histogram>

<histogram name="Tab.Close.UnloadTime" units="ms">
  <summary>
    Time in milliseconds from when JS OnUnload handlers have finished to
    actually closing tab. Doesn't include time that's spent in JS OnUnload
    handlers. If there are no UnLoad handlers, should be idential to Tab.Close.
  </summary>
</histogram>

<histogram name="Tab.Deactivation.Bookmarked" enum="Boolean">
  <obsolete>
    Deprecated 11/2016. No longer useful after finding out that it has no effect
    on tab reactivation rates.
  </obsolete>
  <owner>pmonette@chromium.org</owner>
  <summary>
    A tab was deactivated. Closing tabs are not included. This histogram also
    records if the tab's URL was bookmarked.
  </summary>
</histogram>

<histogram name="Tab.Deactivation.HadFormInteraction" enum="Boolean">
  <owner>pmonette@chromium.org</owner>
  <summary>
    A tab was deactivated. Closing tabs are not included. This histogram also
    records if the tab had any form interaction.
  </summary>
</histogram>

<histogram name="Tab.Deactivation.Pinned" enum="Boolean">
  <owner>pmonette@chromium.org</owner>
  <summary>
    A tab was deactivated. Closing tabs are not included. This histogram also
    records if the tab was pinned to the tab strip or not.
  </summary>
</histogram>

<histogram name="Tab.Discarding" enum="TabDiscardingEvents">
  <obsolete>
    Deprecated 10/2015, not needed anymore.
  </obsolete>
  <owner>georgesak@chromium.org</owner>
  <summary>
    Metric to track counts of actions related to tab discarding. Namely, we get
    an event for every tab switch, split into two groups, whether it was a
    discarded tab not. We also get an event whenever a tab gets discarded as
    well as when a tab that's playing audio gets discarded.
  </summary>
</histogram>

<histogram name="Tab.Discarding.DiscardCount" units="Discards">
  <obsolete>
    Deprecated 10/2015, and replaced by TabManager.Discarding.DiscardCount.
  </obsolete>
  <owner>georgesak@chromium.org</owner>
  <summary>
    Metric to track the number of discards tabs have gone through. Each time a
    tab is discarded, this histogram is recorded. Therefore, this metric is
    cumulative, ie. as a tab gets discarded over and over, it gets a hit in each
    bin (1, 2, 3...).
  </summary>
</histogram>

<histogram name="Tab.EvictedTabWasActive" enum="Boolean">
  <obsolete>
    Deprecated as of 10/2016.
  </obsolete>
  <owner>lliabraa@chromium.org</owner>
  <summary>
    [iOS] When switching to an evicted tab, this histogram records whether or
    not the tab had ever been active. For example, the tab was opened via
    &quot;Open in new tab&quot; but evicted before being viewed for the first
    time.
  </summary>
</histogram>

<histogram name="Tab.FormActivityCountEvictedHistogram">
  <obsolete>
    Deprecated as of 10/2016.
  </obsolete>
  <owner>lliabraa@chromium.org</owner>
  <summary>
    A count of form activity (e.g. fields selected, characters typed) in a tab.
    Recorded only for tabs that are evicted due to memory pressure and then
    selected again.
  </summary>
</histogram>

<histogram name="Tab.LostTabAgeWhenSwitchedToForeground" units="ms">
  <owner>pkotwicz@chromium.org</owner>
  <summary>
    [Android] When a tab that was opened in the background (e.g. via &quot;Open
    link in new tab&quot;) is evicted prior to the first time that it is shown,
    we record the tab's age at the time that the tab is shown.
  </summary>
</histogram>

<histogram name="Tab.NewTab" enum="NewTabType">
  <owner>lliabraa@chromium.org</owner>
  <owner>beaudoin@chromium.org</owner>
  <summary>
    Tracks the different ways users are opening new tabs. Does not apply to
    opening existing links or searches in a new tab, only to brand new empty
    tabs. Note: Currently the &quot;Regular menu option&quot; includes some
    programmatic actions in addition to user actions.
  </summary>
</histogram>

<histogram name="Tab.NewTabDOMContentLoaded" units="ms">
  <owner>lliabraa@chromium.org</owner>
  <owner>beaudoin@chromium.org</owner>
  <summary>
    The time for the new tab page to fire the &quot;DOMContentLoaded&quot;
    event.
  </summary>
</histogram>

<histogram name="Tab.NewTabOnload" units="ms">
  <owner>lliabraa@chromium.org</owner>
  <owner>beaudoin@chromium.org</owner>
  <summary>
    The time for the new tab page to fire the &quot;load&quot; event. Note: This
    is usually recorded with a suffix (.Local/Google/Other). The base version is
    recorded only on Android, as well as for the old NTP (&quot;NTP4&quot;) on
    other platforms.
  </summary>
</histogram>

<histogram name="Tab.NewTabScriptStart" units="ms">
  <owner>lliabraa@chromium.org</owner>
  <owner>beaudoin@chromium.org</owner>
  <summary>
    The time for the new tab page to start executing JavaScript.
  </summary>
</histogram>

<histogram name="Tab.PerceivedRestoreTime" units="ms">
  <owner>lliabraa@chromium.org</owner>
  <summary>
    User-perceived load time for a successful tab restore, measured from the
    first time the user sees the tab being restored until the load completes.
  </summary>
</histogram>

<histogram name="Tab.Reactivation.Bookmarked" enum="Boolean">
  <obsolete>
    Deprecated 11/2016. No longer useful after finding out that it has no effect
    on tab reactivation rates.
  </obsolete>
  <owner>pmonette@chromium.org</owner>
  <summary>
    A tab was reactivated after being hidden. This histogram also records if the
    tab's URL was bookmarked.
  </summary>
</histogram>

<histogram name="Tab.Reactivation.HadFormInteraction" enum="Boolean">
  <owner>pmonette@chromium.org</owner>
  <summary>
    A tab was reactivated after being hidden. This histogram also records if the
    tab had any form interaction.
  </summary>
</histogram>

<histogram name="Tab.Reactivation.Pinned" enum="Boolean">
  <owner>pmonette@chromium.org</owner>
  <summary>
    A tab was reactivated after being hidden. This histogram also records if the
    tab was pinned to the tab strip.
  </summary>
</histogram>

<histogram name="Tab.RendererCrashStatus" enum="TabRendererCrashStatus">
  <owner>jaekyun@chromium.org</owner>
  <summary>
    The status of a tab and an application when a renderer crashes. This is
    recorded only for Android when a renderer crashes.
  </summary>
</histogram>

<histogram name="Tab.RendererDetailedExitStatus"
    enum="ProcessDetailedExitStatus">
  <owner>wnwen@chromium.org</owner>
  <summary>
    Breakdown of renderer exit status for renderers that have strong bindings.
    An extension of the counts in Tab.RendererExitStatus. Only recorded on
    Android.
  </summary>
</histogram>

<histogram name="Tab.RendererDetailedExitStatusUnbound"
    enum="ProcessDetailedExitStatus">
  <owner>wnwen@chromium.org</owner>
  <summary>
    Breakdown of renderer exit status for renderers that do not have strong
    bindings. An extension of the counts in Tab.RendererExitStatus. Only
    recorded on Android.
  </summary>
</histogram>

<histogram name="Tab.RendererExitStatus" enum="TabRendererExitStatus">
  <owner>wnwen@chromium.org</owner>
  <summary>
    The status of a renderer when the browser notices that the process has
    exited. Only recorded on Android.
  </summary>
</histogram>

<histogram name="Tab.RestoreResult" enum="TabRestoreResult">
  <owner>lliabraa@chromium.org</owner>
  <summary>
    When the browser restores a tab, whether the load was successful. Loads can
    fail for instance when there is no connectivity.
  </summary>
</histogram>

<histogram name="Tab.RestoreTime" units="ms">
  <owner>lliabraa@chromium.org</owner>
  <summary>Load time for a successful tab restore.</summary>
</histogram>

<histogram name="Tab.RestoreUserPersistence" enum="TabRestoreUserAction">
  <owner>lliabraa@chromium.org</owner>
  <summary>
    When the browser restores a tab, whether the user waits for completion of
    the load or if the user gives up by switching to another tab or leaving
    Chrome.
  </summary>
</histogram>

<histogram name="Tab.StatusWhenDisplayed" enum="TabStatus">
  <owner>lliabraa@chromium.org</owner>
  <summary>
    The status of a tab collected each time the tab is displayed on Android,
    including user switching to the tab and displays of newly created tabs, such
    as NTP or tabs opened to handle intents.
  </summary>
</histogram>

<histogram name="Tab.StatusWhenSwitchedBackToForeground" enum="TabStatus">
  <owner>lliabraa@chromium.org</owner>
  <summary>
    The status of a tab collected each time the user switches to it on mobile.
    That does not include tabs being created at the time the user switches to
    them, such as NTP or tabs opened to handle intents.
  </summary>
</histogram>

<histogram name="Tab.StatusWhenSwitchedBackToForegroundDataProxyEnabled"
    enum="TabStatus">
  <owner>lliabraa@chromium.org</owner>
  <owner>marq@chromium.org</owner>
  <summary>
    The status of a tab collected each time the user switches to it on mobile
    with the data reduction proxy enabled. This is populated identically, and in
    addition to Tab.StatusWhenSwitchedBackToForeground for any given tab
    switching event if the proxy is enabled.
  </summary>
</histogram>

<histogram name="Tab.SwitchedToForegroundAge" units="ms">
  <owner>lliabraa@chromium.org</owner>
  <summary>Age (in ms) when the tab was switched to foreground.</summary>
</histogram>

<histogram name="Tab.SwitchedToForegroundLaunchedWithURL"
    enum="TabSwitchedToForegroundLaunchedWithURL">
  <obsolete>
    Deprecated as of 04/2014.
  </obsolete>
  <owner>lliabraa@chromium.org</owner>
  <summary>
    Each time a tab is brought to the foreground, this histogram indicates if
    chrome was launched without an URL (i.e., from the launcher), or with an URL
    (i.e., from another app).
  </summary>
</histogram>

<histogram name="Tab.SwitchedToForegroundMRURank">
  <obsolete>
    Deprecated as of 04/2014.
  </obsolete>
  <owner>lliabraa@chromium.org</owner>
  <summary>
    Rank in MRU order (0 being first) when the tab was switched to foreground.
  </summary>
</histogram>

<histogram name="Tab.SwitchedToForegroundNumTabs">
  <owner>lliabraa@chromium.org</owner>
  <summary>Count of all tabs when a tab is switched.</summary>
</histogram>

<histogram name="Tab.SwitchedToForegroundRevisit"
    enum="TabSwitchedToForegroundRevisit">
  <obsolete>
    Deprecated as of 04/2014.
  </obsolete>
  <owner>lliabraa@chromium.org</owner>
  <summary>
    Each time a tab is brought to the foreground, this histogram indicates if
    this is the first viewing of the tab since Chrome was put into foreground,
    or if it was a return to a tab that has already been shown in this session.
  </summary>
</histogram>

<histogram name="Tab.TimeSinceActive" units="ms">
  <obsolete>
    Deprecated as of 10/2016.
  </obsolete>
  <owner>lliabraa@chromium.org</owner>
  <summary>
    [iOS] When an existing tab becomes active, this histogram records the time
    since it was made inactive.
  </summary>
</histogram>

<histogram name="Tab.TimeSinceActiveEvicted" units="ms">
  <obsolete>
    Deprecated as of 10/2016.
  </obsolete>
  <owner>lliabraa@chromium.org</owner>
  <summary>
    [iOS] When an evicted tab becomes active, this histogram records the time
    since it was made inactive.
  </summary>
</histogram>

<histogram name="Tab.TimeSinceFormActivityEvictedHistogram" units="ms">
  <obsolete>
    Deprecated as of 10/2016.
  </obsolete>
  <owner>lliabraa@chromium.org</owner>
  <summary>
    Time elapsed since there was form activity (e.g. fields selected, characters
    typed) in a tab. Recorded only for tabs that are evicted due to memory
    pressure and then selected again.
  </summary>
</histogram>

<histogram name="Tab.TimeToReactivation.Important" units="ms">
  <owner>pmonette@chromium.org</owner>
  <summary>
    The time elapsed from the moment a tab was deactivated until it was
    reactivated. Only recorded for tabs that are pinned or had form interaction.
  </summary>
</histogram>

<histogram name="Tab.TimeToReactivation.Normal" units="ms">
  <owner>pmonette@chromium.org</owner>
  <summary>
    The time elapsed from the moment a tab was deactivated until it was
    reactivated. Only recorded for tabs that are not pinned nor had form
    interaction.
  </summary>
</histogram>

<histogram name="Tab.TotalTabCount.BeforeLeavingApp" units="tabs">
  <owner>jaekyun@chromium.org</owner>
  <summary>
    The total count of tabs which were kept while Chrome process is in the
    foreground. This is recorded only for Android right before Chrome process
    goes into the background.
  </summary>
</histogram>

<histogram name="TabManager.Discarding.DiscardCount" units="Discards">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Cumulative number of tabs discarded due to low memory conditions, recorded
    once per tab discard event.  For example, a user who had 3 tabs discarded
    records a count in the 1 bin, 2 bin and 3 bin.  Thus each bin N is the
    number of sessions where users experienced N or more tab discard events.
  </summary>
</histogram>

<histogram name="TabManager.Discarding.DiscardedEngagementScore">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Site engagement score of a discarded tab. Recorded for each discard if the
    score is available.
  </summary>
</histogram>

<histogram name="TabManager.Discarding.DiscardedTabHasBeforeUnloadHandler"
    enum="Boolean">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Recorded for each discarding, allowing us to know whether the discarded tab
    had a before unload handler or not.
  </summary>
</histogram>

<histogram name="TabManager.Discarding.DiscardToReloadTime" units="ms">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Elapsed time between a tab getting discarded to eventually being reloaded by
    the user.
  </summary>
</histogram>

<histogram name="TabManager.Discarding.InactiveToReloadTime" units="ms">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Elapsed time between the time a tab switched from being active to inactive
    (that eventually gets discarded) until it gets reloaded.
  </summary>
</histogram>

<histogram name="TabManager.Discarding.ReloadCount" units="Reloads">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Cumulative number of discarded tabs that have been reloaded by the user,
    recorded once per tab discard event. For example, a user who had 3 tabs
    reloaded records a count in the 1 bin, 2 bin and 3 bin. Thus each bin N is
    the number of sessions where users experienced N or more tab reload events.
  </summary>
</histogram>

<histogram name="TabManager.Discarding.ReloadedEngagementScore">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Site engagement score of a reloaded tab. Recorded for each reload if the
    score is available. Note that this will be the same score the tab had when
    discarded (which could have changed by the time it gets reloaded).
  </summary>
</histogram>

<histogram name="TabManager.Discarding.ReloadToCloseTime" units="ms">
  <owner>georgesak@chromium.org</owner>
  <summary>
    Elapsed time between the last time a discarded tab was reloaded and the time
    it gets closed.
  </summary>
</histogram>

<histogram name="Tabs.CountAtResume" units="tabs">
  <owner>lliabraa@chromium.org</owner>
  <summary>
    The number of tabs open when the app comes out of the background.
  </summary>
</histogram>

<histogram name="Tabs.CountAtStartup" units="tabs">
  <owner>lliabraa@chromium.org</owner>
  <summary>The number of tabs open at cold launch.</summary>
</histogram>

<histogram name="Tabs.Discard.DiscardCount">
  <obsolete>
    Deprecated 10/2015, and replaced by TabManager.Discarding.DiscardCount.
  </obsolete>
  <owner>jamescook@chromium.org</owner>
  <summary>
    Cumulative number of tabs discarded due to low memory conditions, recorded
    once per tab discard event.  For example, a user who had 3 tabs discarded
    records a count in the 1 bin, 2 bin and 3 bin.  Thus each bin N is the
    number of sessions where users experienced N or more tab discard events.
  </summary>
</histogram>

<histogram name="Tabs.Discard.DiscardInLastMinute" enum="BooleanTabDiscard">
  <owner>jamescook@chromium.org</owner>
  <summary>
    Whether or not a tab was discarded in the last minute of usage. Total count
    is number of minutes of device usage. 100 / discard percentage gives the
    average number of minutes between discard events.
  </summary>
</histogram>

<histogram name="Tabs.Discard.InitialTime" units="seconds">
  <obsolete>
    Deprecated May 4, 2012.  Replaced by Tabs.Discard.InitialTime2 because this
    stat had too low of a range maximum.  No longer tracked.
  </obsolete>
  <owner>jamescook@chromium.org</owner>
  <summary>
    Time in seconds between system startup and when the first tab is discarded
    due to low memory conditions.  Higher is better.
  </summary>
</histogram>

<histogram name="Tabs.Discard.InitialTime2" units="seconds">
  <owner>jamescook@chromium.org</owner>
  <summary>
    Time in seconds between system startup and when the first tab is discarded
    due to low memory conditions.  Higher is better.  Range maximum is
    approximately one day.
  </summary>
</histogram>

<histogram name="Tabs.Discard.IntervalTime" units="seconds">
  <obsolete>
    Deprecated May 4, 2012.  Replaced by Tabs.Discard.IntervalTime2 because this
    stat had too low of a range maximum.  No longer tracked.
  </obsolete>
  <owner>jamescook@chromium.org</owner>
  <summary>
    Time in seconds between tab discard events after the first one, recorded
    once per discard event.  Higher is better.
  </summary>
</histogram>

<histogram name="Tabs.Discard.IntervalTime2" units="ms">
  <owner>jamescook@chromium.org</owner>
  <summary>
    Time in milliseconds between tab discard events after the first one,
    recorded once per discard event.  Should occur no faster than once every 750
    ms.  Higher is better.
  </summary>
</histogram>

<histogram name="Tabs.Discard.MemAllocatedMB" units="MB">
  <owner>jamescook@chromium.org</owner>
  <summary>
    System-wide memory allocation at the time a tab was discarded, roughly
    equivalent to the sum of memory allocated with malloc() in userspace plus
    graphics driver memory.
  </summary>
</histogram>

<histogram name="Tabs.Discard.MemAnonymousMB" units="MB">
  <obsolete>
    Deprecated December 7, 2012.  Replaced by Tabs.Discard.MemAllocatedMB
    because this stat has insufficient precision in the 2-4 GB range and does
    not properly account for graphics memory on ARM.
  </obsolete>
  <owner>jamescook@chromium.org</owner>
  <summary>
    System-wide anonymous memory allocation at the time a tab was discarded,
    roughly equivalent to memory allocated with malloc().
  </summary>
</histogram>

<histogram name="Tabs.Discard.MemAvailableMB" units="MB">
  <owner>jamescook@chromium.org</owner>
  <summary>
    System-wide file-backed memory plus free memory, roughly equivalent to what
    the kernel uses to trigger low-memory notifications for tab discards. If
    lower than the kernel's threshold then we are not effectively freeing memory
    in response to the initial notification and are repeatedly being notified.
  </summary>
</histogram>

<histogram name="Tabs.Discard.MemGraphicsMB" units="MB">
  <owner>jamescook@chromium.org</owner>
  <summary>
    Graphics driver (GEM object) memory at the time of a tab discard.
  </summary>
</histogram>

<histogram name="Tabs.Discard.MemShmemMB" units="MB">
  <owner>jamescook@chromium.org</owner>
  <summary>
    System-wide shared memory at the time of a tab discard. Used primarily for
    shared buffers in the graphics system. Tracked because it's a historical
    source of leaks on Chrome OS.
  </summary>
</histogram>

<histogram name="Tabs.Discard.ReloadCount">
  <obsolete>
    Deprecated 10/2015, and replaced by TabManager.Discarding.ReloadCount.
  </obsolete>
  <owner>jamescook@chromium.org</owner>
  <summary>
    Cumulative number of times a tab was reloaded because it was discarded and
    the user clicked on it later, recorded once per reload event.  For example,
    a user who clicks on 3 discarded tabs will record a count in the 1 bin, 2
    bin, and 3 bin.  Thus each bin N is the number of sessions where users
    experienced N or more reload events.  Compare to Tabs.Discard.DiscardCount.
  </summary>
</histogram>

<histogram name="Tabs.Discard.TabCount" units="tabs">
  <owner>jamescook@chromium.org</owner>
  <summary>
    The number of tabs open across all browser windows when a tab was discarded
    due to low memory conditions.
  </summary>
</histogram>

<histogram name="Tabs.FineTiming.TimeBetweenTabClosedAndNextTabCreated"
    units="ms">
  <owner>joenotcharles@chromium.org</owner>
  <summary>
    Fine-grained (in msec) time between closing a tab and opening another, to
    track very frequent tabs.
  </summary>
</histogram>

<histogram name="Tabs.FineTiming.TimeBetweenTabCreatedAndNextTabCreated"
    units="ms">
  <owner>joenotcharles@chromium.org</owner>
  <summary>
    Fine-grained (in msec) time between opening a tab and opening another, to
    track very frequent tabs.
  </summary>
</histogram>

<histogram name="Tabs.FineTiming.TimeBetweenTabCreatedAndSameTabClosed"
    units="ms">
  <owner>joenotcharles@chromium.org</owner>
  <summary>
    Fine-grained (in msec) time between opening a tab and closing it, to track
    very short-lived tabs.
  </summary>
</histogram>

<histogram name="Tabs.FirstSwitchedToForegroundCreationRank">
  <owner>pkotwicz@chromium.org</owner>
  <summary>
    Records the &quot;Tab Creation Rank&quot; for the first background tab which
    was switched to the foreground. The &quot;Tab Creation Rank&quot; is
    relative to other background tabs which were opened from the same URL via
    the context menu. The oldest background tab has a rank of zero.
  </summary>
</histogram>

<histogram name="Tabs.FirstSwitchedToForegroundCreationReverseRank">
  <owner>pkotwicz@chromium.org</owner>
  <summary>
    Records the &quot;Reverse Tab Creation Rank&quot; for the first background
    background tab which was switched to the foreground. The &quot;Reverse Tab
    Creation Rank&quot; is relative to other background tabs which were opened
    from the same URL via the context menu. The newest background tab has a
    &quot;Reverse Tab Creation Rank&quot; of zero.
  </summary>
</histogram>

<histogram name="Tabs.ForegroundTabAgeAtStartup" units="minutes">
  <owner>lliabraa@chromium.org</owner>
  <summary>
    Age (time since the last display in previous sessions) of the foreground tab
    being restored on the browser cold start.
  </summary>
</histogram>

<histogram name="Tabs.iOS_PostRedirectPLT" units="ms">
  <owner>pauljensen@chromium.org</owner>
  <summary>
    Page load time (PLT) for iOS that does not include time spent following
    redirects. On other platforms this is calculated from Navigation Timings but
    on iOS Navigation Timings are not available so we're recreating a
    calculation similar to PLT.PT_RequestToFinish but not including time spent
    following redirects. This metric represents the time between when navigation
    is initiated (prior to DNS, TCP connect, etc but after following redirects)
    until loading ends (i.e. JS onload event). On non-iOS Chrome this is
    (performance.timing.loadEventEnd - performance.timing.redirectEnd). On
    Chrome for iOS we're calculating the time between the creation of the
    top-level URLRequest and when webDidFinishWithURL is called.
  </summary>
</histogram>

<histogram name="Tabs.SadTab.CrashCreated" units="tabs">
  <owner>jamescook@chromium.org</owner>
  <summary>
    Cumulative number of times a tab crashed with &quot;Aw, Snap!&quot;,
    recorded once per tab crash event.  For example, a user who crashed 3 tabs
    will record a count in the 1 bin, 2 bin, and 3 bin.  Thus each bin N is the
    number of sessions where users experienced N or more crash events.  The user
    may not have actually seen the sad tab page, as it might have been an
    inactive tab. Compare to Tabs.SadTab.CrashDisplayed.
  </summary>
</histogram>

<histogram name="Tabs.SadTab.CrashDisplayed" units="tabs">
  <owner>jamescook@chromium.org</owner>
  <summary>
    Cumulative number of times a tab crashed with &quot;Aw, Snap!&quot; and the
    user saw the page, recorded once per tab crash event.  For example, a user
    who crashed 3 tabs will record a count in the 1 bin, 2 bin, and 3 bin.  Thus
    each bin N is the number of sessions where users experienced N or more crash
    events.  Compare to Tabs.SadTab.CrashCreated.
  </summary>
</histogram>

<histogram name="Tabs.SadTab.Feedback.Event" enum="SadTabEvent">
  <owner>sdy@chromium.org</owner>
  <summary>
    Counts of events from the style of sad tab which has a feedback button as
    its primary action. Currently, events include being displayed (actually
    visible in a window), and the actions a user can take on the page.
  </summary>
</histogram>

<histogram name="Tabs.SadTab.KillCreated" units="tabs">
  <owner>jamescook@chromium.org</owner>
  <summary>
    Cumulative number of times a tab was killed with a &quot;He's dead,
    Jim!&quot; page, which is usually due to the renderer being killed, recorded
    once per tab kill event.  For example, a user who loses 3 tabs will record a
    count in the 1 bin, 2 bin, and 3 bin.  Thus each bin N is the number of
    sessions where users experienced N or more kill events.  The user may not
    have actually seen the sad tab page, as it might have been an inactive tab.
    Compare to Tabs.SadTab.KillDisplayed. This can happen due to out of memory,
    malformed IPC messages, or a SIGINT/TERM/KILL signal sent by a user.
  </summary>
</histogram>

<histogram name="Tabs.SadTab.KillCreated.OOM" units="tabs">
  <owner>oshima@chromium.org</owner>
  <summary>
    Cumulative number of times a tab was killed with a &quot;He's dead,
    Jim!&quot; page due to the kernel out-of-memory killer, recorded once per
    tab kill event.  For example, a user who loses 3 tabs will record a count in
    the 1 bin, 2 bin, and 3 bin.  Thus each bin N is the number of sessions
    where users experienced N or more kill events.  The user may not have
    actually seen the sad tab page, as it might have been an inactive tab.
    Compare to Tabs.SadTab.KillDisplayed.
  </summary>
</histogram>

<histogram name="Tabs.SadTab.KillDisplayed" units="tabs">
  <owner>jamescook@chromium.org</owner>
  <summary>
    Cumulative number of times a tab was killed with a &quot;He's dead,
    Jim!&quot; page and the user saw the page, recorded once per tab kill event.
    For example, a user who loses 3 tabs will record a count in the 1 bin, 2
    bin, and 3 bin. Thus each bin N is the number of sessions where users
    experienced N or more kill events.  Compare to Tabs.SadTab.CrashCreated.
  </summary>
</histogram>

<histogram name="Tabs.SadTab.KillDisplayed.OOM" units="tabs">
  <owner>oshima@chromium.org</owner>
  <summary>
    Cumulative number of times a tab was killed with a &quot;He's dead,
    Jim!&quot; page due to the kernel out-of-memory killer and the user saw the
    page, recorded once per tab kill event.  For example, a user who loses 3
    tabs will record a count in the 1 bin, 2 bin, and 3 bin. Thus each bin N is
    the number of sessions where users experienced N or more kill events.
    Compare to Tabs.SadTab.CrashCreated.
  </summary>
</histogram>

<histogram name="Tabs.SadTab.OomCreated" units="tabs">
  <owner>wfh@chromium.org</owner>
  <summary>
    Cumulative number of times a tab crashed with &quot;Aw, Snap!&quot;,
    recorded once per tab oom event.  For example, a user who ran out of memory
    in 3 tabs will record a count in the 1 bin, 2 bin, and 3 bin.  Thus each bin
    N is the number of sessions where users experienced N or more oom events.
    The user may not have actually seen the sad tab page, as it might have been
    an inactive tab. Compare to Tabs.SadTab.OomDisplayed.
  </summary>
</histogram>

<histogram name="Tabs.SadTab.OomDisplayed" units="tabs">
  <owner>wfh@chromium.org</owner>
  <summary>
    Cumulative number of times a tab ran out of memory with &quot;Aw,
    Snap!&quot; and the user saw the page, recorded once per tab oom event.  For
    example, a user who ran out of memory in 3 tabs will record a count in the 1
    bin, 2 bin, and 3 bin.  Thus each bin N is the number of sessions where
    users experienced N or more oom events.  Compare to Tabs.SadTab.OomCreated.
  </summary>
</histogram>

<histogram name="Tabs.SadTab.Reload.Event" enum="SadTabEvent">
  <owner>sdy@chromium.org</owner>
  <summary>
    Counts of events from the style of sad tab which has a reload button as its
    primary action. Compare to Tabs.SadTab.Feedback.Event.
  </summary>
</histogram>

<histogram name="Tabs.SadTab.ReloadCount" units="tabs">
  <owner>jamescook@chromium.org</owner>
  <summary>
    The number of times a tab was reloaded because it was killed (usually by the
    kernel OOM killer) and the user clicked on it later, recorded once per
    reload event.  For example, a user who clicks on 3 discarded tabs will
    record a count in the 1 bin, 2 bin, and 3 bin.  Thus each bin N is the
    number of sessions where users experienced N or more reload events.  Compare
    to Tabs.Discard.DiscardCount.
  </summary>
</histogram>

<histogram name="Tabs.ScrubDistance" units="tabs">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The distance a user 3 finger scrubbed to change tabs. Always positive
    (ignores left / right).
  </summary>
</histogram>

<histogram name="Tabs.SpeculativeRestoreApplicability"
    enum="SpeculativeRestoreApplicability">
  <owner>lliabraa@chromium.org</owner>
  <summary>
    Applicability of speculative tab restore, recorded every time a tab is
    switched. This allows to estimate the fraction of tab restores experienced
    on mobile that can be mitigated using speculative restore. Options higher in
    the enum take precedence over the lower ones (i.e. low-memory tablet will be
    accounted as tablet).
  </summary>
</histogram>

<histogram name="Tabs.SpeculativeRestorePredictionAccuracy.SideSwipe"
    enum="SpeculativeRestorePredictionAccuracy">
  <owner>lliabraa@chromium.org</owner>
  <summary>
    Accuracy of the tab switch predictions made when the user begins the side
    swipe gesture.
  </summary>
</histogram>

<histogram name="Tabs.SpeculativeRestorePredictionAccuracy.TabSwitcher"
    enum="SpeculativeRestorePredictionAccuracy">
  <owner>lliabraa@chromium.org</owner>
  <summary>
    Accuracy of the tab switch predictions made when the user enters the tab
    switcher.
  </summary>
</histogram>

<histogram name="Tabs.SpeculativeRestoreTargetStatus"
    enum="SpeculativeRestoreTabStatus">
  <owner>lliabraa@chromium.org</owner>
  <summary>
    Status of a tab recorded when the tab is targeted with speculative restore.
  </summary>
</histogram>

<histogram name="Tabs.SpeculativeRestoreTimeAhead.SideSwipe" units="ms">
  <owner>lliabraa@chromium.org</owner>
  <summary>
    Time between starting the speculative load and actual tab switch for correct
    speculative load predictions made when the user begins the side swipe
    gesture.
  </summary>
</histogram>

<histogram name="Tabs.SpeculativeRestoreTimeAhead.TabSwitcher" units="ms">
  <owner>lliabraa@chromium.org</owner>
  <summary>
    Time between starting the speculative load and actual tab switch for correct
    speculative load predictions made when the user enters the tab switcher.
  </summary>
</histogram>

<histogram name="Tabs.StateTransfer.NumberOfOtherTabsActivatedBeforeMadeActive"
    units="tabs">
  <owner>kouhei@chromium.org</owner>
  <owner>tzik@chromium.org</owner>
  <summary>
    Recorded once per tab activation. The number of tabs that were activated
    while the tab was inactive.
  </summary>
  <details>
    This metric is to be removed after M46 hits stable. We don't expect this
    metric to change over release, so we will remove this once we have the
    numbers from stable.
  </details>
</histogram>

<histogram name="Tabs.StateTransfer.TabDistanceInactiveToActive" units="tabs">
  <owner>kouhei@chromium.org</owner>
  <owner>tzik@chromium.org</owner>
  <summary>
    Number of tabs between the previously active tab and the new active tab.
  </summary>
  <details>
    This metric is to be removed after M46 hits stable. We don't expect this
    metric to change over release, so we will remove this once we have the
    numbers from stable.
  </details>
</histogram>

<histogram name="Tabs.StateTransfer.Target" enum="TabStripState">
  <owner>kouhei@chromium.org</owner>
  <owner>tzik@chromium.org</owner>
  <summary>
    The state to which a tab transitioned. Recorded when a tab transitions from
    the state in the histogram name to a new state.
  </summary>
  <details>
    kouhei@ and tzik@ will remove some variation of these once M46 hits stable.
  </details>
</histogram>

<histogram name="Tabs.StateTransfer.Time" units="ms">
  <owner>kouhei@chromium.org</owner>
  <owner>tzik@chromium.org</owner>
  <summary>
    Tabs.StateTransfer.TimeA_B measures the time a tab was in state A before it
    transferred to state B.
  </summary>
  <details>
    kouhei@ and tzik@ will remove some variation of these once M46 hits stable.
  </details>
</histogram>

<histogram name="Tabs.SwitchFromCloseLatency" units="ms">
  <owner>simonb@chromium.org</owner>
  <summary>
    Time between the event that closes a tab and the start of rendering.
  </summary>
</histogram>

<histogram name="Tabs.SwitchFromExitLatency" units="ms">
  <owner>simonb@chromium.org</owner>
  <summary>
    Time between the event that exits an app and the start of rendering.
  </summary>
</histogram>

<histogram name="Tabs.SwitchFromNewLatency" units="ms">
  <owner>simonb@chromium.org</owner>
  <summary>
    Time between the event that creates a tab and the start of rendering.
  </summary>
</histogram>

<histogram name="Tabs.SwitchFromUserLatency" units="ms">
  <owner>simonb@chromium.org</owner>
  <summary>
    Time between the event that selects a tab and the start of rendering.
  </summary>
</histogram>

<histogram name="Tabs.TabCountActiveWindow" units="Tabs">
  <owner>bruthig@chromium.org</owner>
  <owner>tdanderson@chromium.org</owner>
  <summary>
    The number of tabs open in the active window when a load completes.
  </summary>
</histogram>

<histogram name="Tabs.TabCountPerLoad" units="Tabs">
  <owner>bruthig@chromium.org</owner>
  <owner>tdanderson@chromium.org</owner>
  <summary>
    The number of tabs open in all browsers (counting app-mode windows) when a
    load completes.
  </summary>
  <details>
    This is basically the average number of tabs over time.

    See also MPArch.RPHCountPerLoad for the number of processes used by these
    tabs.
  </details>
</histogram>

<histogram name="Tabs.TabCountPerWindow" units="Tabs">
  <owner>bruthig@chromium.org</owner>
  <owner>tdanderson@chromium.org</owner>
  <summary>
    The number of tabs open per window (counting app-mode windows) when a load
    completes.
  </summary>
  <details>
    This value will be recorded multiple times per load if more than one window
    is open.
  </details>
</histogram>

<histogram name="TabsApi.RequestedWindowState" enum="RequestedWindowState">
  <owner>afakhry@chromium.org</owner>
  <summary>
    The requested window creation state from the tabs extensions API when it's
    used to create a new window or update the state of an existing one.
  </summary>
</histogram>

<histogram name="TaskScheduler.BlockShutdownTasksPostedDuringShutdown"
    units="tasks">
  <owner>fdoray@chromium.org</owner>
  <summary>
    Number of BLOCK_SHUTDOWN tasks that were posted to a base::TaskScheduler
    after its Shutdown() method was called but before it returned.
  </summary>
</histogram>

<histogram name="TaskScheduler.DetachDuration" units="ms">
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <owner>robliao@chromium.org</owner>
  <summary>
    Time elapsed between when the thread managed by a SchedulerWorker is
    detached and when the main function of a new thread managed by the same
    SchedulerWorker is entered (following a wake up). Recorded each time that a
    thread is recreated for a given SchedulerWorker.
  </summary>
</histogram>

<histogram name="TaskScheduler.NumTasksBeforeDetach" units="tasks">
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <owner>robliao@chromium.org</owner>
  <summary>
    Number of tasks executed by a SchedulerWorker before it detached. Recorded
    when a SchedulerWorker detaches.
  </summary>
</histogram>

<histogram name="TaskScheduler.NumTasksBetweenWaits" units="tasks">
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <owner>robliao@chromium.org</owner>
  <summary>
    Number of tasks executed by a SchedulerWorker between two waits on its
    WaitableEvent. This should be maximized without affecting perceived browser
    performance.
  </summary>
</histogram>

<histogram name="TaskScheduler.TaskLatency" units="ms">
  <owner>fdoray@chromium.org</owner>
  <owner>gab@chromium.org</owner>
  <owner>robliao@chromium.org</owner>
  <summary>
    Time elapsed between when a task is posted and when it starts to run.
    Recorded for each task that runs inside the TaskScheduler.
  </summary>
</histogram>

<histogram name="ThirdPartyModules.Certificates.Microsoft" units="certificates">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The total number of certificates for modules loaded (or potentially loaded)
    into the browser process that are signed by Microsoft. A catalog counts as a
    single certificate, and may refer to many modules. Measured shortly after
    startup. Windows only.
  </summary>
</histogram>

<histogram name="ThirdPartyModules.Certificates.Total" units="certificates">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The total number of certificates for modules loaded (or potentially loaded)
    into the browser process. A catalog counts as a single certificate, and may
    refer to many modules. Measured shortly after startup. Windows only.
  </summary>
</histogram>

<histogram name="ThirdPartyModules.Modules.Loaded" units="modules">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The total number of third-party modules (neither Microsoft nor Google) that
    are loaded in the browser process. Measured shortly after startup. Windows
    only.
  </summary>
</histogram>

<histogram name="ThirdPartyModules.Modules.NotLoaded" units="modules">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The total number of third-party modules (neither Microsoft nor Google) that
    are not yet loaded in the browser process, but may potentially be (shell
    extensions, for example). Measured shortly after startup. Windows only.
  </summary>
</histogram>

<histogram name="ThirdPartyModules.Modules.Signed" units="modules">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The total number of signed modules loaded (or potentially loaded) into the
    browser process. Measured shortly after startup. Windows only.
  </summary>
</histogram>

<histogram name="ThirdPartyModules.Modules.Signed.Catalog" units="modules">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The total number of modules loaded (or potentially loaded) into the browser
    process that are signed via a catalog. Measured shortly after startup.
    Windows only.
  </summary>
</histogram>

<histogram name="ThirdPartyModules.Modules.Signed.Microsoft" units="modules">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The total number of modules loaded (or potentially loaded) into the browser
    process that are signed by Microsoft. Measured shortly after startup.
    Windows only.
  </summary>
</histogram>

<histogram name="ThirdPartyModules.Modules.Total" units="modules">
  <owner>chrisha@chromium.org</owner>
  <summary>
    The total number of modules loaded (or potentially loaded) into the browser
    process. Measured shortly after startup. Windows only.
  </summary>
</histogram>

<histogram name="ThreadWatcher.ResponseTime" units="ms">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    The time it takes indicated thread to respond with a pong message for a ping
    message from WatchDog thread.
  </summary>
</histogram>

<histogram name="ThreadWatcher.ResponsiveThreads">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    This is the total number of watched threads that are responding when we got
    no response from the watched thread.
  </summary>
</histogram>

<histogram name="ThreadWatcher.Unresponsive" units="ms">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    This is the total unresponsive time since last pong message for the
    indicated thread when we got no response from the watched thread.
  </summary>
</histogram>

<histogram name="ThreadWatcher.UnresponsiveThreads">
  <owner>rtenneti@chromium.org</owner>
  <summary>
    This is the total number of watched threads that are not responding when we
    got no response from the watched thread.
  </summary>
</histogram>

<histogram name="TileManager.ExceededMemoryBudget" enum="TileMemoryBudget">
  <owner>reveman@chromium.org</owner>
  <owner>vmpstr@chromium.org</owner>
  <summary>
    Measures whether the tile manager exceeded the hard GPU memory budget
    (OOMed). Recorded each time the tile manager assigns GPU memory to tiles.
  </summary>
</histogram>

<histogram name="TimeZone.TimeZoneRequest.Event" enum="TimeZoneRequestEvent">
  <summary>Events in TimeZoneRequest.</summary>
</histogram>

<histogram name="TimeZone.TimeZoneRequest.ResponseCode" enum="HttpResponseCode">
  <summary>Http response codes in TimeZoneRequest.</summary>
</histogram>

<histogram name="TimeZone.TimeZoneRequest.ResponseFailureTime" units="ms">
  <summary>
    The time elapsed between the sending of the first API request and the time
    the final (failed) response was recorded. Includes all retries.
  </summary>
</histogram>

<histogram name="TimeZone.TimeZoneRequest.ResponseSuccessTime" units="ms">
  <summary>
    The time elapsed between the sending of the first API request and the time
    the final (successfull) response was recorded. Includes all retries.
  </summary>
</histogram>

<histogram name="TimeZone.TimeZoneRequest.Result" enum="TimeZoneRequestResult">
  <summary>Result of TimeZoneRequest.</summary>
</histogram>

<histogram name="TimeZone.TimeZoneRequest.Retries">
  <summary>Number of retries until the final response was recorded.</summary>
</histogram>

<histogram name="Toolbar.ActionsModel.ComponentActionsCount">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of component action icons the Browser Actions Container knows
    about (visible or in the overflow bucket). Does not count icons that have
    been permanently hidden by the user. Measured once per startup per
    (non-incognito) profile.
  </summary>
</histogram>

<histogram name="Toolbar.ActionsModel.OverallActionsCount">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The total number of action icons the Browser Actions Container knows about
    (visible or in the overflow bucket). Does not count icons that have been
    permanently hidden by the user. Measured once per startup per
    (non-incognito) profile.
  </summary>
</histogram>

<histogram name="Toolbar.ActionsModel.ToolbarActionsVisible">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of visible toolbar icons in the Browser Actions Container
    (visible as in number of icons not in the overflow bucket). 0 means all
    icons are in the overflow bucket. MAX_INT means the toolbar is always
    showing all icons. Measured once per startup per (non-incognito) profile but
    only for those profiles that have one or more browser actions showing in the
    toolbar.
  </summary>
</histogram>

<histogram name="Toolbar.AppMenuTimeToAction" units="ms">
  <owner>rdevlin.cronin@chromium.org</owner>
  <summary>
    The number of millseconds between when the user opens the app menu and when
    the app menu is closed. Logged once per app menu run when the menu closes.
    Not recorded for menu runs that are initiated by a drag-and-drop sequence.
    Note that the code paths for Views-platforms vs Mac are different, so cross-
    platform comparison may not always be reasonable.
  </summary>
</histogram>

<histogram name="TopSites.NumberOfApplyBlacklist">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>The number of times TopSitesImpl::ApplyBlacklist is called.</summary>
</histogram>

<histogram name="TopSites.NumberOfBlacklistedItems">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of items in the user Most Visited blacklist every time
    TopSitesImpl::ApplyBlacklist is called.
  </summary>
</histogram>

<histogram name="TouchBar.Default.Metrics" enum="DefaultTouchBarActions">
  <owner>spqchan@chromium.com</owner>
  <summary>Tracks the usage of the default touch bar buttons.</summary>
</histogram>

<histogram name="Touchpad.Device" enum="TouchpadDeviceState">
  <owner>pthammaiah@google.com</owner>
  <summary>Tracks touchpad device state.</summary>
</histogram>

<histogram name="Touchpad.Metrics" enum="TouchpadProblemType">
  <owner>pthammaiah@google.com</owner>
  <summary>
    Tracks unusual CrOS touchpad operational states (e.g. running into the noisy
    ground issue). This is sampled at every touchpad event.
  </summary>
</histogram>

<histogram name="Touchpad.NaturalScroll.Changed" enum="BooleanEnabled">
  <owner>pthammaiah@google.com</owner>
  <summary>Tracks touchpad natural scroll setting changes by the user.</summary>
</histogram>

<histogram name="Touchpad.NaturalScroll.Started" enum="BooleanEnabled">
  <owner>pthammaiah@google.com</owner>
  <summary>Tracks touchpad natural scroll setting on startup.</summary>
</histogram>

<histogram name="Touchpad.PointerSensitivity.Changed" enum="PointerSensitivity">
  <owner>pthammaiah@google.com</owner>
  <summary>
    Tracks touchpad sensitivity setting changes by the user. This replaces the
    old Touchpad.Sensitivity.Changed metric.
  </summary>
</histogram>

<histogram name="Touchpad.PointerSensitivity.Started" enum="PointerSensitivity">
  <owner>pthammaiah@google.com</owner>
  <summary>
    Tracks touchpad sensitivity setting on startup. This replaces the old
    Touchpad.Sensitivity.Started metric.
  </summary>
</histogram>

<histogram name="Touchpad.Sensitivity.Changed" enum="PointerSensitivity">
  <obsolete>
    Deprecated as of 6/2013, replaced by Touchpad.PointerSensitivity.Changed.
  </obsolete>
  <owner>pthammaiah@google.com</owner>
  <summary>Tracks touchpad sensitivity setting changes by the user.</summary>
</histogram>

<histogram name="Touchpad.Sensitivity.Started" enum="PointerSensitivity">
  <obsolete>
    Deprecated as of 6/2013, replaced by Touchpad.PointerSensitivity.Started.
  </obsolete>
  <owner>pthammaiah@google.com</owner>
  <summary>Tracks touchpad sensitivity setting on startup.</summary>
</histogram>

<histogram name="Touchpad.TapDragging.Changed" enum="BooleanEnabled">
  <owner>pthammaiah@google.com</owner>
  <summary>Tracks touchpad TapDragging setting changes by the user.</summary>
</histogram>

<histogram name="Touchpad.TapDragging.Started" enum="BooleanEnabled">
  <owner>pthammaiah@google.com</owner>
  <summary>Tracks touchpad TapDragging setting on startup.</summary>
</histogram>

<histogram name="Touchpad.TapToClick.Changed" enum="BooleanEnabled">
  <owner>pthammaiah@google.com</owner>
  <summary>Tracks touchpad TapToClick setting changes by the user.</summary>
</histogram>

<histogram name="Touchpad.TapToClick.Started" enum="BooleanEnabled">
  <owner>pthammaiah@google.com</owner>
  <summary>Tracks touchpad TapToClick setting on startup.</summary>
</histogram>

<histogram name="Touchpad.ThreeFingerSwipe.Changed" enum="BooleanEnabled">
  <obsolete>
    Deprecated as of 7/2013.
  </obsolete>
  <owner>pthammaiah@google.com</owner>
</histogram>

<histogram name="Touchpad.ThreeFingerSwipe.Started" enum="BooleanEnabled">
  <obsolete>
    Deprecated as of 7/2013.
  </obsolete>
  <owner>pthammaiah@google.com</owner>
</histogram>

<histogram name="Touchscreen.TapDisambiguation" enum="TapDisambiguation">
  <owner>aelias@chromium.org</owner>
  <summary>
    How the user interacted with the tap disambiguation feature on Android.
  </summary>
</histogram>

<histogram name="Touchscreen.TouchEventsEnabled"
    enum="TouchEventFeatureDetectionState">
  <owner>tdresser@chromium.org</owner>
  <summary>
    Tracks whether Touch Event Feature Detection is enabled. This is based on
    the touch events enabled flag and the presence of a touchscreen.

    Team: input-dev@chromium.org.
  </summary>
  <details>
    NOTE: This metric was incorrectly recorded on ChromeOS for versions 42
    through 45, see http://crbug.com/499476 for more details. As of
    http://crbug.com/644318, we changed the internal name to
    TouchEventFeatureDetection, but we still keep the old histogram name here to
    keep consistensy.
  </details>
</histogram>

<histogram name="TPM.EarlyResetDuringCommand" units="count">
  <owner>semenzato@google.com</owner>
  <summary>
    Reported at boot if the previous boot session was interrupted in the middle
    of a TPM command during the first 30 seconds of uptime.
  </summary>
</histogram>

<histogram name="Tracing.Background.FinalizingTraceSizeInKB" units="KB">
  <owner>oysteine@chromium.org</owner>
  <summary>
    The size, in kilobytes, of a finalized trace ready to be uploaded.
  </summary>
</histogram>

<histogram name="Tracing.Background.ScenarioState"
    enum="BackgroundTracingState">
  <owner>oysteine@chromium.org</owner>
  <summary>
    Records state of the Background Tracing system, from when scenarios are
    attempted to be activated until they're completed (successfully or failed)
  </summary>
</histogram>

<histogram name="TrackedObjects.GetRetiredOrCreateThreadData" units="ms">
  <owner>fdoray@chromium.org</owner>
  <summary>
    Time spent in base::ThreadData::GetRetiredOrCreateThreadData(). This method
    is called at most once per thread, when its name is set, when it posts a
    task or when it runs a task (whichever comes first).
  </summary>
</histogram>

<histogram name="TrafficStatsAmortizer.AmortizationDelay" units="ms">
  <owner>sclittle@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The amount of time spent waiting to perform an amortization run. This is
    logged at the end of each amortization run, before passing any DataUse
    objects to their respective callbacks.
  </summary>
</histogram>

<histogram name="TrafficStatsAmortizer.BufferSizeOnFlush" units="count">
  <owner>sclittle@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The number of DataUse objects processed in an amortization run.
  </summary>
</histogram>

<histogram name="TrafficStatsAmortizer.ConcurrentTabs" units="count">
  <owner>sclittle@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The number of unique tabs seen across all DataUse objects buffered for a
    single amortization run by the TrafficStatsAmortizer. This is recorded even
    if TrafficStats byte counts are unavailable, but not recorded if no DataUse
    objects have been buffered.
  </summary>
</histogram>

<histogram name="TrafficStatsAmortizer.PostAmortizationRunDataUseBytes"
    units="bytes">
  <owner>sclittle@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The total bytes after performing amortization across all DataUse objects
    buffered for a single amortization run by the TrafficStatsAmortizer. This is
    recorded even if TrafficStats byte counts are unavailable, but not recorded
    if no DataUse objects have been buffered.
  </summary>
</histogram>

<histogram name="TrafficStatsAmortizer.PreAmortizationRunDataUseBytes"
    units="bytes">
  <owner>sclittle@chromium.org</owner>
  <owner>bengr@chromium.org</owner>
  <summary>
    The total bytes before performing amortization across all DataUse objects
    buffered for a single amortization run by the TrafficStatsAmortizer. This is
    recorded even if TrafficStats byte counts are unavailable, but not recorded
    if no DataUse objects have been buffered.
  </summary>
</histogram>

<histogram name="Translate.AlwaysTranslateLang">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The number of times the always translate option was selected in the
    translate infobar.
  </summary>
</histogram>

<histogram name="Translate.BubbleUiEvent" enum="TranslateBubbleUiEvent">
  <owner>groby@google.com</owner>
  <summary>Tracks UI events related to the translate bubble.</summary>
</histogram>

<histogram name="Translate.CaptureText" units="ms">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The time spent capturing plain text from the DOM. This is reported by
    ChromeRenderViewObserver when a page is loaded completely.
  </summary>
</histogram>

<histogram name="Translate.CLD2.LanguageAccuracy" units="%">
  <owner>rkaplow@google.com</owner>
  <summary>
    Accuracy of the language detected by CLD2. Only recorded if the detection
    returned a &quot;known&quot; result.
  </summary>
</histogram>

<histogram name="Translate.CLD2.LanguageDetected" enum="CLD2LanguageCode">
  <owner>rkaplow@google.com</owner>
  <summary>Language of page detected by CLD2.</summary>
</histogram>

<histogram name="Translate.CLD3.LanguageDetected" enum="CLD3LanguageCode">
  <owner>abakalov@chromium.org</owner>
  <summary>
    Language of the input page detected by CLD3. This information is logged on
    every page load.
  </summary>
</histogram>

<histogram name="Translate.CLD3.LanguagePercentage" units="%">
  <owner>abakalov@chromium.org</owner>
  <summary>
    Percentage of the bytes that are associated with the most popular language
    on the input page. Only recorded if the detection returned a
    &quot;known&quot; result.
  </summary>
</histogram>

<histogram name="Translate.ContentLanguage" enum="TranslateLanguage">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    A page may provide a Content-Language HTTP header or a META tag. For each
    page load, measures whether the Content-Language header exists and is valid.
  </summary>
</histogram>

<histogram name="Translate.DeclineTranslate">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The number of times the &quot;Nope&quot; (don't translate) or the infobar's
    X button was clicked in the translate infobar.
  </summary>
</histogram>

<histogram name="Translate.DeclineTranslateCloseInfobar">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The number of times the translate infobar was closed by clicking the X
    button without the user translating the page.
  </summary>
</histogram>

<histogram name="Translate.DeclineTranslateDismissUI">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The number of times the translate UI was closed without translating in the
    way that the user doesn't deny translating explicityly, like pressing 'Nope'
    button. This is counted on both the infobar and the bubble UI. We are
    comparing this on infobar to that on bubble by A/B testing and expecting
    that the user will click 'Nope' button on bubble less times than infobar. We
    won't delete this histogram after the experiment.
  </summary>
</histogram>

<histogram name="Translate.HtmlLang" enum="TranslateLanguage">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    A page may provide a lang attribute in html tag. For each page load,
    measures whether the lang attribute exists and is valid.
  </summary>
</histogram>

<histogram name="Translate.InitiationStatus" enum="TranslateInitiationStatus">
  <obsolete>
    Deprecated as of 11/2013, and replaced by Translate.InitiationStatus.v2.
  </obsolete>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The reason why Chrome decided to perform the next action (e.g., to show
    infobar, to translate a page without any prompting, and so on) when Chrome
    Translate is ready to translate a page.
  </summary>
</histogram>

<histogram name="Translate.InitiationStatus.v2"
    enum="TranslateInitiationStatus">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The reason why Chrome decided to perform the next action (e.g., to show
    infobar, to translate a page without any prompting, and so on) when Chrome
    Translate is ready to translate a page.
  </summary>
</histogram>

<histogram name="Translate.LanguageDetectionConflict"
    enum="EnCrossCLD3LanguageCode">
  <owner>yyushkina@chromium.org</owner>
  <summary>
    This metric logs CLD3-detected languages for pages that specify a
    conflicting English language in their markup. In these cases, we must decide
    on a language source to favor.

    Bucket names are of the form &quot;x,y&quot;, where x is the common English
    language code specified in the page markup (or &quot;other&quot; if the
    English language code is uncommon), and y is the CLD3-detected language.

    This histogram only logs detection conflicts. Hence, &quot;matching&quot;
    buckets (e.g. &quot;en,en&quot;, &quot;en-AU,en&quot;) will never be
    populated.
  </summary>
</histogram>

<histogram name="Translate.LanguageDetectionTiming"
    enum="TranslateLanguageDetectionTiming">
  <owner>andrewhayden@chromium.org</owner>
  <summary>
    For each page load, records whether language detection occurs on time or
    gets deferred. If deferred language detection later completes, this is also
    recorded. This allows measuring the UX impact of using a non-static CLD data
    source.
  </summary>
</histogram>

<histogram name="Translate.LanguageVerification"
    enum="TranslateLanguageVerification">
  <owner>yyushkina@chromium.org</owner>
  <summary>
    For each page load, measures whether the provided HTML language (i.e. the
    page lang attribute if it exists, otherwise the header Content-Language
    value) matches the language determined by CLD. Beyond directly matching or
    mismatching the HTML language, CLD can complement the HTML language. For
    example, suppose the HTML language is 'zh' (general Chinese), a language
    code that the Translate server does not support.  In this case, CLD can
    detect a subcode like '-TW' or '-CN', resulting in language codes 'zh-TW'
    and 'zh-CN', which the Translate server supports. This is referred to as
    &quot;complementing a language subcode&quot;.
  </summary>
</histogram>

<histogram name="Translate.LocalesOnDisabledByPrefs" enum="LanguageCode">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Logs the user locale when the Translate feature is disabled by the user.
    This is recorded each time a webpage is loaded and prefs for translation is
    checked. This allows us to investigate the correlation between the user
    locale and the usage rates of the Translate.
  </summary>
</histogram>

<histogram name="Translate.ModifyOriginalLang">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The number of times the original language in the translate infobar has been
    changed.
  </summary>
</histogram>

<histogram name="Translate.ModifyTargetLang">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The number of times the target language in the translate infobar has been
    changed.
  </summary>
</histogram>

<histogram name="Translate.NeverTranslateLang">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The number of times the never translate option was selected in the translate
    infobar.
  </summary>
</histogram>

<histogram name="Translate.NeverTranslateSite">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The number of times the never translate site was selected in the translate
    infobar.
  </summary>
</histogram>

<histogram name="Translate.PageScheme" enum="TranslateScheme">
  <owner>kenjibaheux@google.com</owner>
  <summary>Counts translation target page schemes.</summary>
</histogram>

<histogram name="Translate.Ranker.Model.Status" enum="RankerModelStatus">
  <owner>rogerm@google.com</owner>
  <summary>
    Tracks the outcome of attempts to download a Translate Ranker Model.
  </summary>
</histogram>

<histogram name="Translate.Ranker.Model.Version" units="date stamp">
  <owner>rogerm@google.com</owner>
  <summary>
    The date tamp (e.g., 20160916 -&gt; 15 Sept 2016) which denotes the
    TranslateRankerModel's version.
  </summary>
</histogram>

<histogram name="Translate.Ranker.QueryResult" enum="BooleanAccepted">
  <owner>rogerm@google.com</owner>
  <summary>
    Whether the TranslateRanker accepts or denies to show the translation
    prompt.
  </summary>
</histogram>

<histogram name="Translate.Ranker.Timer.CalculateScore" units="ms">
  <owner>rogerm@google.com</owner>
  <summary>
    Time taken for the TranslateRanker to use the translate ranker model to
    calculate a score for the translation, in ms.
  </summary>
</histogram>

<histogram name="Translate.Ranker.Timer.DownloadModel" units="ms">
  <owner>rogerm@google.com</owner>
  <summary>
    Time taken for the TranslateRanker to download its model, in ms.
  </summary>
</histogram>

<histogram name="Translate.Ranker.Timer.ParseModel" units="ms">
  <owner>rogerm@google.com</owner>
  <summary>
    Time taken for the TranslateRanker to parse its model, in ms.
  </summary>
</histogram>

<histogram name="Translate.Ranker.Timer.ShouldOfferTranslation" units="ms">
  <owner>rogerm@google.com</owner>
  <summary>
    Time taken for the TranslateRanker to decide if a given translation should
    be offered or not, in ms. This includes the time taken to extract the
    relevant features upon which to base the decision, as well as the time taken
    to calculate the result.
  </summary>
</histogram>

<histogram name="Translate.ReportLanguageDetectionError">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The number of times the &quot;report this error&quot; of options menu is
    selected in the translate infobar.
  </summary>
</histogram>

<histogram name="Translate.RevertTranslation">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The number of times the show original button was clicked in the translate
    infobar.
  </summary>
</histogram>

<histogram name="Translate.ServerReportedUnsupportedLanguage">
  <obsolete>
    Deprecated 5/2013 by Translate.UndisplayableLanguage
  </obsolete>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The number of times the detected language is not supported by Translate
    Element.
  </summary>
</histogram>

<histogram name="Translate.ShowBeforeTranslateInfobar">
  <obsolete>
    Deprecated 7/2010. No longer tracked.
  </obsolete>
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The number of times an infobar proposing to translate a page has been shown.
  </summary>
</histogram>

<histogram name="Translate.ShowErrorInfobar" enum="TranslateError">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Chrome Translate shows an error infobar when an error happens on translation
    and the infobar message depends on what kind of error happens. This metric
    counts how often each error message is shown.
  </summary>
</histogram>

<histogram name="Translate.ShowErrorUI" enum="TranslateError">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Chrome Translate shows an error UI (infobar or bubble) when an error happens
    on translation and the UI message depends on what kind of error happens.
    This metric counts how often each error message is shown.
  </summary>
</histogram>

<histogram name="Translate.SimilarLanguageMatch" enum="BooleanMatched">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    This metrics is logged whenever a page is loaded. The logged value is
    &quot;Mathced&quot; when the CLD-detected language differs from the page
    language code , and the two languages are such similar languages. In that
    case, Chrome ignore the CLD-determined language and instead uses the page
    language code. The page language code is decided by Content-Language and
    HTML lang attribute.
  </summary>
</histogram>

<histogram name="Translate.TimeToBeReady" units="ms">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The time from injecting scripts for Chrome Translate to being ready to
    perform translation.
  </summary>
</histogram>

<histogram name="Translate.TimeToLoad" units="ms">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The time from injecting scripts for Chrome Translate to the finishing loads
    of all depending libraries.
  </summary>
</histogram>

<histogram name="Translate.TimeToTranslate" units="ms">
  <owner>kenjibaheux@google.com</owner>
  <summary>The time from starting translation to the completion.</summary>
</histogram>

<histogram name="Translate.Translate" enum="BooleanTranslate">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The number of times the translate button was clicked in the translate
    infobar.
  </summary>
</histogram>

<histogram name="Translate.UndisplayableLanguage" enum="LanguageCode">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Logs an undisplayable language included in the language list sent by the
    Translate server. The Translate server sends the list each time the user
    runs Chrome. This metrics tells us that there is a language which UI should
    support but doesn't.
  </summary>
</histogram>

<histogram name="Translate.UnsupportedLanguageAtInitiation" enum="LanguageCode">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    Logs an unsupported source language detected during initiation of the
    Translate feature.  This is reported when the language detector successfully
    detects the language of the webpage, but the language is not supported by
    the translation server because it is too minor.  This metric allows us to
    assess how important the unsupported language is for Google translate.
  </summary>
</histogram>

<histogram name="Translate.UserActionDuration" units="ms">
  <owner>kenjibaheux@google.com</owner>
  <summary>
    The time from a page content language being determined to user requesting
    Chrome Translate.
  </summary>
</histogram>

<histogram name="TryScroll.SlowScroll" enum="ScrollThread">
  <obsolete>
    Deprecated 02/2016 in Issue 1741103002, and replaced by
    Renderer4.CompositorWheelScrollUpdateThread and
    Renderer4.CompositorTouchScrollUpdateThread.
  </obsolete>
  <owner>tdresser@chromium.org</owner>
  <summary>Whether a scroll is executed on main thread.</summary>
</histogram>

<histogram name="UI.DeviceScale" units="%">
  <owner>bsep@chromium.org</owner>
  <summary>
    The device scales available on the system at startup. A system may report
    more than one if it has multiple displays with varying device scales. Only
    logged on Windows.
  </summary>
</histogram>

<histogram name="UKM.ActualLogUploadInterval" units="minutes">
  <owner>holte@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The actual interval between log upload start and previous log upload
    finished within the same process.
  </summary>
</histogram>

<histogram name="UKM.Entries.Dropped" enum="UkmDataDroppedReason">
  <owner>holte@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    Number of UKM entries that are dropped. Categorized by the cause of it being
    dropped.
  </summary>
</histogram>

<histogram name="UKM.Entries.SerializedCount">
  <owner>holte@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>Number of serialized UKM entries when storing a UKM log.</summary>
</histogram>

<histogram name="UKM.InitSequence" enum="UmaInitSequence">
  <owner>holte@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    Logged during UkmService initialization whether the init task or the initial
    log timer completed first. The expectation is the vast majority of the time,
    the init task should complete first. If metrics show otherwise, then it may
    indicate there's a bug in the UkmService init sequence and that it should be
    investigated.
  </summary>
</histogram>

<histogram name="UKM.LogSize.OnSuccess" units="KB">
  <owner>holte@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    Size in kilobytes (after compression) of an uploaded UKM log. Recorded after
    a successful UKM upload.
  </summary>
</histogram>

<histogram name="UKM.LogUpload.Canceled.CellularConstraint"
    enum="BooleanCanceled">
  <owner>holte@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    Logs whether a log was not uploaded due to cellular log throttling logic.
    Android only.
  </summary>
</histogram>

<histogram name="UKM.LogUpload.ResponseOrErrorCode"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>holte@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    HTTP response codes and network errors encountered by UKM when attempting to
    upload logs to the server.
  </summary>
</histogram>

<histogram name="UKM.PersistentLogRecall.Status"
    enum="PersistedLogsLogReadStatus">
  <owner>holte@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>The status when loading UKM PersistedLogs from Prefs.</summary>
</histogram>

<histogram name="UKM.Sources.Dropped" enum="UkmDataDroppedReason">
  <owner>holte@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    Number of UKM sources that are dropped. Categorized by the cause of it being
    dropped.
  </summary>
</histogram>

<histogram name="UKM.Sources.SerializedCount">
  <owner>holte@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>Number of serialized UKM sources when storing a UKM log.</summary>
</histogram>

<histogram name="UKM.UnsentLogs.DroppedSize" units="bytes">
  <owner>holte@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    Number of bytes in an excessively large log that was discarded while
    persisting UKM logs to disk to retry during next chrome run.
  </summary>
</histogram>

<histogram name="UKM.UnsentLogs.NumDropped">
  <owner>holte@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    Counter for number of UKM unsent logs removed from persistent storage.
  </summary>
</histogram>

<histogram name="UKM.Upload.ResponseCode" enum="HttpResponseCode">
  <obsolete>
    Replaced by UKM.LogUpload.ResponseOrErrorCode
  </obsolete>
  <owner>holte@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    For each upload to the UKM server, log the response received from the
    server.
  </summary>
</histogram>

<histogram name="UMA.ActualLogUploadInterval" units="minutes">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The actual interval between log upload start and previous log upload
    finished within the same process.
  </summary>
</histogram>

<histogram name="UMA.AntiVirusMetricsProvider.Result"
    enum="AntiVirusMetricsProviderResult">
  <owner>wfh@chromium.org</owner>
  <summary>
    Records the result of the attempt to enumerate the installed AntiVirus on
    the machine. This is recorded once during metrics initialization.
  </summary>
</histogram>

<histogram name="UMA.CleanExitBeaconConsistency" enum="UmaCleanExitConsistency">
  <owner>siggi@chromium.org</owner>
  <summary>
    Reports the combined state of distinct clean exit beacons stored in Local
    State and the Windows registry. They are normally expected to be identical.
  </summary>
</histogram>

<histogram name="UMA.ClientIdBackupRecoveredWithAge" units="hours">
  <owner>gab@chromium.org</owner>
  <summary>
    Recorded when we are somehow missing the client ID stored in Local State yet
    are able to recover it from a backup location along with the backed up
    installation date. This report carries the age in hours of the recovered
    client id.
  </summary>
</histogram>

<histogram name="UMA.ClientIdMigrated" enum="BooleanMigrated">
  <obsolete>
    Removed in M45.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Recorded when the one-time UMA client id reset was performed (and the client
    id of this user was migrated).
  </summary>
</histogram>

<histogram name="UMA.CollectExternalEventsTime" units="ms">
  <obsolete>
    Deprecated as of August 2015. The histogram showed no unexpected slowness,
    and a profiler is a better tool for identifying any future issues.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The time to run the external metrics collection task (Chrome OS).
  </summary>
</histogram>

<histogram name="UMA.ComputeCurrentSigninStatus"
    enum="ComputeCurrentSigninStatus">
  <obsolete>
    Deprecated as of Jun 2016. The histogram was added for debugging purpose and
    is not needed anymore.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <owner>yiyaoliu@chromium.org</owner>
  <summary>
    Records attempts to compute the current the signin status and error
    encountered when computing.
  </summary>
</histogram>

<histogram name="UMA.CreatePersistentHistogram.Result"
    enum="CreatePersistentHistogramResult">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Records attempts to create histograms in presistent space and any errors
    encountered when doing so.
  </summary>
</histogram>

<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpAsyncTaskDuration"
    units="ms">
  <owner>wnwen@chromium.org</owner>
  <summary>
    Measures how much time it took to complete all async deferred startup tasks
    on the background thread. Only logged on Android.
  </summary>
</histogram>

<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpCompleteTime"
    units="ms">
  <owner>wnwen@chromium.org</owner>
  <summary>
    Measures how much time since application was first in foreground till all
    deferred tasks are done. Only logged on Android.
  </summary>
</histogram>

<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpDuration"
    units="ms">
  <obsolete>
    Deprecated 01/2017 for
    UMA.Debug.EnableCrashUploadDeferredStartupAsyncTaskDuration.
  </obsolete>
  <owner>wnwen@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Measures how much time it took to complete deferred startup tasks on the UI
    thread. Only logged on Android.
  </summary>
</histogram>

<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpDurationAsync"
    units="ms">
  <owner>wnwen@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Measures how much time it took to complete async deferred startup tasks on
    the background thread. Only logged on Android.
  </summary>
</histogram>

<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUpMaxTaskDuration"
    units="ms">
  <owner>wnwen@chromium.org</owner>
  <summary>
    Measures the maximum amount of time a single deferred startup task took.
  </summary>
</histogram>

<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUptime" units="ms">
  <obsolete>
    Replaced by UMA.Debug.EnableCrashUpload.DeferredStartUptime2
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Measures how much time since start up it took for onDeferredStartup() to be
    called, which schedules enablePotentialCrashUploading() to be executed on an
    async task. Only logged on Android.
  </summary>
</histogram>

<histogram name="UMA.Debug.EnableCrashUpload.DeferredStartUptime2" units="ms">
  <owner>wnwen@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Measures how much time since application was first in foreground till
    deferred tasks are initialized and queued on the idle handler. Only logged
    on Android.
  </summary>
</histogram>

<histogram name="UMA.Debug.EnableCrashUpload.PostDeferredStartUptime"
    units="ms">
  <obsolete>
    Replaced by UMA.Debug.EnableCrashUpload.PostDeferredStartUptime2
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Measures how much time since start up it took before ChromeActivity's
    postDeferredStartupIfNeeded() was called. Only logged on Android.
  </summary>
</histogram>

<histogram name="UMA.Debug.EnableCrashUpload.PostDeferredStartUptime2"
    units="ms">
  <owner>wnwen@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Measures how much time since application was first in foreground till
    ChromeActivity's postDeferredStartupIfNeeded() was called exactly once. Only
    logged on Android.
  </summary>
</histogram>

<histogram name="UMA.Debug.EnableCrashUpload.Uptime" units="ms">
  <obsolete>
    Replaced by UMA.Debug.EnableCrashUpload.Uptime2
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Measures how much time since start up it took before crash reporting was
    enabled via enablePotentialCrashUploading() as part of deferred start up.
    Only logged on Android.
  </summary>
</histogram>

<histogram name="UMA.Debug.EnableCrashUpload.Uptime2" units="ms">
  <obsolete>
    Replaced by UMA.Debug.EnableCrashUpload.Uptime3
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Measures how much time since start up it took before crash reporting was
    enabled via enablePotentialCrashUploading() as part of deferred start up.
    Only logged on Android.
  </summary>
</histogram>

<histogram name="UMA.Debug.EnableCrashUpload.Uptime3" units="ms">
  <owner>wnwen@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Measures how much time since application was first in foreground till crash
    reporting was enabled as part of deferred start up. Only logged on Android.
  </summary>
</histogram>

<histogram name="UMA.Discarded Log Events">
  <owner>asvitkine@chromium.org</owner>
  <owner>rkaplow@chromium.org</owner>
  <summary>
    The number of events that would be discarded at log transmission time
    because the event count was already too large. Note that this doesn't
    measure actual discards - in case the UMAThrottleEvents feature is disabled,
    the discards won't occur.
  </summary>
</histogram>

<histogram name="UMA.EnrollmentStatus" enum="EnrollmentStatus">
  <owner>asvitkine@chromium.org</owner>
  <owner>kaznacheev@chromium.org</owner>
  <summary>
    Logs the device enrollment status for Chrome OS device. Logged with every
    UMA upload.
  </summary>
</histogram>

<histogram name="UMA.EntropySourceType" enum="UmaEntropySourceType">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Logs the entropy source type that was used for field trial randomization.
    Logged once at each start up.
  </summary>
</histogram>

<histogram name="UMA.ExternalExperiment.GroupCount" units="groups">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Logged on Android whenever an external experiment is registered. The logged
    value is the number of groups in the experiment. This will not be logged at
    all if there are no external experiments, but will be logged on group
    transitions (e.g. when going from 1 to 0 groups).
  </summary>
</histogram>

<histogram name="UMA.FieldTrialAllocator.Size" units="bytes">
  <obsolete>
    Deprecated 11/2016 for UMA.FieldTrialAllocator.Used
  </obsolete>
  <owner>lawrencewu@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Size, before padding, of objects allocated from persistent memory in the
    browser process for field trials. Updated on each subprocess launch.
  </summary>
</histogram>

<histogram name="UMA.FieldTrialsEnabledBenchmarking" enum="BooleanUsage">
  <obsolete>
    Deprecated 2012. No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Log whether the --enable-benchmarking flag was set, which causes field
    trials to only use the default group.
  </summary>
</histogram>

<histogram name="UMA.FileMetricsProvider.AccessResult"
    enum="FileMetricsProviderAccessResult">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Records attempts to access a file for the purpose of extracting metrics.
  </summary>
</histogram>

<histogram name="UMA.FileMetricsProvider.DeletedFiles">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    The number of old metrics files for which a delete was attempted. This is
    logged once with each upload operation. Values greater than 1 indicate that
    the files are not deletable by the browser and must be cleaned up by
    whatever process is creating them.
  </summary>
</histogram>

<histogram name="UMA.FileMetricsProvider.DirectoryFiles">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    The number of metrics files in a directory that need to be uploaded. This is
    logged once with each upload operation.
  </summary>
</histogram>

<histogram name="UMA.FileMetricsProvider.InitialAccessResult"
    enum="FileMetricsProviderAccessResult">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Records attempts to access a file for the purpose of extracting initial
    stability metrics.
  </summary>
</histogram>

<histogram name="UMA.FileMetricsProvider.InitialCheckTime.File" units="ms">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Records how much wall time was spent checking and mapping an initial metrics
    file on disk.
  </summary>
</histogram>

<histogram name="UMA.FileMetricsProvider.InitialCheckTime.Total" units="ms">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Records how much wall time was spent checking and mapping initial metrics
    from all files on disk.
  </summary>
</histogram>

<histogram name="UMA.FileMetricsProvider.InitialSnapshotTime.File" units="ms">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Records how much wall time was spent collecting initial stability metrics
    from a file on disk.
  </summary>
</histogram>

<histogram name="UMA.FileMetricsProvider.InitialSnapshotTime.Total" units="ms">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Records how much wall time was spent collecting initial stability metrics
    from all files on disk.
  </summary>
</histogram>

<histogram name="UMA.FileMetricsProvider.SnapshotTime.File" units="ms">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Records how much wall time was spent collecting metrics from a file on disk.
  </summary>
</histogram>

<histogram name="UMA.FileMetricsProvider.SnapshotTime.Total" units="ms">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Records how much wall time was spent collecting metrics from all files on
    disk.
  </summary>
</histogram>

<histogram name="UMA.GeneratedLowEntropySource" enum="Boolean">
  <obsolete>
    Deprecated as of August 2015. No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    For each attempt to generate the low entropy source, log whether or not the
    load required generating a new low entropy source.
  </summary>
</histogram>

<histogram name="UMA.Histograms.Activity" enum="HistogramActivityReport">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Type and flags of every histogram created plus other activities. Counts are
    not mutually-exclusive except for the different types.
  </summary>
</histogram>

<histogram name="UMA.InitSequence" enum="UmaInitSequence">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Logged during MetricsService initialization whether the init task or the
    initial log timer completed first. The expectation is the vast majority of
    the time, the init task should complete first. If metrics show otherwise,
    then it may indicate there's a bug in the MetricsService init sequence and
    that it should be investigated.
  </summary>
</histogram>

<histogram name="UMA.IsClonedInstall" enum="BooleanCloned">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    This is logged with a value of true in every log when the UMA client code
    has detected that this is a potentially cloned install and has set the pref
    to reset its UMA client id on the next startup.
  </summary>
</histogram>

<histogram name="UMA.Large Accumulated Log Not Persisted" units="bytes">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Number of bytes in an excessively large log that was discarded at shutdown
    instead of being saved to disk to retry during next chrome run.
  </summary>
</histogram>

<histogram name="UMA.Large Rejected Log was Discarded" units="bytes">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Number of bytes in a log was was rejected by server, and then discarded.
  </summary>
</histogram>

<histogram name="UMA.LoadLogsTime" units="ms">
  <obsolete>
    Deprecated as of August 2015. The histograms showed no unexpected slowness,
    and a profiler is a better tool for identifying any future issues.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The time spent to load (de-serialize) unsent logs from local state, recorded
    during the MetricsService startup sequence.
  </summary>
</histogram>

<histogram name="UMA.LocalPersistentMemoryAllocator.Failures.Posix"
    enum="OSAgnosticErrno">
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Failures, as reported in errno, encountered while allocating local
    persistent memory under Posix.
  </summary>
</histogram>

<histogram name="UMA.LocalPersistentMemoryAllocator.Failures.Win"
    enum="WinGetLastError">
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Failures, as reported by GetLastError(), encountered while allocating local
    persistent memory under Windows.
  </summary>
</histogram>

<histogram name="UMA.LogLoadComplete called">
  <obsolete>
    No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Simple counter of the number of times LogLoadComplete was called (bug
    demonstration, as we're called more often than once per page load :-/ )
  </summary>
</histogram>

<histogram name="UMA.LogSize.OnSuccess" units="KB">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Size in kilobytes (after compression) of an uploaded UMA log. Recorded after
    a successful UMA upload.
  </summary>
</histogram>

<histogram name="UMA.LogUpload.Canceled.CellularConstraint"
    enum="BooleanCanceled">
  <owner>asvitkine@chromium.org</owner>
  <owner>gayane@chromium.org</owner>
  <summary>
    Logs whether a log was not uploaded due to cellular log throttling logic.
    Android only.
  </summary>
</histogram>

<histogram name="UMA.LogUpload.ConnetionType" enum="NetworkConnectionType">
  <obsolete>
    Used for analyzing UMA log uploads on cellular connection, but necessary
    after the analysis is finished.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <owner>gayane@chromium.org</owner>
  <summary>
    The network connection type for each successful metrics log upload.
  </summary>
</histogram>

<histogram name="UMA.LogUpload.ResponseOrErrorCode"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>holte@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    HTTP response codes and network errors encountered by UMA when attempting to
    upload logs to the server.
  </summary>
</histogram>

<histogram name="UMA.LowEntropySourceValue">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Distribution of the low entropy source value used for field trial
    randomization, recorded on startup.
  </summary>
</histogram>

<histogram name="UMA.MachineIdState" enum="UmaMachineIdState">
  <owner>jwd@chromium.org</owner>
  <summary>
    Tracks if the machine ID is generated successfully and if it changes from
    one run to the next. The machine ID is a 24-bit hash of machine
    characteristics. It is expected to change if an install of Chrome is copied
    to multiple machines. This check happens once per browser startup.
  </summary>
</histogram>

<histogram name="UMA.MetricsIDsReset" enum="BooleanHit">
  <owner>jwd@chromium.org</owner>
  <summary>
    A count of the number of times the metrics ids (client id and low entropy
    source) have been reset due to a cloned install being detected.
  </summary>
</histogram>

<histogram name="UMA.MetricsReporting.Toggle" enum="MetricsReportingChange">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Logged when user successfully enables/disables MetricsReporting or when an
    error occurs.
  </summary>
</histogram>

<histogram name="UMA.MetricsService.RecordCurrentHistograms.Time" units="ms">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Records how much wall time was spent merging, taking snapshots, and
    recording histograms for reporting to UMA.
  </summary>
</histogram>

<histogram name="UMA.NegativeSamples.Reason" enum="NegativeSampleReason">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    Reasons why a negative sample count would have been created. Currently, only
    negative samples from persistent sparse histograms are being checked.
  </summary>
</histogram>

<histogram name="UMA.Perf.GetData" enum="GetPerfDataOutcome">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    A count of successes and various failure modes related to collecting and
    processing performance data obtained through &quot;perf&quot; on Chrome OS.
  </summary>
</histogram>

<histogram base="true" name="UMA.PersistentAllocator.Allocs" units="bytes">
  <obsolete>
    Deprecated 2/2017 for Issue 689315 which indicated they weren't being used.
  </obsolete>
  <owner>bcwhite@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Size, before padding, of objects allocated from persistent memory. This is
    updated with every allocation.
  </summary>
</histogram>

<histogram base="true" name="UMA.PersistentAllocator.Errors"
    enum="PersistentAllocatorErrors">
  <owner>bcwhite@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Errors detected by the persistent memory allocator. These are set when they
    occur.
  </summary>
</histogram>

<histogram base="true" name="UMA.PersistentAllocator.UsedPct" units="%">
  <owner>bcwhite@chromium.org</owner>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Percentage of persistent memory segment that has been allocated. This is
    updated only once per reporting cycle.
  </summary>
</histogram>

<histogram name="UMA.PersistentHistograms.InitResult"
    enum="PersistentHistogramsInitResult">
  <owner>bcwhite@chromium.org</owner>
  <summary>
    A count of successes and failures for the creation of various forms of
    persistent memory used to store histograms.
  </summary>
</histogram>

<histogram name="UMA.ProfilesCount.AfterErase">
  <obsolete>
    Deprecated as of Jun 2016. The histogram was added for debugging purpose and
    is not needed anymore.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <owner>yiyaoliu@chromium.org</owner>
  <summary>
    Record the number of loaded profiles when a profile is erased from the
    profiles map kept by profile manager.
  </summary>
</histogram>

<histogram name="UMA.ProfileSignInStatus" enum="ProfileSigninStatus">
  <owner>asvitkine@chromium.org</owner>
  <owner>yiyaoliu@chromium.org</owner>
  <summary>
    An enum representing the signin status of all opened profiles during one UMA
    session.
  </summary>
</histogram>

<histogram name="UMA.ProtoCompressionRatio" units="%">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Compression ratio of the serialized protobuf that will be uploaded to the
    UMA server. This serialized protobuf is compressed using gzip.
  </summary>
</histogram>

<histogram name="UMA.ProtoGzipped" enum="Boolean">
  <obsolete>
    Deprecated as of Sep, 2013. Gzipping protobufs is now the default.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>Was the UMA protobuf uploaded earlier compressed or not.</summary>
</histogram>

<histogram name="UMA.ProtoGzippedKBSaved" units="KB">
  <obsolete>
    Deprecated as of August 2015. See UMA.ProtoCompressionRatio instead.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Kilobytes saved from gzipping the protobufs before uploading them.
  </summary>
</histogram>

<histogram name="UMA.SamplingRatePerMille" units="samples permille">
  <owner>jwd@chromium.org</owner>
  <summary>
    Sample rate applied to this client, expressed as number of clients per 1000
    that are in the sample. Recorded on every log upload.
  </summary>
</histogram>

<histogram name="UMA.StoreLogsTime" units="ms">
  <obsolete>
    Deprecated as of August 2015. The histograms showed no unexpected slowness,
    and a profiler is a better tool for identifying any future issues.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The time spent to store unsent logs to local state, which is done
    periodically and also during start up if there was an initial stability log.
  </summary>
</histogram>

<histogram name="UMA.SubprocessMetricsProvider.SubprocessCount"
    units="subprocesses">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    The number of subprocesses from which persistent metrics were collected,
    logged once with every reporting cycle.
  </summary>
</histogram>

<histogram name="UMA.SubprocessMetricsProvider.UntrackedProcesses"
    units="subprocesses">
  <owner>asvitkine@chromium.org</owner>
  <owner>bcwhite@chromium.org</owner>
  <summary>
    The number of subprocesses, by type, from which persistent metrics are NOT
    collected because there is no information about this (likely new) process
    type.
  </summary>
</histogram>

<histogram name="UMA.SyntheticTrials.Count">
  <obsolete>
    Deprecated as of August 2015.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The number of synthetic field trials added to the UMA log when the system
    profile is recorded. Since this is done prior to capturing the histograms
    from the current process, this will generally be logged once per UMA log.
  </summary>
</histogram>

<histogram name="UMA.Unacceptable_Log_Discarded">
  <obsolete>
    Deprecated as of May, 2012 (i.e. Chrome 21+).  Replaced by the
    UMA.UploadResponseStatus.XML and UMA.UploadResponseStatus.Protobuf
    histograms.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>The server returned a 400 code, and we discarded a log.</summary>
  <details>
    This tends to indicate that a syntax error is present in a log, such as
    would appear when a bogus XML tag is included, or the XML is not balanced
    and well structured.
  </details>
</histogram>

<histogram name="UMA.UnsentLogs.Dropped">
  <owner>asvitkine@chromium.org</owner>
  <owner>gayane@chromium.org</owner>
  <summary>
    Counter for number of UMA unsent logs removed from persistent storage.
  </summary>
</histogram>

<histogram name="UMA.UploadCreation" enum="BooleanSuccess">
  <obsolete>
    Deprecated as of August 2015.  This failure case no longer exists.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    For each attempted UMA upload, log whether the upload was successfully
    constructed.  An upload might fail to be constructed, for example, if we try
    to upload before the system is fully initialized; or if serialization of the
    data fails.
  </summary>
</histogram>

<histogram name="UMA.UploadResponseStatus.Protobuf"
    enum="UmaUploadResponseStatus">
  <obsolete>
    Replaced by UMA.LogUpload.ResponseOrErrorCode
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    For each upload to the protocol buffer (v2) UMA server, log whether the
    upload was successful, or whether there was an error.
  </summary>
</histogram>

<histogram name="UMA.UploadResponseStatus.XML" enum="UmaUploadResponseStatus">
  <obsolete>
    Deprecated 2013. No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    For each upload to the XML (v1) UMA server, log whether the upload was
    successful, or whether there was an error.
  </summary>
</histogram>

<histogram name="UMA.UsedResetVariationsFlag" enum="BooleanUsage">
  <obsolete>
    No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Log whether the --reset-variation-state flag was set before the low entropy
    source was requested.
  </summary>
</histogram>

<histogram name="UMA.XMLNodeDumpTime" units="ms">
  <obsolete>
    Deprecated 2013. No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The time spent in converting the XML tree into a character buffer when
    closing a metrics log (Chrome OS).
  </summary>
</histogram>

<histogram name="UMA.XMLWriterDestructionTime" units="ms">
  <obsolete>
    Deprecated 2013. No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The time spent in freeing the XML writer and tree when closing a metrics log
    (Chrome OS).
  </summary>
</histogram>

<histogram name="UpdateEngine.Attempt.ConnectionType"
    enum="UpdateEngineConnectionType">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The network connection type when the attempt begins. Possible values include
    &quot;Unknown&quot;, &quot;Ethernet&quot;, &quot;Wifi&quot;,
    &quot;Wimax&quot;, &quot;Bluetooth&quot;, &quot;Cellular&quot;,
    &quot;Tethered Ethernet&quot;, &quot;Tethered Wifi&quot;.

    This is reported when an update attempt ends.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Attempt.DownloadErrorCode"
    enum="UpdateEngineDownloadErrorCode">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    A more detailed description of the last Payload transfer error when
    downloading the payload.

    This is reported when an attempt ends with the &quot;Payload Download
    Error&quot; result.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Attempt.DownloadSource"
    enum="UpdateEngineDownloadSource">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The download source used, possible values include &quot;HTTPS Server&quot;,
    &quot;HTTP Server&quot; and &quot;HTTP Peer&quot;.

    This is reported when an update attempt ends.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Attempt.DurationMinutes" units="minutes">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of minutes the update attempt took including the time the device
    spent sleeping.

    This is reported when an update attempt ends.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Attempt.DurationUptimeMinutes" units="minutes">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of minutes the update attempt took excluding the time the device
    spent sleeping.

    This is reported when an update attempt ends.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Attempt.InternalErrorCode"
    enum="UpdateEngineErrorCode">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    A more detailed description of the last internal error. The possible values
    correspond to the ErrorCode enumeration in the update_engine source code.

    This is reported when an attempt ends with the InternalError result.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Attempt.Number" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The attempt number which starts at 0 for the initial attempt and keeps
    increasing for subsequent attempts.

    This is reported when an update attempt ends.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Attempt.PayloadBytesDownloadedMiB" units="MiB">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of payload mebibytes (1048576 bytes) actually download.

    This is reported when an update attempt ends.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Attempt.PayloadDownloadSpeedKBps" units="KBps">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The payload download speed, in kilobytes per second (1000 bytes/second).
    This is calculated as the number of bytes downloaded divided by the duration
    of the attempt (excluding time spent sleeping).

    This is reported when an update attempt ends.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Attempt.PayloadSizeMiB" units="MiB">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The payload size, in mebibytes (1048576 bytes).

    This is reported when an update attempt ends.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Attempt.PayloadType"
    enum="UpdateEnginePayloadFormat">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The payload type, possible values include &quot;Delta&quot; (if Omaha
    specified to download a delta payload); and &quot;Full&quot; (if Omaha
    specified to download a full payload); and &quot;ForcedFull&quot; (if the
    client specified that it would only accept a full payload).

    This is reported when an update attempt ends.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Attempt.Result" enum="UpdateEngineAttemptResult">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The result of the update attempt.

    This is reported when an update attempt ends.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Attempt.TimeSinceLastAttemptMinutes"
    units="minutes">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of minutes since the last attempt including the time the device
    spent sleeping.

    This is reported when an update attempt ends but only if there was a
    previous attempt for the same update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Attempt.TimeSinceLastAttemptUptimeMinutes"
    units="minutes">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of minutes since the last attempt excluding the time the device
    spent sleeping.

    This is reported when an update attempt ends but only if there was a
    previous attempt for the same update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.CertificateCheck.Download"
    enum="UpdateEngineCertificateCheckStatus">
  <owner>deymo@chromium.org</owner>
  <summary>
    The status of the certificate check done when downloading a payload over
    HTTPS. Note that most downloads are done over HTTP.

    This is reported on every HTTPS connection to the payload download server.
    Connection drops on the same payload may report different values.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.CertificateCheck.UpdateCheck"
    enum="UpdateEngineCertificateCheckStatus">
  <owner>deymo@chromium.org</owner>
  <summary>
    The status of the certificate check done when querying Omaha for a new
    version.

    This is reported on every update check.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Check.DownloadErrorCode"
    enum="UpdateEngineDownloadErrorCode">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    If unable to download a response from Omaha, a more detailed error code is
    reported in this metric.

    This is reported on every update check resulting in &quot;Download
    error&quot;.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Check.Reaction" enum="UpdateEngineCheckReaction">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    If there is an update available, this metric will track what the device does
    with the information. Possible values include &quot;Applying update&quot;,
    &quot;Deferring update&quot;, &quot;Ignoring update&quot;, and &quot;Backing
    off&quot;.

    This is reported on update checks resulting in &quot;Update available&quot;.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Check.Result" enum="UpdateEngineCheckResult">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The response from Omaha. Possible values include &quot;No update
    available&quot;, &quot;Update available&quot;, &quot;Download error&quot;,
    &quot;Response parsing error&quot;, and &quot;Reboot pending&quot;.

    This is reported on every update check.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Check.TimeSinceLastCheckMinutes" units="minutes">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of minutes since the last check including the time the device
    spent sleeping.

    This is reported on every update check except for the first one.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Check.TimeSinceLastCheckUptimeMinutes"
    units="minutes">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of minutes since the last check excluding the time the device
    spent sleeping.

    This is reported on every update check except for the first one.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Daily.OSAgeDays" units="days">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The age of the OS in days, defined as the age of the /etc/lsb-release file.

    This is reported on every update check but at most once a day.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.FailedUpdateCount" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The number of consecutive times a device has failed to boot an update that
    successfully applied.

    This is reported every time the firmware fails to boot the slot with the
    update and fell back to the slot it originally updated from.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.InstallDateProvisioningSource"
    enum="UpdateEngineInstallDateProvisioningSource">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The source used to provision the install-date-days value sent to Omaha with
    every request.

    This is reported when OOBE (Out Of Box Experience) completes (M34 or later)
    or when upgrading to a version with install-date-days support.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.Rollback.Result" enum="BooleanSuccess">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    Whether rollback worked.

    This is reported every time there's a rollback request.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.SuccessfulUpdate.AttemptCount" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The total number of update attempts required to update the device.

    This is reported on every successful update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.SuccessfulUpdate.BytesDownloadedMiB" units="MiB">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The total number of bytes downloaded in mebibytes (1048576 bytes) using all
    available sources (e.g. HTTP, HTTPS, HTTP Peer).

    This is reported on every successful update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.SuccessfulUpdate.BytesDownloadedMiBHttpPeer"
    units="MiB">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The total number of bytes downloaded in mebibytes (1048576 bytes) using HTTP
    from a local peer.

    This is reported on every successful update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.SuccessfulUpdate.BytesDownloadedMiBHttpServer"
    units="MiB">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The total number of bytes downloaded in mebibytes (1048576 bytes) using
    HTTP.

    This is reported on every successful update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.SuccessfulUpdate.BytesDownloadedMiBHttpsServer"
    units="MiB">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The total number of bytes downloaded in mebibytes (1048576 bytes) using
    HTTPS.

    This is reported on every successful update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.SuccessfulUpdate.DownloadOverheadPercentage"
    units="%">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The ratio between bytes downloaded and payload size minus 100.

    This is reported on every successful update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.SuccessfulUpdate.DownloadSourcesUsed"
    enum="UpdateEngineDownloadSources">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The various download sources used - this is a combination of the values
    &quot;HTTPS Server&quot;, &quot;HTTP Server&quot; and &quot;HTTP Peer&quot;.

    This is reported on every successful update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.SuccessfulUpdate.PayloadSizeMiB" units="MiB">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The size of the payload, in mebibytes (1048576 bytes).

    This is reported on every successful update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.SuccessfulUpdate.PayloadType"
    enum="UpdateEnginePayloadFormat">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The payload type (&quot;Delta&quot;, &quot;Full&quot;,
    &quot;ForcedFull&quot;) used.

    This is reported on every successful update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.SuccessfulUpdate.RebootCount" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The total number of reboots during the update.

    This is reported on every successful update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.SuccessfulUpdate.TotalDurationMinutes"
    units="minutes">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The total number of minutes from when an update was detected until an update
    (possibly another update) was applied. This includes the time waiting for
    update checks and time the device spent sleeping.

    This is reported on every successful update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.SuccessfulUpdate.UpdatesAbandonedCount"
    units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The total number of updates that were abandoned since the last successful
    update.

    This is reported on every successful update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.SuccessfulUpdate.UrlSwitchCount" units="count">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The total number of times the URL was switched (from e.g. HTTPS to HTTP)
    because of failures.

    This is reported on every successful update.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="UpdateEngine.TimeToRebootMinutes" units="minutes">
  <owner>zeuthen@chromium.org</owner>
  <summary>
    The duration between when an update has successfully completed and the user
    is presented with the &quot;reboot arrow&quot; and when the system has
    booted into the new update.

    This is reported every time the device is rebooted after an update has been
    applied.

    This metric is specific to ChromeOS.
  </summary>
</histogram>

<histogram name="Uptime.ChromeExecToLoginPromptVisibleAfterLogout" units="ms">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Measures the time elapsed on Chrome OS between when Chrome is started, and
    when the login prompt is again visible after a logout.  This statistic is
    only collected when preceeded by a logout.
  </summary>
</histogram>

<histogram name="Uptime.DBusCrash" units="ms">
  <owner>derat@chromium.org</owner>
  <summary>
    The system uptime on Chrome OS when the dbus-daemon process crashes,
    resulting in a reboot.
  </summary>
</histogram>

<histogram name="Uptime.LoginPromptSetupTimeAfterLogout" units="ms">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Measures the time elapsed on Chrome OS for setting up for a login after a
    logout. More specifically, it is the time between when the Cryptohome is
    unmounted (the last step in the logout process) and when the login prompt is
    again visible after a logout.
  </summary>
</histogram>

<histogram name="Uptime.Logout" units="ms">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Measures the time elapsed on Chrome OS when performing a logout. More
    specifically, it is the time between when a logout is initiated and when the
    Cryptohome is unmounted, signaling the last step in the logout process. This
    statistic is not collected when the logout is part of a restart or shutdown.
  </summary>
</histogram>

<histogram name="Uptime.LogoutToLoginPromptVisible" units="ms">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Measures the time elapsed on Chrome OS between initiating a logout and the
    next time the login prompt is visible again.  This statistic is not
    collected if the machine is shutdown between the logout initiation and the
    prompt becoming visible.
  </summary>
</histogram>

<histogram name="Uptime.LogoutToUIStopAfterLogout" units="ms">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Measures the time elapsed on Chrome OS between when a logout is initiated
    and the UI has stopped (and Chrome has exited) during the logout process.
    This statistic is not collected if the logout is part of a restart or
    shutdown.
  </summary>
</histogram>

<histogram name="Uptime.ProcessesTerminatedToXTerminatedAfterLogout" units="ms">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Measures the time elapsed on Chrome OS between when all user-associated
    processes (including the X server) have been terminated during the logout
    process.  This statistic is not collected if the logout is part of a restart
    or shutdown.
  </summary>
</histogram>

<histogram name="Uptime.UIStopToProcessesTerminatedAfterLogout" units="ms">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Measures the time elapsed on Chrome OS between when the UI has stopped
    (Chrome has exited), and when all other associated processes have been
    terminated during the logout process. This statistic is not collected if the
    logout is part of a restart or shutdown.
  </summary>
</histogram>

<histogram name="Uptime.XTerminatedToChromeExecAfterLogout" units="ms">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <summary>
    Measures the time elapsed on Chrome OS between when the X server has been
    terminated from a previous logout and when Chrome is started again to show
    the login screen.
  </summary>
</histogram>

<histogram name="UrlFetcher.StringResponseSize" units="KB">
  <owner>mmenke@chromium.org</owner>
  <summary>
    Size (in kilobytes) of response bodies retrieved as strings from URLFetcher.
  </summary>
</histogram>

<histogram name="UserCert.ContentDisposition" enum="UserCertContentDisposition">
  <obsolete>
    Removed in M57.
  </obsolete>
  <owner>rsleevi@chromium.org</owner>
  <owner>svaldez@chromium.org</owner>
  <summary>
    Distribution of Content-Disposition headers sent with x-x509-user-cert
    content types.
  </summary>
</histogram>

<histogram name="UserImage.ChangeChoice" enum="ChromeOSUserImageId">
  <owner>achuith@chromium.org</owner>
  <summary>
    Distribution of the default images that users choose in Change Picture
    dialog (Chrome OS). One sample is taken each time the user changes picture.
  </summary>
</histogram>

<histogram name="UserImage.FirstTimeChoice" enum="ChromeOSUserImageId">
  <owner>achuith@chromium.org</owner>
  <summary>
    Distribution of the default images chosen on user image screen during
    out-of-the-box experience (Chrome OS). One sample is taken each time the
    user confirms the choice by clicking OK button.
  </summary>
</histogram>

<histogram name="UserImage.LoggedIn" enum="ChromeOSUserImageId">
  <owner>achuith@chromium.org</owner>
  <summary>
    Distribution of the default images that existing users login with (Chrome
    OS). One sample is taken each time the user logs in.
  </summary>
</histogram>

<histogram name="UserImage.ProfileDownloadResult"
    enum="ProfileImageDownloadResult">
  <owner>achuith@chromium.org</owner>
  <summary>
    Profile image download result for UserManager (either on behalf of the
    Change Picture prefs page, OOBE or scheduled refresh after user login).
  </summary>
</histogram>

<histogram name="UserImage.ProfileDownloadTime" units="ms">
  <owner>achuith@chromium.org</owner>
  <summary>The time it took to download user's profile picture.</summary>
</histogram>

<histogram name="UserImage.ScreenIsShownTime" units="ms">
  <owner>achuith@chromium.org</owner>
  <summary>
    Time histogram of the &quot;Choose Picture&quot; OOBE screen display delay.
  </summary>
</histogram>

<histogram name="UserManager.LoginUserType" enum="UserType">
  <owner>achuith@chromium.org</owner>
  <summary>
    The number of users of different types that log in to the system (Chrome
    OS).
  </summary>
</histogram>

<histogram name="UserManager.LogoutToLoginDelay" units="seconds">
  <owner>alemate@chromium.org</owner>
  <owner>omrilio@chromium.org</owner>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The time between one regular user logging out and a different regular user
    logging in (Chrome OS). Delays above thirty minutes or which span system
    reboots or non-regular-user logins are not reported.
  </summary>
</histogram>

<histogram name="UserSessionManager.RestoreOnCrash.AccountIdValid"
    enum="BooleanValid">
  <owner>msarda@chromium.org</owner>
  <summary>
    The result of restoring account id on Chrome restart after crash.
  </summary>
</histogram>

<histogram name="UserSessionManager.UserPodsDisplay" enum="UserPodsDisplay">
  <owner>achuith@chromium.org</owner>
  <summary>
    Whether the user pods were enabled during login, and what could disable
    them.
  </summary>
</histogram>

<histogram name="V8.ArrayBufferBigAllocations" units="MB">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <owner>kschimpf@chromium.org</owner>
  <summary>Number of bytes requested in an array buffer allocation.</summary>
</histogram>

<histogram name="V8.ArrayBufferNewSizeFailures" units="MB">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <owner>kschimpf@chromium.org</owner>
  <summary>Array buffer sizes for which V8 failed to allocate memory.</summary>
</histogram>

<histogram name="V8.AsmWasmTranslationMicroSeconds" units="microseconds">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <owner>aseemgarg@chromium.org</owner>
  <summary>Time to convert asm.js code to WebAssembly.</summary>
</histogram>

<histogram name="V8.ASTOptimization">
  <obsolete>
    This histogram is no longer present in V8.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <summary>TBD</summary>
</histogram>

<histogram name="V8.CodeCacheRejectReason" enum="V8CodeCacheRejectReason">
  <owner>yangguo@chromium.org</owner>
  <summary>
    Reason code data has been rejected when attempting to deserialize.
  </summary>
</histogram>

<histogram name="V8.CodeCacheSizeRatio" units="%">
  <owner>yangguo@chromium.org</owner>
  <summary>Cache size to source size ratio when caching compiled code.</summary>
</histogram>

<histogram name="V8.CodeCreation">
  <obsolete>
    This histogram is no longer present in V8.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <summary>TBD</summary>
</histogram>

<histogram name="V8.CodeGeneration">
  <obsolete>
    This histogram is no longer present in V8.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <summary>Time spent generating native code for functions.</summary>
</histogram>

<histogram name="V8.CodegenFractionCrankshaft" units="%">
  <obsolete>
    This histogram is no longer present in V8.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <owner>rmcilroy@chromium.org</owner>
  <summary>
    Fraction of the total generated code which was generated using the
    Crankshaft optimizing compiler, after each GC in percent.
  </summary>
</histogram>

<histogram name="V8.Compile" units="ms">
  <obsolete>
    This histogram has been replaced by V8.CompileMicroSeconds.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <owner>yangguo@chromium.org</owner>
  <summary>Time spent in V8 compiler (full codegen).</summary>
</histogram>

<histogram name="V8.CompileCacheableMicroSeconds" units="microseconds">
  <owner>yangguo@chromium.org</owner>
  <summary>
    Time spent compiling a script that may be subject to caching.
  </summary>
</histogram>

<histogram name="V8.CompileDeserialize" units="ms">
  <obsolete>
    This histogram has been replaced by V8.CompileDeserializeMicroSeconds.
  </obsolete>
  <owner>vogelheim@chromium.org</owner>
  <summary>Time spent deseriailzing code, used by V8 code caching.</summary>
</histogram>

<histogram name="V8.CompileDeserializeMicroSeconds" units="microseconds">
  <owner>vogelheim@chromium.org</owner>
  <summary>Time spent deseriailzing code, used by V8 code caching.</summary>
</histogram>

<histogram name="V8.CompileEval" units="ms">
  <obsolete>
    This histogram has been replaced by V8.CompileEvalMicroSeconds.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <owner>yangguo@chromium.org</owner>
  <summary>Time spent in V8 compiler (full codegen) for eval.</summary>
</histogram>

<histogram name="V8.CompileEvalMicroSeconds" units="microseconds">
  <owner>jochen@chromium.org</owner>
  <owner>yangguo@chromium.org</owner>
  <summary>Time spent in V8 compiler (full codegen) for eval.</summary>
</histogram>

<histogram name="V8.CompileInlineScriptMicroSeconds" units="microseconds">
  <owner>yangguo@chromium.org</owner>
  <summary>Time spent compiling an inline script.</summary>
</histogram>

<histogram name="V8.CompileLazy" units="ms">
  <obsolete>
    This histogram has been replaced by V8.CompileLazyMicroSeconds.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <summary>Time spent compiling functions lazily on first run.</summary>
</histogram>

<histogram name="V8.CompileLazyMicroSeconds" units="microseconds">
  <owner>jochen@chromium.org</owner>
  <summary>
    Aggregated time spent compiling functions lazily during a single script
    execution.
  </summary>
</histogram>

<histogram name="V8.CompileMicroSeconds" units="microseconds">
  <owner>jochen@chromium.org</owner>
  <owner>yangguo@chromium.org</owner>
  <summary>Time spent in V8 compiler (full codegen) excluding parser.</summary>
</histogram>

<histogram name="V8.CompileNoncacheableMicroSeconds" units="microseconds">
  <owner>yangguo@chromium.org</owner>
  <summary>
    Time spent compiling a script that cannot be subject to caching.
  </summary>
</histogram>

<histogram name="V8.CompileScript" units="ms">
  <obsolete>
    This histogram has been replaced by V8.CompileScriptMicroSeconds.
  </obsolete>
  <owner>yangguo@chromium.org</owner>
  <summary>
    Total time spent in compiling a script (incl. parsing/caching).
  </summary>
</histogram>

<histogram name="V8.CompileScriptMicroSeconds" units="microseconds">
  <owner>yangguo@chromium.org</owner>
  <summary>
    Total time spent in compiling a script (incl. parsing/caching).
  </summary>
</histogram>

<histogram name="V8.CompileSerialize" units="ms">
  <obsolete>
    This histogram has been replaced by V8.CompileSerializeMicroSeconds.
  </obsolete>
  <owner>vogelheim@chromium.org</owner>
  <summary>Time spent serializing code, used by V8 code caching.</summary>
</histogram>

<histogram name="V8.CompileSerializeMicroSeconds" units="microseconds">
  <owner>vogelheim@chromium.org</owner>
  <summary>Time spent serializing code, used by V8 code caching.</summary>
</histogram>

<histogram name="V8.DebugFeatureUsage" enum="V8DebugFeature">
  <owner>yangguo@chromium.org</owner>
  <summary>
    Debugger feature used at least once per isolate, recorded on first use.
  </summary>
</histogram>

<histogram name="V8.DeferredCodeGeneration">
  <obsolete>
    This histogram is no longer present in V8
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <summary>Time spent generating deferred code stubs.</summary>
</histogram>

<histogram name="V8.DetachedContextAgeInGC">
  <owner>ulan@chromium.org</owner>
  <summary>
    Number of garbage collections that a detached global context survives,
    recorded after each major garbage collection. Values greater than 7 indicate
    a memory leak.
  </summary>
</histogram>

<histogram name="V8.ErrorsThrownPerContext" units="errors">
  <owner>hablich@chromium.org</owner>
  <summary>
    The amount of JavaScript errors thrown by V8 per context. It does not count
    custom errors and ignores catched errors thrown by V8. This is collected
    after the context is detached.
  </summary>
</histogram>

<histogram name="V8.ExecutableMemoryMax" units="bytes">
  <obsolete>
    This histogram is no longer present in V8
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <summary>
    The maximum memory used to store V8 compiled code on a given process.
  </summary>
</histogram>

<histogram name="V8.Execute" units="ms">
  <owner>jochen@chromium.org</owner>
  <owner>rmcilroy@chromium.org</owner>
  <summary>
    Time spent in JavaScript Execution, including runtime calls, callbacks, and
    lazy compilation.
  </summary>
</histogram>

<histogram name="V8.GCCompactor" units="ms">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>Time spent in mark-sweep phase of GC.</summary>
</histogram>

<histogram name="V8.GCContext" units="ms">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>Time spent doing a full GC during an IdleNotification.</summary>
</histogram>

<histogram name="V8.GCFinalizeMC" units="ms">
  <owner>ulan@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>Time spent in finalize incremental mark-sweep phase of GC.</summary>
</histogram>

<histogram name="V8.GCFinalizeMCReduceMemory" units="ms">
  <owner>ulan@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    Time spent in finalize incremental memory-reducing mark-sweep phase of GC.
  </summary>
</histogram>

<histogram name="V8.GCFinalzeMC" units="ms">
  <obsolete>
    This histogram has been replaced by V8.GCFinalizeMC because of typo in the
    name.
  </obsolete>
  <owner>ulan@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>Time spent in finalize incremental mark-sweep phase of GC.</summary>
</histogram>

<histogram name="V8.GCIdleNotification" units="ms">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>Time spent in IdleNotifications.</summary>
</histogram>

<histogram name="V8.GCIdleTimeAllottedInMS" units="ms">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>Idle time passed to V8 via IdleNotifications.</summary>
</histogram>

<histogram name="V8.GCIdleTimeLimit.Overshot" units="ms">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    Milliseconds the idle time limit was overshot by the IdleNotification.
  </summary>
</histogram>

<histogram name="V8.GCIdleTimeLimit.Undershot" units="ms">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    Milliseconds the idle time limit was undershot by the IdleNotification.
  </summary>
</histogram>

<histogram name="V8.GCIncrementalMarking" units="ms">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>Time spent doing incremental marking steps during GC.</summary>
</histogram>

<histogram name="V8.GCIncrementalMarkingFinalize" units="ms">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>Time spent in finalizing incremental marking.</summary>
</histogram>

<histogram name="V8.GCIncrementalMarkingReason" enum="GarbageCollectionReason">
  <owner>ulan@chromium.org</owner>
  <summary>Reason an incremental marking was started in V8.</summary>
</histogram>

<histogram name="V8.GCIncrementalMarkingStart" units="ms">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>Time spent in starting incremental marking.</summary>
</histogram>

<histogram name="V8.GCLowMemoryNotification" units="ms">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>Time spent in LowMemoryNotifications.</summary>
</histogram>

<histogram name="V8.GCMarkCompactReason" enum="GarbageCollectionReason">
  <owner>ulan@chromium.org</owner>
  <summary>Reason a mark-compact garbage collection was started in V8.</summary>
</histogram>

<histogram name="V8.GCScavenger" units="ms">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>Time spent in scavenging phase of GC.</summary>
</histogram>

<histogram name="V8.GCScavengeReason" enum="GarbageCollectionReason">
  <owner>ulan@chromium.org</owner>
  <summary>Reason a scavenge garbage collection was started in V8.</summary>
</histogram>

<histogram name="V8.GCYoungGenerationHandling" enum="YoungGenerationHandling">
  <owner>mlippautz@chromium.org</owner>
  <summary>
    Type of garbage collection strategy used to collect the young generation.
  </summary>
</histogram>

<histogram name="V8.Initializer.LoadV8Snapshot.Result"
    enum="V8InitializerLoadV8SnapshotResult">
  <owner>oth@chromium.org</owner>
  <summary>Results from snapshot loading.</summary>
</histogram>

<histogram name="V8.Initializer.OpenV8File.Result"
    enum="V8InitializerOpenV8FileResult">
  <owner>oth@chromium.org</owner>
  <summary>Results from opening V8 snapshot files.</summary>
</histogram>

<histogram name="V8.MemoryExternalFragmentationCellSpace" units="%">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    External memory fragmentation in the cell space after each GC in percent.
  </summary>
</histogram>

<histogram name="V8.MemoryExternalFragmentationCodeSpace" units="%">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    External memory fragmentation in the code space after each GC in percent.
  </summary>
</histogram>

<histogram name="V8.MemoryExternalFragmentationLoSpace" units="%">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    External memory fragmentation in the large object space after each GC in
    percent.
  </summary>
</histogram>

<histogram name="V8.MemoryExternalFragmentationMapSpace" units="%">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    External memory fragmentation in the map space after each GC in percent.
  </summary>
</histogram>

<histogram name="V8.MemoryExternalFragmentationOldDataSpace" units="%">
  <obsolete>
    This histogram has been replaced by V8.MemoryExternalFragmentationOldSpace.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    External memory fragmentation in the old data space after each GC in
    percent.
  </summary>
</histogram>

<histogram name="V8.MemoryExternalFragmentationOldPointerSpace" units="%">
  <obsolete>
    This histogram has been replaced by V8.MemoryExternalFragmentationOldSpace.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    External memory fragmentation in the old pointer space after each GC in
    percent.
  </summary>
</histogram>

<histogram name="V8.MemoryExternalFragmentationOldSpace" units="%">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    External memory fragmentation in the old space after each GC in percent.
  </summary>
</histogram>

<histogram name="V8.MemoryExternalFragmentationTotal" units="%">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    Total external memory fragmentation after each GC in percent.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapCommitted" units="KB">
  <owner>ulan@chromium.org</owner>
  <summary>
    The committed memory used by V8 in KB averaged over time, logged before each
    GC.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapFractionCellSpace" units="%">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    Fraction of the total heap used by the cell space after each GC in percent.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapFractionCodeSpace" units="%">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    Fraction of the total heap used by the code space after each GC in percent.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapFractionLoSpace" units="%">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    Fraction of the total heap used by the lo space after each GC in percent.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapFractionMapSpace" units="%">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    Fraction of the total heap used by the map space after each GC in percent.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapFractionNewSpace" units="%">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    Fraction of the total heap used by the new space after each GC in percent.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapFractionOldDataSpace" units="%">
  <obsolete>
    This histogram has been replaced by V8.MemoryHeapFractionOldSpace.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    Fraction of the total heap used by the old data space after each GC in
    percent.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapFractionOldPointerSpace" units="%">
  <obsolete>
    This histogram has been replaced by V8.MemoryHeapFractionOldSpace.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    Fraction of the total heap used by the old pointer space after each GC in
    percent.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapFractionOldSpace" units="%">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    Fraction of the total heap used by the old space after each GC in percent.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapSampleCellSpaceCommitted" units="KB">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    The size of committed memory in the cell space after each GC in KB.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapSampleCodeSpaceCommitted" units="KB">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    The size of committed memory in the code space after each GC in KB.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapSampleMapSpaceCommitted" units="KB">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    The size of committed memory in the map space after each GC in KB.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapSampleTotalCommitted" units="KB">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    The total size of committed memory used by V8 after each GC in KB.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapSampleTotalUsed" units="KB">
  <owner>jochen@chromium.org</owner>
  <owner>hpayer@chromium.org</owner>
  <summary>
    The total size of live memory used by V8 after each GC in KB.
  </summary>
</histogram>

<histogram name="V8.MemoryHeapUsed" units="KB">
  <owner>ulan@chromium.org</owner>
  <summary>
    The live memory used by V8 in KB averaged over time, logged before each GC.
  </summary>
</histogram>

<histogram name="V8.Parse" units="ms">
  <obsolete>
    This histogram has been replaced by V8.ParseMicroSeconds.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <owner>marja@chromium.org</owner>
  <summary>Time spent in V8 parser.</summary>
</histogram>

<histogram name="V8.ParseLazy" units="ms">
  <obsolete>
    This histogram has been replaced by V8.ParseLazyMicroSeconds.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <owner>marja@chromium.org</owner>
  <summary>
    Time spent parsing functions when they are lazily compiled on first run.
  </summary>
</histogram>

<histogram name="V8.ParseLazyMicroSeconds" units="microseconds">
  <obsolete>
    Deprecated.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <owner>marja@chromium.org</owner>
  <summary>
    Time spent parsing functions when they are lazily compiled on first run.
  </summary>
</histogram>

<histogram name="V8.ParseMicroSeconds" units="microseconds">
  <obsolete>
    Deprecated.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <owner>marja@chromium.org</owner>
  <summary>Time spent in V8 parser.</summary>
</histogram>

<histogram name="V8.PreParse" units="ms">
  <obsolete>
    This histogram has been replaced by V8.PreParseMicroSeconds.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <owner>marja@chromium.org</owner>
  <summary>Time spent preparsing source code.</summary>
</histogram>

<histogram name="V8.PreParseMicroSeconds" units="microseconds">
  <obsolete>
    Deprecated.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <owner>marja@chromium.org</owner>
  <summary>Time spent preparsing source code.</summary>
</histogram>

<histogram name="V8.Rewriting">
  <obsolete>
    This histogram is no longer present in V8.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <summary>Time spent on rewriting ASTs before compilation.</summary>
</histogram>

<histogram name="V8.RSetLO">
  <obsolete>
    This histogram is no longer present in V8.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <summary>TBD</summary>
</histogram>

<histogram name="V8.RSetPaged">
  <obsolete>
    This histogram is no longer present in V8.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <summary>TBD</summary>
</histogram>

<histogram name="V8.ScriptCache">
  <obsolete>
    This histogram is no longer present in V8.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <owner>yangguo@chromium.org</owner>
  <summary>
    The generation a compiled script was found in the compilation cache.
  </summary>
</histogram>

<histogram name="V8.UsageAnalysis">
  <obsolete>
    This histogram is no longer present in V8.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <summary>Time spent analysing the usage of variables.</summary>
</histogram>

<histogram name="V8.VariableAllocation">
  <obsolete>
    This histogram is no longer present in V8.
  </obsolete>
  <owner>jochen@chromium.org</owner>
  <summary>TBD</summary>
</histogram>

<histogram name="V8.WasmCompileFunctionMicroSeconds" units="microseconds">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <summary>Time to compile a WebAssembly function.</summary>
</histogram>

<histogram name="V8.WasmCompileFunctionPeakMemoryBytes" units="bytes">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <summary>Peak memory used to compile a WebAssembly function.</summary>
</histogram>

<histogram name="V8.WasmCompileModuleMicroSeconds" units="microseconds">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <summary>Time to compile a WebAssembly module.</summary>
</histogram>

<histogram name="V8.WasmDecodeFunctionMicroSeconds" units="microseconds">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <summary>Time to decode a WebAssembly function.</summary>
</histogram>

<histogram name="V8.WasmDecodeModuleMicroSeconds" units="microseconds">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <summary>Time to decode a WebAssembly module.</summary>
</histogram>

<histogram name="V8.WasmDecodeModulePeakMemoryBytes" units="bytes">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <summary>Peak memory used to decode a WebAssembly module.</summary>
</histogram>

<histogram name="V8.WasmFunctionSizeBytes" units="bytes">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <summary>Size of a WebAssembly function.</summary>
</histogram>

<histogram name="V8.WasmFunctionsPerModule" units="functions">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <summary>Function count in each WebAssembly module.</summary>
</histogram>

<histogram name="V8.WasmInstantiateModuleMicroSeconds" units="microseconds">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <summary>Time to instantiate a WebAssembly module.</summary>
</histogram>

<histogram name="V8.WasmMaxMemPagesCount" units="pages">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <summary>
    Number of 64KiB pages a WebAssembly module declares as its maximum
    requirement.
  </summary>
</histogram>

<histogram name="V8.WasmMinMemPagesCount" units="pages">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <summary>
    Number of 64KiB pages a WebAssembly module declares as its minimum
    requirement.
  </summary>
</histogram>

<histogram name="V8.WasmModuleSizeBytes" units="bytes">
  <owner>bradnelson@chromium.org</owner>
  <owner>titzer@chromium.org</owner>
  <summary>Size of a WebAssembly module.</summary>
</histogram>

<histogram name="Variations.CreateTrials.SeedExpiry"
    enum="VariationsSeedExpiry">
  <owner>asvitkine@chromium.org</owner>
  <owner>fdoray@chromium.org</owner>
  <summary>
    The result of verifying if the variations seed is expired, recorded before
    trials are created from the seed. Expired seeds are treated as not existing.
  </summary>
</histogram>

<histogram name="Variations.DisabledNoEntropyProvider" enum="BooleanHit">
  <obsolete>
    Deprecated 1/2013. No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    A count of the number of times we hit the code where a field trial is
    disabled because no entropy provider was provided.
  </summary>
</histogram>

<histogram name="Variations.FailedRequestErrorCode" enum="NetErrorCodes">
  <obsolete>
    Deprecated 10/2016. Replaced by Variations.SeedFetchResponseOrErrorCode.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The counts of network error codes encountered by VariationsService when an
    attempt to fetch a variations seed from the server fails.
  </summary>
</histogram>

<histogram name="Variations.FetchNotModifiedLatency" units="ms">
  <obsolete>
    Deprecated 2/2014. No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The latency of a VariationsService seed fetch that results in a not modified
    response.
  </summary>
</histogram>

<histogram name="Variations.FetchOtherLatency" units="ms">
  <obsolete>
    Deprecated 2/2014. No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The latency of a VariationsService seed fetch that results in neither a
    success nor not modified response.
  </summary>
</histogram>

<histogram name="Variations.FetchSuccessLatency" units="ms">
  <obsolete>
    Deprecated 2/2014. No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The latency of a VariationsService seed fetch that results in a success
    response.
  </summary>
</histogram>

<histogram name="Variations.FirstRun.SeedConnectTime" units="ms">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The latency of connection to the variations server when fetching an initial
    variations seed during Android Chrome first run. This is included in the
    Variations.FirstRun.SeedFetchTime measurement. Only considers cases where an
    HTTP 200 result was received.
  </summary>
</histogram>

<histogram name="Variations.FirstRun.SeedFetchResult"
    enum="VariationsFirstRunSeedFetchResult">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The result of attempting to fetch an initial variations seed during Android
    Chrome first run. Records both the HTTP code and various error values in one
    enumeration.
  </summary>
</histogram>

<histogram name="Variations.FirstRun.SeedFetchTime" units="ms">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The latency of fetching an initial variations seed during Android Chrome
    first run. Only considers cases where an HTTP 200 result was received.
  </summary>
</histogram>

<histogram name="Variations.FirstRunResult" enum="VariationsFirstRunResult">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The result of attempting to import an initial variations seed during Android
    Chrome first run. Logged from VariationsSeedStore::LoadSeed when seed prefs
    do not exist.
  </summary>
</histogram>

<histogram name="Variations.GoogleUpdateRegistryLabelsNeedClearing"
    enum="BooleanNeedsClearing">
  <owner>jwd@chromium.org</owner>
  <summary>
    If the registry value for Google Update experiment labels contains
    Variations experiments, and therefore needs to have them cleared. This will
    be recorderd once per sessions, right before attempting to clear the value.
  </summary>
</histogram>

<histogram name="Variations.HeaderConstructionTime" units="microseconds">
  <owner>asvitkine@chromium.org</owner>
  <summary>How long it took to create the X-Client-Data header.</summary>
</histogram>

<histogram name="Variations.Headers.ExperimentCount">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Records number of experiment ids in the X-Client-Data header at the time the
    header is constructed.
  </summary>
</histogram>

<histogram name="Variations.Headers.URLValidationResult"
    enum="VariationsHeadersURLValidationResult">
  <owner>jwd@chromium.org</owner>
  <summary>
    The result of the check of whether to append Variations headers to a url.
  </summary>
</histogram>

<histogram name="Variations.LoadPermanentConsistencyCountryResult"
    enum="VariationsPermanentConsistencyCountryResult">
  <owner>sclittle@chromium.org</owner>
  <summary>
    Records how the country code saved in prefs used for filtering permanent
    consistency studies compares to the country code in the variations seed.
    This is recorded each time the saved country code is loaded from the pref.
  </summary>
</histogram>

<histogram name="Variations.LoadSeedSignature" enum="VariationSeedSignature">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The result of verifying the variations seed signature, recorded when the
    variations seed is stored to Local State after being retrieved from the
    server.
  </summary>
</histogram>

<histogram name="Variations.NetworkAvailability" enum="BooleanSuccess">
  <obsolete>
    Deprecated 9/2012. No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Whether or not the network was available when requested by the
    VariationsService.
  </summary>
</histogram>

<histogram name="Variations.RequestCount">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Number of previous requests to the variations server in the same session,
    logged each time a new request is attempted to the variations server. For
    example, the value of the 0th bucket indicates the number of initial
    requests to the server that took place.
  </summary>
</histogram>

<histogram name="Variations.ResourceRequestsAllowed"
    enum="VariationsResourceRequestsAllowedState">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Counts the number of times the VariationsService is allowed or not allowed
    to make a request due to the ResourceRequestAllowedNotifier.
  </summary>
</histogram>

<histogram name="Variations.SeedDateChange" enum="VariationsSeedDateChange">
  <owner>jwd@chromium.org</owner>
  <summary>
    Counts if a response from the variations server is the first response of the
    day or not. This is counted when a new valid seed or a 304 is received. The
    date line is computed in UTC and the times being compared are the server
    time from the server response and the stored server time from the last
    successful request.
  </summary>
</histogram>

<histogram name="Variations.SeedDateSkew.BuildTimeAheadBy" units="days">
  <obsolete>
    Deprecated as of 9/2015.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logged on startup when creating field trials from the variations seed if the
    build time is ahead of or within 24 hours of the kVariationsSeedDate. Used
    as an experiment to see whether the build time could be used to discard very
    old seeds.
  </summary>
</histogram>

<histogram name="Variations.SeedDateSkew.BuildTimeBehindBy" units="days">
  <obsolete>
    Deprecated as of 9/2015.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logged on startup when creating field trials from the variations seed if the
    build time is behind the kVariationsSeedDate by a day or more. Used as an
    experiment to see whether the build time could be used to discard very old
    seeds.
  </summary>
</histogram>

<histogram name="Variations.SeedDateSkew.SystemClockAheadBy" units="days">
  <obsolete>
    Deprecated as of 9/2015.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logged on startup when creating field trials from the variations seed if the
    system clock is ahead of or within 24 hours of the kVariationsSeedDate. Used
    as an experiment to see whether the system clock could be used to discard
    very old seeds.
  </summary>
</histogram>

<histogram name="Variations.SeedDateSkew.SystemClockBehindBy" units="days">
  <obsolete>
    Deprecated as of 9/2015.
  </obsolete>
  <owner>gab@chromium.org</owner>
  <summary>
    Logged on startup when creating field trials from the variations seed if the
    system clock is behind the kVariationsSeedDate by a day or more. Used as an
    experiment to see whether the system clock could be used to discard very old
    seeds.
  </summary>
</histogram>

<histogram name="Variations.SeedEmpty" enum="VariationsSeedEmpty">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Records whether the variations seed in local state is empty (does not exist)
    on startup.
  </summary>
</histogram>

<histogram name="Variations.SeedFetchResponseCode" enum="HttpResponseCode">
  <obsolete>
    Deprecated 10/2016. Replaced by Variations.SeedFetchResponseOrErrorCode.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The counts of HTTP response codes encountered by VariationsService when
    attempting to fetch a variations seed from the server.
  </summary>
</histogram>

<histogram name="Variations.SeedFetchResponseOrErrorCode"
    enum="CombinedHttpResponseAndNetErrorCode">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    HTTP response codes and network error encountered by VariationsService when
    attempting to fetch a variations seed from the server.
  </summary>
</histogram>

<histogram name="Variations.SeedFreshness" units="minutes">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The time interval between when the variations seed was last downloaded and
    when it was used.
  </summary>
</histogram>

<histogram name="Variations.SeedStoreResult" enum="VariationsSeedStoreResult">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Records the result of storing the variations seed that was received from the
    server.
  </summary>
</histogram>

<histogram name="Variations.ServerStudyExpiredUniformity1Percent"
    enum="BooleanExpired">
  <obsolete>
    Deprecated 11/2012. No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Whether or not the 1-Percent uniformity trial from the Variations server was
    expired when loaded.
  </summary>
</histogram>

<histogram name="Variations.SimulateSeed.Duration" units="ms">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Records the time taken to perform variations seed simulation.

    Recorded on every variation seed simulation, which follows a fetch.
  </summary>
</histogram>

<histogram name="Variations.SimulateSeed.KillBestEffortChanges">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Records the result of variations seed simulation. Logs the number of
    experiment groups in the &quot;kill best effort&quot; category that are
    expected to change on a restart of the browser with the received seed.

    Recorded on every variation seed simulation, which follows a fetch.
  </summary>
</histogram>

<histogram name="Variations.SimulateSeed.KillCriticalChanges">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Records the result of variations seed simulation. Logs the number of
    experiment groups in the &quot;kill critical&quot; category that are
    expected to change on a restart of the browser with the received seed.

    Recorded on every variation seed simulation, which follows a fetch.
  </summary>
</histogram>

<histogram name="Variations.SimulateSeed.NormalChanges">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Records the result of variations seed simulation. Logs the number of
    experiment groups in the &quot;normal&quot; category that are expected to
    change on a restart of the browser with the received seed.

    Recorded on every variation seed simulation, which follows a fetch.
  </summary>
</histogram>

<histogram name="Variations.StoreSeed.DeltaSize" units="KiB">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    On successful save of a delta-compressed variations seed, records the size
    of the delta in KiB.
  </summary>
</histogram>

<histogram name="Variations.StoreSeed.DeltaSize.ReductionPercent" units="%">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    On successful save of a delta-compressed variations seed, records the size
    of the delta as a percentage of the decoded seed size.
  </summary>
</histogram>

<histogram name="Variations.StoreSeed.GzipSize" units="KiB">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Records the size of the gzip-compressed variations seed in KiB.
  </summary>
</histogram>

<histogram name="Variations.StoreSeed.GzipSize.ReductionPercent" units="%">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Records the size of the gzip-compressed variations seed as a percentage of
    the decoded seed size. Note that variations seed could be first
    delta-compressed and then gzip-compressed. In this case we record
    gzip-compressed seed size as a percentage of the delta-compressed seed size.
  </summary>
</histogram>

<histogram name="Variations.StoreSeed.Size" units="KiB">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    On successful save of a non-delta-compressed variations seed, records the
    size of the received seed in KiB.
  </summary>
</histogram>

<histogram name="Variations.StoreSeedSignature" enum="VariationSeedSignature">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The result of verifying the variations seed signature, recorded when the
    variations seed is loaded from Local State.
  </summary>
</histogram>

<histogram name="Variations.StringsOverridden" units="strings">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Records the number of UI strings overriden for each study that overrides
    strings. Recorded at start up when each study is evaluated.
  </summary>
</histogram>

<histogram name="Variations.TimeSinceLastFetchAttempt" units="minutes">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    The time since the previous attempt to fetch the variations seed within the
    same session, with 0 indicating that this is the first attempt. Recorded
    when a variations seed fetch is attempted by the VariationsService.
  </summary>
</histogram>

<histogram name="Variations.UniformityTrialExpired" enum="BooleanHit">
  <obsolete>
    Deprecated 1/2013. No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    A count of the number of times we hit the code where the
    UMA-Uniformity-Trial-1-Percent field trial is disabled as a result of the
    expiration check.
  </summary>
</histogram>

<histogram name="Variations.UniformityTrialGroupNotActive"
    enum="UniformityTrialGroupNotActive">
  <obsolete>
    Deprecated 1/2013. No longer tracked.
  </obsolete>
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Tracks whether the UMA-Uniformity-Trial-1-Percent field trial was not active
    and which factors contributed to it.
  </summary>
</histogram>

<histogram name="Variations.UserChannel" enum="UserChannels">
  <owner>asvitkine@chromium.org</owner>
  <summary>
    Log the user channel assigned at browser startup used for evaluating the
    variations seeds.
  </summary>
</histogram>

<histogram name="Vibration.Context" enum="NavigatorVibrationType">
  <owner>binlu@google.com</owner>
  <summary>
    Records instances of navigator.vibrate. Includes whether or not it comes
    with a user gesture, same-origin subframe or cross-origin subframe.
  </summary>
</histogram>

<histogram name="VideoPlayer.CastAPIExtensionStatus"
    enum="VideoPlayerCastAPIExtensionStatus">
  <owner>yoshiki@chromium.org</owner>
  <summary>
    Chrome OS Video Player: the results of the cast API extension load. This is
    recorded after the initialization of the extension is finished.
  </summary>
</histogram>

<histogram name="VideoPlayer.CastedVideoLength" units="seconds">
  <owner>yoshiki@chromium.org</owner>
  <summary>
    Chrome OS Video Player: the length of casted video (in seconds).
  </summary>
</histogram>

<histogram name="VideoPlayer.NumberOfCastDevices">
  <owner>yoshiki@chromium.org</owner>
  <summary>
    Chrome OS Video Player: the number of cast devices. This is recorded when
    the cast extension finishes the discovery.
  </summary>
</histogram>

<histogram name="VideoPlayer.NumberOfOpenedFiles">
  <owner>yoshiki@chromium.org</owner>
  <summary>
    Chrome OS Video Player: the number of files being opened on launch.
  </summary>
</histogram>

<histogram name="VideoPlayer.PlayType" enum="VideoPlayerPlayType">
  <owner>yoshiki@chromium.org</owner>
  <summary>
    Chrome OS Video Player: type of playback (eg. local play, cast). This is
    recorded when a video starts playing.
  </summary>
</histogram>

<histogram name="Viewport.DidScalePage" enum="BooleanDidScalePage">
  <owner>bokan@chromium.org</owner>
  <summary>
    Tracks the proportion of non-mobile optimized (i.e. zoom disabled or layout
    width matches viewport) page views that had a user-initiated page scale
    (e.g. pinch-zoom, double-tap). Recorded on navigation to a new page - on
    Android only.
  </summary>
</histogram>

<histogram name="Viewport.MaxPageScale" enum="PageScaleFactorRange">
  <owner>bokan@chromium.org</owner>
  <summary>
    Tracks the maximum scale factor that a user has scaled to over the lifetime
    of the page. The scale is counted at pinch end (e.g. zooming to 300% and
    back out to 150% in one gesture would count as 150%). Reported only on
    non-mobile optimized pages (i.e. zoom disabled or layout width matches
    viewport) which have had a page scale changing gesture. Recorded on
    navigation to a new page - on Android only.
  </summary>
</histogram>

<histogram name="Viewport.MetaTagType" enum="MetaTagTypeEnum">
  <owner>bokan@chromium.org</owner>
  <summary>
    The viewport meta tag type seen on each page load. Only recorded on Android.
  </summary>
</histogram>

<histogram name="Viewport.OverviewZoom" units="%">
  <owner>bokan@chromium.org</owner>
  <summary>
    The screen width as a percentage of viewport width (i.e. zoom at which we
    can see the whole page). Only recorded on Android and for viewport meta tags
    with constant width.
  </summary>
</histogram>

<histogram name="VirtualKeyboard.InitLatency.FirstLoad" units="ms">
  <owner>oka@chromium.org</owner>
  <summary>Latency of the keyboard being loaded for the first time.</summary>
</histogram>

<histogram name="VirtualKeyboard.KeyboardControlEvent"
    enum="KeyboardControlEvent">
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    A count of various control events that can occur on the virtual keyboard,
    such as showing and hiding.
  </summary>
</histogram>

<histogram name="VirtualKeyboard.KeystrokesBetweenBackspace">
  <obsolete>
    Deprecated 04/2016 as doesn't have data nor owner.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Counts the number of keys typed by the virtual keyboard between each
    backspace. This metric provides a rough approximation of an error rate for
    the virtual keyboard.
  </summary>
</histogram>

<histogram name="VRDisplayPresentResult" enum="PresentationResult">
  <owner>billorr@chromium.org</owner>
  <summary>
    The result of calls to VRDisplay::requestPresent().  Reported twice per
    requestPresent() call, once to record the call, and once to record the
    result.
  </summary>
</histogram>

<histogram name="VRSessionNavigationCount">
  <owner>billorr@chromium.org</owner>
  <summary>
    Count of navigations while in a VR session.  Logged when a new disjoint
    session has begun, or when the session has ended in a non-continuable way.
  </summary>
</histogram>

<histogram name="VRSessionTime" units="ms">
  <owner>billorr@chromium.org</owner>
  <summary>
    The duration of the VR session.  Logged when a new disjoint session has
    begun, or when the session has ended in a non-continuable way.
  </summary>
</histogram>

<histogram name="VRSessionVideoCount">
  <owner>billorr@chromium.org</owner>
  <summary>
    Number of videos watched in a VR session.  Logged when a new disjoint
    session has begun, or when the session has ended in a non-continuable way.
  </summary>
</histogram>

<histogram name="VRSessionVideoTime" units="ms">
  <owner>billorr@chromium.org</owner>
  <summary>
    The duration of a single session spent watching video in VR.  Logged when a
    new disjoint session has begun, or when the session has ended in a
    non-continuable way.
  </summary>
</histogram>

<histogram name="VRViewerType" enum="VRViewerType">
  <owner>billorr@chromium.org</owner>
  <summary>The type of headset being used for VR.</summary>
</histogram>

<histogram name="Wallet.ApiCallDuration.AcceptLegalDocuments" units="ms">
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the time taken by Google Online Wallet server's accept legal
    document API call.
  </summary>
</histogram>

<histogram name="Wallet.ApiCallDuration.AuthenticateInstrument" units="ms">
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the time taken by Google Online Wallet server's authenticate
    instrument API call.
  </summary>
</histogram>

<histogram name="Wallet.ApiCallDuration.GetFullWallet" units="ms">
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the time taken by Google Online Wallet server's get full wallet API
    call.
  </summary>
</histogram>

<histogram name="Wallet.ApiCallDuration.GetWalletItems" units="ms">
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the time taken by Google Online Wallet server's get wallet items
    API call.
  </summary>
</histogram>

<histogram name="Wallet.ApiCallDuration.SaveAddress" units="ms">
  <obsolete>
    Deprecated as of 7/2013, replaced by Wallet.ApiCallDuration.SaveToWallet.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the time taken by Google Online Wallet server's save address API
    call.
  </summary>
</histogram>

<histogram name="Wallet.ApiCallDuration.SaveInstrument" units="ms">
  <obsolete>
    Deprecated as of 7/2013, replaced by Wallet.ApiCallDuration.SaveToWallet.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the time taken by Google Online Wallet server's save instrument API
    call.
  </summary>
</histogram>

<histogram name="Wallet.ApiCallDuration.SaveInstrumentAndAddress" units="ms">
  <obsolete>
    Deprecated as of 7/2013, replaced by Wallet.ApiCallDuration.SaveToWallet.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the time taken by Google Online Wallet server's save instument and
    address API call.
  </summary>
</histogram>

<histogram name="Wallet.ApiCallDuration.SaveToWallet" units="ms">
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the time taken by Google Online Wallet server's save to wallet API
    call.
  </summary>
</histogram>

<histogram name="Wallet.ApiCallDuration.SendStatus" units="ms">
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the time taken by Google Online Wallet server's send status API
    call.
  </summary>
</histogram>

<histogram name="Wallet.ApiCallDuration.UnknownApiCall" units="ms">
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the time taken by Google Online Wallet server's unknown API calls.
  </summary>
</histogram>

<histogram name="Wallet.ApiCallDuration.UpdateAddress" units="ms">
  <obsolete>
    Deprecated as of 7/2013, replaced by Wallet.ApiCallDuration.SaveToWallet.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the time taken by Google Online Wallet server's update address API
    call.
  </summary>
</histogram>

<histogram name="Wallet.ApiCallDuration.UpdateInstrument" units="ms">
  <obsolete>
    Deprecated as of 7/2013, replaced by Wallet.ApiCallDuration.SaveToWallet.
  </obsolete>
  <owner>estade@chromium.org</owner>
  <summary>
    Measures the time taken by Google Online Wallet server's update instument
    API call.
  </summary>
</histogram>

<histogram name="Wallet.MalformedResponse" enum="WalletApiCall">
  <owner>estade@chromium.org</owner>
  <summary>
    Counts the number of times each Wallet API failed due to being unable to
    parse the response.
  </summary>
</histogram>

<histogram name="Wallet.ResponseCode" enum="HttpResponseCode">
  <owner>estade@chromium.org</owner>
  <summary>HTTP response codes seen by Wallet client.</summary>
</histogram>

<histogram name="Web.CertVerifyAgreement" enum="WebCertVerifyAgreement">
  <obsolete>
    Deprecated 08/2016 because CertVerifier is not used for web view cert
    verification.
  </obsolete>
  <owner>eugenebut@chromium.com</owner>
  <summary>
    [iOS] Reports certificate verification mismatch between SecTrust API and
    CertVerifier. SecTrust API is used for making load/no-load decision and
    CertVerifier is used for getting the reason of verification failure. It is
    expected that mismatches will happen for those 2 approaches (e.g. SecTrust
    API considers cert as good, but CertVerifier considers same cert as bad).
    This metric helps to understand how common mismatches are.
  </summary>
</histogram>

<histogram name="Web.CurrentURLEqualsLastCommittedURL" enum="BooleanEqual">
  <owner>michaeldo@chromium.com</owner>
  <summary>
    [iOS] Reports URL matches between the return value from the WebState's
    GetLastCommittedURL and GetCurrentURL methods. It is expected the values
    will be equal to confirm that GetCurrentURL can now be replaced with
    GetLastCommittedURL. This will be called each time WebStateImpl::
    GetCurrentURL(URLVerificationTrustLevel* trust_level) is called, which is an
    old method of obtaining the url and trust level. The trust level was only
    relevant with UIWebView, so this method is only called from code which has
    not yet been updated since UIWebView was removed.
  </summary>
</histogram>

<histogram name="WebApk.Install.GooglePlayInstallResult"
    enum="WebApkGooglePlayInstallResult">
  <owner>hanxi@chromium.org</owner>
  <owner>pkotwicz@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Records whether installing a WebAPK from Google Play succeeded. If not,
    records the reason that the install failed.
  </summary>
</histogram>

<histogram name="WebApk.Install.GooglePlayInstallState"
    enum="WebApkGooglePlayInstallState">
  <owner>hanxi@chromium.org</owner>
  <owner>pkotwicz@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    On web app and WebAPK installation, records whether a WebAPK could be
    installed via the Google Play flow. If not, records why the WebAPK could not
    be installed via the Google Play flow (and a web app was added to the
    homescreen instead). Warning: This metric is recorded whenever a site is
    added to the homescreeen as a web app, not just for sites with a WebAPK
    compatible Web Manifest.
  </summary>
</histogram>

<histogram name="WebApk.Install.InfoBarShown" enum="WebApkInstallInfoBarShown">
  <owner>hanxi@chromium.org</owner>
  <owner>pkotwicz@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    WebAPKs are PWAs wrapped in an Android apk, installed from an app banner or
    the add to homescreen menu item. This stat tracks whether the installation
    is triggered by an app banner or by the add to homescreen menu.
  </summary>
</histogram>

<histogram name="WebApk.Install.InstallDuration" units="ms">
  <owner>hanxi@chromium.org</owner>
  <owner>pkotwicz@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    How long it takes to install a WebAPK. The time is measured from the time
    that the user initiates the install to the time that the Open button is
    shown in the infobar. This metric is only recorded when install succeeds.
  </summary>
</histogram>

<histogram name="WebApk.Install.InstallEvent" enum="WebApkInstallEvent">
  <owner>hanxi@chromium.org</owner>
  <owner>pkotwicz@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    WebAPKs are PWAs wrapped in an Android apk, installed from an app banner or
    the add to homescreen menu item. This stat tracks the WebAPKs installation
    events, including whether the infobar is ignored, whether the infobar is
    dismissed by the user before or during the installation, as well as whether
    the installation was successful.
  </summary>
</histogram>

<histogram name="WebApk.Install.InstallSource" enum="WebApkInstallSource">
  <owner>hanxi@chromium.org</owner>
  <owner>pkotwicz@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    WebAPKs are PWAs wrapped in an Android apk, installed from an app banner or
    the add to homescreen menu item. If the installation is via an app banner,
    user could either accept to install or dismiss the infobar; while via the
    add to homescreen menu, the installation will start automatically. This stat
    tracks the ways that user accepts to install a WebAPK.
  </summary>
</histogram>

<histogram name="WebApk.Install.UserAction" enum="WebApkUserAction">
  <owner>hanxi@chromium.org</owner>
  <owner>pkotwicz@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    WebAPKs are PWAs wrapped in an Android apk, installed from an app banner or
    the add to homescreen menu item. If the user clicks the add to homescreen
    menu, and a WebAPK has been installed before, an infobar with an open button
    will show. The open button will also show on the infobar after a successful
    installation. This stat tracks whether user clicks the open button on the
    infobar or dismiss it.
  </summary>
</histogram>

<histogram name="WebApk.OpenFromMenu" enum="WebApkOpenResult">
  <owner>hanxi@chromium.org</owner>
  <owner>pkotwicz@chromium.org</owner>
  <summary>
    When a user visits a PWA for which they have a WebAPK installed, the menu
    item changes from 'Add to homescreen' to 'Open WebAPK'. This stat tracks
    whether the opening of the WebAPK is successful when this menu item is
    clicked.
  </summary>
</histogram>

<histogram name="WebApk.Update.RequestQueued" enum="WebApkUpdateRequestQueued">
  <owner>hanxi@chromium.org</owner>
  <owner>pkotwicz@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Records the number of times that a WebAPK update request was queued (i.e.
    waiting for the WebAPK to be backgrounded) before being sent to the server.
  </summary>
</histogram>

<histogram name="WebApk.Update.RequestSent" enum="WebApkUpdateRequestSent">
  <owner>hanxi@chromium.org</owner>
  <owner>pkotwicz@chromium.org</owner>
  <owner>yfriedman@chromium.org</owner>
  <summary>
    Records the time point when a request to update a WebAPK is sent to the
    WebAPK Server.
  </summary>
</histogram>

<histogram name="Webapp.InstallabilityCheckStatus.MenuItemAddToHomescreen"
    enum="InstallabilityCheckStatus">
  <owner>dominickn@chromium.org</owner>
  <summary>
    Records whether or not the check that a site is or isn't a Progressive Web
    App (PWA) has completed when the user taps the add to homescreen menu item
    on Android.
  </summary>
</histogram>

<histogram name="Webapp.InstallabilityCheckStatus.MenuOpen"
    enum="InstallabilityCheckStatus">
  <owner>dominickn@chromium.org</owner>
  <summary>
    Records whether or not the check that a site is or isn't a Progressive Web
    App (PWA) has completed when the user opens the menu on Android.
  </summary>
</histogram>

<histogram name="Webapp.Splashscreen.BackgroundColor"
    enum="SplashscreenColorStatus">
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Records the status of the splashscreen's background color (default or
    custom).
  </summary>
</histogram>

<histogram name="Webapp.Splashscreen.Duration" units="ms">
  <owner>mlamouri@chromium.org</owner>
  <summary>Records the time during which the splashscreen was visible.</summary>
</histogram>

<histogram name="Webapp.Splashscreen.Hides" enum="SplashscreenHidesReason">
  <owner>mlamouri@chromium.org</owner>
  <summary>Records the signal that was used to hide the splashscreen.</summary>
</histogram>

<histogram name="Webapp.Splashscreen.Icon.Size" units="dp">
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Records the size of the icon used to construct the splashscreen in device
    pixels (ie. real size divided by device pixel density). This is only
    recording one dimension, the icon being square.
  </summary>
</histogram>

<histogram name="Webapp.Splashscreen.Icon.Type" enum="SplashscreenIconType">
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Records the origin of the icon used to construct the splashscreen.
  </summary>
</histogram>

<histogram name="Webapp.Splashscreen.ThemeColor" enum="SplashscreenColorStatus">
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Records the status of the splashscreen's theme color (default or custom).
  </summary>
</histogram>

<histogram name="WebAudio.AudioBuffer.Length" units="frames">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The length (in frames) requested by createBuffer(). Recorded for every call
    to createBuffer(). Probably many (tens or hundreds) per page.
  </summary>
</histogram>

<histogram name="WebAudio.AudioBuffer.NumberOfChannels">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The number of channels requested by createBuffer(). Recorded for every call
    to createBuffer(). Probably many (tens or hundreds) per page.
  </summary>
</histogram>

<histogram name="WebAudio.AudioBuffer.SampleRate" units="Hz">
  <obsolete>
    Replaced by SampleRate384kHz in Issue 644683 on 2016/10 due to higher
    supported sample rates.
  </obsolete>
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The sample rate (in Hz) requested by createBuffer(). Recorded for every call
    to createBuffer(). Probably many (tens or hundreds) per page.
  </summary>
</histogram>

<histogram name="WebAudio.AudioBuffer.SampleRate384kHz" units="Hz">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The sample rate (in Hz) requested by createBuffer(). Recorded for every call
    to createBuffer(). Probably many (tens or hundreds) per page.
  </summary>
</histogram>

<histogram name="WebAudio.AudioBuffer.SampleRateRatio">
  <obsolete>
    Replaced by SampleRateRatio384kHz in Issue 644683 on 2016/10 due to higher
    supported sample rates.
  </obsolete>
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The ratio of the buffer sample rate from createBuffer() to the context
    sample rate. This indicates if the buffer needs to be resampled.  Recorded
    for every call to createBuffer().  Probably many (tens or hundreds) per
    page.
  </summary>
</histogram>

<histogram name="WebAudio.AudioBuffer.SampleRateRatio384kHz">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The ratio of the buffer sample rate from createBuffer() to the context
    sample rate. This indicates if the buffer needs to be resampled.  Recorded
    for every call to createBuffer().  Probably many (tens or hundreds) per
    page.
  </summary>
</histogram>

<histogram name="WebAudio.AudioContext.HardwareSampleRate" units="Hz">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The hardware sample rate (in Hz) used by an AudioContext. Recorded for every
    WebAudio AudioContext that is created; probably only one or two per page.
  </summary>
</histogram>

<histogram name="WebAudio.AudioContext.MaxChannelsAvailable">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The maximum number of (hardware) channels available in an AudioContext.
    Recorded for every WebAudio AudioContext that is created; probably only one
    or two per page.
  </summary>
</histogram>

<histogram name="WebAudio.AudioDestination.CallbackBufferSize">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The callback buffer size (in audio frames) for WebAudio rendering between
    the WebAudio graph and the audio device thread.  This can differ from the
    value recommended by the audio hardware due to internal constraints in
    WebAudio. Recorded for every WebAudio AudioContext that is created.
  </summary>
</histogram>

<histogram name="WebAudio.AudioDestination.HardwareBufferSize">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The buffer size (in audio frames) for WebAudio rendering recommended by the
    audio hardware.  Recorded for every WebAudio AudioContext that is created.
  </summary>
</histogram>

<histogram name="WebAudio.Autoplay.CrossOrigin" enum="WebAudioAutoplayStatus">
  <owner>mlamouri@chromium.org</owner>
  <summary>The autoplay status of an AudioContext when destroyed.</summary>
</histogram>

<histogram name="WebAudio.BiquadFilter.Q.Highpass">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The Q value (in 0.25 dB steps) used for a highpass BiquadFilter. Recorded
    each time the value is set for a highpass filter via the .value setter or
    the automation methods linearRampToValueAtTime, exponentialValueAtTime, and
    setValueAtTime.
  </summary>
</histogram>

<histogram name="WebAudio.BiquadFilter.Q.Lowpass">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The Q value (in 0.25 dB steps) used for a lowpass BiquadFilter. Recorded
    each time the value is set for a lowpass filter via the .value setter or the
    automation methods linearRampToValueAtTime, exponentialValueAtTime, and
    setValueAtTime.
  </summary>
</histogram>

<histogram name="WebAudio.BiquadFilter.Type" enum="BiquadFilterType">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The type of the BiquadFilterNode. Recorded each time the type is set. This
    recorded once (to lowpass) when a biquad filter is created and also recorded
    whenever the filter type changes due to user action or programatically. It
    is unlikely the type will change more than once.
  </summary>
</histogram>

<histogram name="WebAudio.IIRFilterNode.Order">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The order of the WebAudio IIRFilterNode.  The order is one less than the
    number of feedback coefficients used in the denominator of the IIRFilter
    transfer function.  Recorded each time an IIRFilter is constructed.
  </summary>
</histogram>

<histogram name="WebAudio.OfflineAudioContext.ChannelCount">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The number of channels specified for the offline audio context. Recorded for
    every offline context created. Probably only a few per page, but could be
    potentially much more (thousands).
  </summary>
</histogram>

<histogram name="WebAudio.OfflineAudioContext.Length" units="frames">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The length (in frames) specified for the offline audio context. Recorded for
    every offline context created. Probably only a few per page, but could be
    potentially much more (thousands).
  </summary>
</histogram>

<histogram name="WebAudio.OfflineAudioContext.SampleRate" units="Hz">
  <obsolete>
    Replaced by SampleRate384kHz in Issue 644683 on 2016/10 due to higher
    supported sample rates.
  </obsolete>
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The sample rate (in Hz) specified for the offline audio context. Recorded
    for every offline context created.  Probably only a few per page, but could
    be potentially much more (thousands).
  </summary>
</histogram>

<histogram name="WebAudio.OfflineAudioContext.SampleRate384kHz" units="Hz">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The sample rate (in Hz) specified for the offline audio context. Recorded
    for every offline context created.  Probably only a few per page, but could
    be potentially much more (thousands).
  </summary>
</histogram>

<histogram name="WebAudio.PannerNode.PanningModel" enum="PanningModelType">
  <owner>rtoy@chromium.org</owner>
  <owner>hongchan@chromium.org</owner>
  <summary>
    The panning model for the PannerNode. Recorded once with the default value
    at creation and once again whenver it is changed.  Once changed, it is
    unlikely to be changed again. If there are any PannerNodes created at all,
    then there is probably one for each source (AudioBufferSourceNode,
    OscillatorNode, or other source).
  </summary>
</histogram>

<histogram name="WebAudio.UserGesture" enum="UserGestureRequirement">
  <obsolete>
    Deprecated 2016-09. As of M55, this is no longer recorded.
  </obsolete>
  <owner>mlamouri@chromium.org</owner>
  <summary>
    Records whether WebAudio had a user gesture requirement and whether it was
    fulfilled.
  </summary>
</histogram>

<histogram name="WebController.CertVerificationErrorsCacheHit"
    enum="BooleanCacheHit">
  <owner>eugenebut@chromium.org</owner>
  <summary>
    [iOS] Report cache hit/miss for WKWebView cert verification. WKWebView Web
    Controller has a cache of pending cert verification results to avoid extra
    verifications when presenting SSL interstitial. This metric helps to
    understand whether or not cache miss is possible.
  </summary>
</histogram>

<histogram name="WebController.EmptyNavigationManagerCausedByStopLoading"
    enum="Boolean">
  <owner>eugenebut@chromium.org</owner>
  <summary>
    [iOS] Chrome for iOS crashes because NavigationManager does not have any
    navigation items and visible navigation item is dereferenced
    (crbug.com/565457). The assumption is that crash occurs if pending load was
    stopped for a child window. This metric will prove or disprove that
    assumption.
  </summary>
</histogram>

<histogram name="WebController.ExternalURLRequestBlocking"
    enum="IOSExternalURLRequestStatus">
  <owner>mrefaat@chromium.org</owner>
  <summary>
    [iOS] Measures the proportion of external URL requests that originate from a
    subframe without any user interaction (e.g. an advertisement contains an
    iframe directed at the App Store).
  </summary>
</histogram>

<histogram
    name="WebController.StartProvisionalNavigationExitedWithEmptyNavigationManager"
    enum="BooleanHit">
  <obsolete>
    Deprecated 2017-02. This metric disproved the assumption mentioned in the
    summary and it is no longer needed.
  </obsolete>
  <owner>eugenebut@chromium.org</owner>
  <summary>
    Chrome for iOS crashes in |didCommitNavigation:| if Navigation Manager is
    empty. It's unclear how the app can get into this state and one assumption
    is that didStartProvisionalNavigation: does not add a pending navigation.
    This metric is logged when didStartProvisionalNavigation: fails to add a
    pending item.
  </summary>
</histogram>

<histogram name="WebCore.Animation.CSSProperties" enum="MappedCSSProperties">
  <owner>ajuma@chromium.org</owner>
  <summary>
    Counts the number of times each CSS property is animated. There is no limit
    on the number of times each property is counted per page view -- a property
    that is animated multiple times during a single page view is counted each
    time it animates.
  </summary>
</histogram>

<histogram name="WebCore.CanvasContextUsage" enum="CanvasContextUsage">
  <owner>zmin@chromium.org</owner>
  <owner>junov@chromium.org</owner>
  <summary>
    The usage of Canvas 2D Context API. Logged when the particular API is used.
  </summary>
</histogram>

<histogram name="WebCore.DistillabilityUs" units="microseconds">
  <owner>wychen@chromium.org</owner>
  <summary>
    The time spent on collecting the statistics of the document in the main
    frame. These statistics would be used as features to classify whether the
    page is suitable for DOM distiller.
  </summary>
</histogram>

<histogram name="WebCore.Document.execCommand" enum="MappedEditingCommands">
  <owner>yoichio@chromium.org</owner>
  <summary>
    Counts the number of times each document.execCommand is executed. This
    doesn't count commands not supported by Blink.
  </summary>
</histogram>

<histogram name="WebCore.Editing.Commands" enum="MappedEditingCommands">
  <owner>yoichio@chromium.org</owner>
  <summary>
    Counts the number of times each Editor::Command::execute is called. This
    doesn't count commands not supported by Blink.
  </summary>
</histogram>

<histogram name="WebCore.FeatureObserver" enum="FeatureObserver">
  <owner>rbyers@chromium.org</owner>
  <summary>
    NOTE: As of M57 this has been superseded by Blink.UseCounter.Features which
    fixes a number of issues.  See https://crbug.com/676837.

    Count of how many page loads use various features. The PageVisits bucket is
    incremented for each page load, and the other buckets incremented at most
    once per PageVisit via the WebCore::UseCounter class.
  </summary>
</histogram>

<histogram name="WebCore.FeatureObserver.CSSProperties"
    enum="MappedCSSProperties">
  <owner>mikelawther@chromium.org</owner>
  <summary>
    NOTE: As of M57 this has been superseded by Blink.UseCounter.Features which
    fixes a number of issues.  See https://crbug.com/676837.

    Records usage of CSS properties used on a page, either statically or
    dynamically, from the time the page is initialised to when it is closed or
    navigated away from. Each property is counted at most once per page per
    view.
  </summary>
  <details>
    Every time a CSS property is parsed on a page, that property is recorded as
    having been used. The histogram is updated with this data whenever a page is
    closed, or a page navigation happens. Each histogram bucket corresponds to a
    CSS property (eg width, border-radius). The exception is the bucket numbered
    '1' - this counts the number of pages that CSS properties were counted on.

    These numbers give the percentage of pages that use a CSS property. For
    example, if the 'border-radius' histogram bucket has a count of 250, and the
    page count bucket (i.e. bucket number 1) has a count of 1000 - this means
    that 1000 pages were recorded, and border-radius was used on 25% of those
    pages.

    Internally, each WebCore::Page has a WebCore::UseCounter instance, with
    booleans recording use of each CSS property - one boolean per property. Upon
    destruction of the WebCore::Page (e.g. by the user closing the tab), or a
    page navigation happening, the histogram is updated. For each boolean that
    is set to True, the corresponding histogram bucket for that CSS property is
    incremented by 1. The page count bucket (i.e. bucket number 1) is always
    incremented by 1 on each histogram update.
  </details>
</histogram>

<histogram name="WebCore.Framebust" enum="FramebustPermissions">
  <owner>japhet@chromium.org</owner>
  <summary>
    Records instances of child frames navigating the top frame. Includes whether
    or not the navigation would have been permitted if not for our special case
    for 'framebusting', the practice of ensuring a given document is never
    displayed in a frame.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.BackingStore.ConsistencyError"
    enum="IDBLevelDBBackingStoreInternalErrorType">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Methods that encountered consistency errors. Such errors probably point to a
    bug in our code.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.BackingStore.InternalError"
    enum="IDBLevelDBBackingStoreInternalErrorType">
  <obsolete>
    As of chrome 26, use {Consistency, Read, Write}Error instead.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Count of internal IndexedDB errors (data corruption, I/O errors, etc)
    encountered.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.BackingStore.OpenStatus"
    enum="IDBLevelDBBackingStoreOpenResult">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Count of the different success and failure modes when opening an IndexedDB
    backing store - clean open, successful open with recovery, failed recovery,
    etc. Includes all hosts.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.BackingStore.OpenStatus.Docs"
    enum="IDBLevelDBBackingStoreOpenResult">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Count of the different success and failure modes when opening an IndexedDB
    backing store - clean open, successful open with recovery, failed recovery,
    etc. Only for docs.google.com.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.BackingStore.OverlyLargeOriginLength"
    units="characters">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Length of leveldb directories that cause paths to not fit in the filesystem,
    either because the individual component is too long or the overall path is
    larger than MAX_PATH.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.BackingStore.ReadError"
    enum="IDBLevelDBBackingStoreInternalErrorType">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Methods that encountered leveldb errors while trying to read from disk.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.BackingStore.WriteError"
    enum="IDBLevelDBBackingStoreInternalErrorType">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Methods that encountered leveldb errors while trying to write to disk.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.Context.ForcedCloseReason"
    enum="IDBContextForcedCloseReason">
  <owner>dgrogan@chromium.org</owner>
  <summary>The reason that a forced-close of a backing store occurred.</summary>
</histogram>

<histogram name="WebCore.IndexedDB.Database.OutstandingTransactionCount"
    units="transactions">
  <owner>jsbell@chromium.org</owner>
  <summary>
    Number of outstanding transactions (running, blocked) in database when a new
    transaction is created.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.FrontEndAPICalls"
    enum="IndexedDatabaseMethods">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Count total number of front end API calls of IndexedDB methods.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDB.CloseTime" units="ms">
  <owner>cmumford@chromium.org</owner>
  <summary>
    The time that it takes to close IndexedDB's LevelDB backing store.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDB.FreeDiskSpaceFailure"
    enum="LevelDBErrorCount">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Count of how many times LevelDBDatabase got an error trying to check free
    disk space.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDB.OpenFailureFreeDiskSpace" units="Kb">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Amount of free disk space on the partition/volume/etc where LevelDB failed
    to open.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDB.OpenSuccessFreeDiskSpace" units="Kb">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Amount of free disk space on the partition/volume/etc where LevelDB was
    successfully opened.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDB.OpenTime" units="ms">
  <owner>cmumford@chromium.org</owner>
  <summary>
    The time that it takes to open IndexedDB's LevelDB backing store.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDB.PutTime" units="ms">
  <owner>cmumford@chromium.org</owner>
  <summary>
    The time that it takes to write the data IndexedDB to the LevelDB backing
    store for a put operation.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDB.Transaction.CommitTime" units="ms">
  <owner>cmumford@chromium.org</owner>
  <summary>
    The time that it takes to commit an IndexedDB transaction to its LevelDB
    backing store.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDB.WriteTime" units="ms">
  <owner>cmumford@chromium.org</owner>
  <summary>
    The time that it takes to write data to an IndexedDB's LevelDB backing
    store.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBOpenErrors" enum="LevelDBErrorTypes">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Error classes returned by LevelDB when it failed to open a database.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBOpenErrors.BFE"
    enum="PlatformFileError">
  <owner>cmumford@chromium.org</owner>
  <summary>
    Errors (base::File::Error) encountered by a single LevelDBEnv method when
    opening an IndexedDB instance.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBOpenErrors.Corruption"
    enum="LevelDBCorruptionTypes">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Types of corruption that LevelDB encounters when opening a database.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBOpenErrors.EnvMethod"
    enum="LevelDBIOErrorMethods">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    LevelDBEnv methods that generated IO errors when opening a database.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBOpenErrors.Errno"
    enum="OSAgnosticErrno">
  <obsolete>
    Deprecated 2015-05. As of M43 use WebCore.IndexedDB.LevelDBOpenErrors.BFE.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Errno errors encountered by a single LevelDBEnv method when opening an
    IndexedDB instance.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBOpenErrors.PFE"
    enum="PlatformFileError">
  <obsolete>
    Deprecated 2015-05. As of M43 use WebCore.IndexedDB.LevelDBOpenErrors.BFE.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    PlatformFileErrors encountered by a single LevelDBEnv method when opening an
    IndexedDB instance.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBReadErrors" enum="LevelDBErrorTypes">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Error classes returned by LevelDB when it failed to read a database.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBReadErrors.BFE"
    enum="PlatformFileError">
  <owner>cmumford@chromium.org</owner>
  <summary>
    Errors (base::File::Error) encountered by a single LevelDBEnv method when
    reading from an IndexedDB instance.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBReadErrors.Corruption"
    enum="LevelDBCorruptionTypes">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Types of corruption that LevelDB encounters when reading a database.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBReadErrors.EnvMethod"
    enum="LevelDBIOErrorMethods">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    LevelDBEnv methods that generated IO errors when reading a database.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBReadErrors.Errno"
    enum="OSAgnosticErrno">
  <obsolete>
    Deprecated 2015-05. As of M43 use WebCore.IndexedDB.LevelDBReadErrors.BFE.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Errno errors encountered by a single LevelDBEnv method when reading an
    IndexedDB instance.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBReadErrors.PFE"
    enum="PlatformFileError">
  <obsolete>
    Deprecated 2015-05. As of M43 use WebCore.IndexedDB.LevelDBReadErrors.BFE.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    PlatformFileErrors encountered by a single LevelDBEnv method when opening an
    IndexedDB instance.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBWriteErrors" enum="LevelDBErrorTypes">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Error classes returned by LevelDB when it failed to write to a database.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBWriteErrors.BFE"
    enum="PlatformFileError">
  <owner>cmumford@chromium.org</owner>
  <summary>
    Errors (base::File::Error) encountered by a single LevelDBEnv method when
    writing to an IndexedDB instance.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBWriteErrors.Corruption"
    enum="LevelDBCorruptionTypes">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Types of corruption returned by LevelDB when it failed to write to a
    database.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBWriteErrors.EnvMethod"
    enum="LevelDBIOErrorMethods">
  <owner>dgrogan@chromium.org</owner>
  <summary>
    LevelDBEnv methods that generated IO errors when writing to a database.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBWriteErrors.Errno"
    enum="OSAgnosticErrno">
  <obsolete>
    Deprecated 2015-05. As of M43 use WebCore.IndexedDB.LevelDBWriteErrors.BFE.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    Errno errors encountered by a single LevelDBEnv method when writing to an
    IndexedDB instance.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.LevelDBWriteErrors.PFE"
    enum="PlatformFileError">
  <obsolete>
    Deprecated 2015-05. As of M43 use WebCore.IndexedDB.LevelDBWriteErrors.BFE.
  </obsolete>
  <owner>dgrogan@chromium.org</owner>
  <summary>
    PlatformFileErrors encountered by a single LevelDBEnv method when writing to
    an IndexedDB instance.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.ObjectStore.IndexEntry.KeyType"
    enum="IDBKeyType">
  <owner>jsbell@chromium.org</owner>
  <summary>
    The type of key (number, string, etc.) used for an index entry for a record
    being newly stored or updated in an Indexed DB object store. For array keys,
    the types of sub-keys are not recorded.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.ObjectStore.Record.KeyType"
    enum="IDBKeyType">
  <owner>jsbell@chromium.org</owner>
  <summary>
    The type of key (number, string, etc.) used for a record being newly stored
    or updated in an Indexed DB object store. For array keys, the types of
    sub-keys are not recorded.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.OpenTime.Blocked" units="ms">
  <owner>cmumford@chromium.org</owner>
  <summary>
    The delay between the receipt of the request to open an IndexedDB database
    and the firing of the blocked event.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.OpenTime.Error" units="ms">
  <owner>cmumford@chromium.org</owner>
  <summary>
    The delay between the receipt of the request to open an IndexedDB database
    and the firing of the error event.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.OpenTime.Success" units="ms">
  <owner>cmumford@chromium.org</owner>
  <summary>
    The delay between the receipt of the request to open an IndexedDB database
    and the firing of the success event.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.OpenTime.UpgradeNeeded" units="ms">
  <owner>cmumford@chromium.org</owner>
  <summary>
    The delay between the receipt of the request to open an IndexedDB database
    and the firing of the upgradeneeded event.
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.Schema.Index.KeyPathType"
    enum="IDBKeyPathType">
  <owner>jsbell@chromium.org</owner>
  <summary>
    Records the 'keyPath' type (none, string, or array) during IDBObjectStore's
    createIndex operation. See http://www.w3.org/TR/IndexedDB/
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.Schema.Index.MultiEntry" enum="Boolean">
  <owner>jsbell@chromium.org</owner>
  <summary>
    Records the 'multiEntry' flag value during IDBObjectStore's createIndex
    operation. See http://www.w3.org/TR/IndexedDB/
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.Schema.Index.Unique" enum="Boolean">
  <owner>jsbell@chromium.org</owner>
  <summary>
    Records the 'unique' flag value during IDBObjectStore's createIndex
    operation. See http://www.w3.org/TR/IndexedDB/
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.Schema.ObjectStore.AutoIncrement"
    enum="Boolean">
  <owner>jsbell@chromium.org</owner>
  <summary>
    Records the 'autoIncrement' flag value during IDBDatabase's
    createObjectStore operation. See http://www.w3.org/TR/IndexedDB/
  </summary>
</histogram>

<histogram name="WebCore.IndexedDB.Schema.ObjectStore.KeyPathType"
    enum="IDBKeyPathType">
  <owner>jsbell@chromium.org</owner>
  <summary>
    Records the 'keyPath' type (none, string, or array) during IDBDatabase's
    createObjectStore operation. See http://www.w3.org/TR/IndexedDB/
  </summary>
</histogram>

<histogram name="WebCore.PreloadDelayMs" units="ms">
  <owner>csharrison@chromium.org</owner>
  <summary>
    The delay between when the preload scanner discovers a resource on the
    parser thread and when the preload request is issued on the main thread.
  </summary>
</histogram>

<histogram name="WebCore.ResourceFetcher.ActionUponResourceRequest"
    enum="ActionUponResourceRequest">
  <owner>clamy@chromium.org</owner>
  <summary>
    The resulting action (e.g. load resource, use resource from in-memory
    cache...) upon a resource request.
  </summary>
</histogram>

<histogram name="WebCore.ResourceFetcher.HitCount">
  <owner>clamy@chromium.org</owner>
  <summary>
    Number of dead resources found in the memory cache over the lifetime of the
    ResourceFetcher.
  </summary>
</histogram>

<histogram name="WebCore.ResourceFetcher.LoadCount">
  <owner>clamy@chromium.org</owner>
  <summary>
    Number of resources that needed to be loaded by the ResourceFetcher over its
    lifetime.
  </summary>
</histogram>

<histogram name="WebCore.ResourceFetcher.ResourceHasClientUponCacheHit"
    enum="ResourceHasClient">
  <owner>clamy@chromium.org</owner>
  <summary>
    Whether the resource in the cache is being used by at least one client (live
    resource) or not (dead resource) upon a cache hit.
  </summary>
</histogram>

<histogram name="WebCore.ResourceFetcher.ResourceTypeUponCacheHit"
    enum="ResourceType">
  <obsolete>
    This metric has been not recorded at least since 2016/01. The displayed enum
    labels might be unreliable because C++ enum values of blink::Resource::Type
    have been changed over time.
  </obsolete>
  <owner>clamy@chromium.org</owner>
  <summary>
    The type of the resource (e.g. image, script...) upon a cache hit.
  </summary>
</histogram>

<histogram name="WebCore.ResourceFetcher.RevalidateCount">
  <owner>clamy@chromium.org</owner>
  <summary>
    Number of dead resources that needed to be revalidated by the
    ResourceFetcher over its lifetime.
  </summary>
</histogram>

<histogram name="WebCore.ScriptedIdleTaskController.IdleCallbackDeadline"
    units="ms">
  <owner>rmcilroy@chromium.org</owner>
  <summary>
    The amount of time allotted to a requestIdleCallback callback, i.e., the
    difference between the time when it is called and when its deadline expires.
  </summary>
</histogram>

<histogram name="WebCore.ScriptedIdleTaskController.IdleCallbackOverrun"
    units="ms">
  <owner>rmcilroy@chromium.org</owner>
  <summary>
    The amount of time by which a requestIdleCallback callback overran its
    deadline. Callbacks which don't overrun their deadline will report an
    overrun of 0.
  </summary>
</histogram>

<histogram name="WebCore.Scripts.Async.NotStreamingReason"
    enum="NotStreamingReason">
  <owner>marja@chromium.org</owner>
  <summary>Reason for not streaming an async script.</summary>
</histogram>

<histogram name="WebCore.Scripts.Async.StartedStreaming" enum="BooleanStreamed">
  <owner>marja@chromium.org</owner>
  <summary>Whether an async script was streamed or not.</summary>
</histogram>

<histogram name="WebCore.Scripts.Deferred.NotStreamingReason"
    enum="NotStreamingReason">
  <owner>marja@chromium.org</owner>
  <summary>Reason for not streaming a deferred script.</summary>
</histogram>

<histogram name="WebCore.Scripts.Deferred.StartedStreaming"
    enum="BooleanStreamed">
  <owner>marja@chromium.org</owner>
  <summary>Whether a deferred script was streamed or not.</summary>
</histogram>

<histogram name="WebCore.Scripts.ParsingBlocking.AlreadyLoaded"
    enum="BooleanLoaded">
  <obsolete>
    Deprecated as this data was needed for streaming investigations, no longer
    needed.
  </obsolete>
  <owner>marja@chromium.org</owner>
  <summary>
    Whether a parsing blocking script was already preloaded from the net or the
    cache by the time it was needed.
  </summary>
</histogram>

<histogram name="WebCore.Scripts.ParsingBlocking.NotStreamingReason"
    enum="NotStreamingReason">
  <owner>marja@chromium.org</owner>
  <summary>Reason for not streaming a parsing blocking script.</summary>
</histogram>

<histogram name="WebCore.Scripts.ParsingBlocking.StartedStreaming"
    enum="BooleanStreamed">
  <owner>marja@chromium.org</owner>
  <summary>Whether a parsing blocking script was streamed or not.</summary>
</histogram>

<histogram name="WebCore.Scripts.ParsingBlocking.TimeBetweenLoadedAndCompiled"
    units="ms">
  <obsolete>
    Deprecated as this data was needed for streaming investigations, no longer
    needed.
  </obsolete>
  <owner>marja@chromium.org</owner>
  <summary>
    Time between the events &quot;script is loaded&quot; and &quot;script is
    compiled&quot; for parsing blocking scripts.
  </summary>
</histogram>

<histogram name="WebCore.UseCounter_TEST.CSSProperties"
    enum="MappedCSSProperties">
  <obsolete>
    Temporary histogram replaced by Blink.UseCounter.CSSProperties.
  </obsolete>
  <owner>rbyers@chromium.org</owner>
</histogram>

<histogram name="WebCore.UseCounter_TEST.Features" enum="FeatureObserver">
  <obsolete>
    Temporary histogram replaced by Blink.UseCounter.Features.
  </obsolete>
  <owner>rbyers@chromium.org</owner>
</histogram>

<histogram name="WebCore.UseCounter_TEST.SVGImage.CSSProperties"
    enum="MappedCSSProperties">
  <obsolete>
    Temporary histogram replaced by Blink.UseCounter.SVGImage.CSSProperties.
  </obsolete>
  <owner>rbyers@chromium.org</owner>
</histogram>

<histogram name="WebCore.UseCounter_TEST.SVGImage.Features"
    enum="FeatureObserver">
  <obsolete>
    Temporary histogram replaced by Blink.UseCounter.SVGImage.Features.
  </obsolete>
  <owner>rbyers@chromium.org</owner>
</histogram>

<histogram name="WebCore.V8DOMWindowShell.createContext.IsolatedWorld"
    units="ms">
  <obsolete>
    Deprecated 05/2013, we no longer have the code that uses this metric.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Duration of time taken to create a V8 Context for an isolated world.
  </summary>
</histogram>

<histogram name="WebCore.V8DOMWindowShell.createContext.MainWorld" units="ms">
  <obsolete>
    Deprecated 05/2013, we no longer have the code that uses this metric.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Duration of time taken to create a V8 Context for the main world.
  </summary>
</histogram>

<histogram name="WebCore.WebSocket.BinaryTypeChangesAfterOpen">
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>
    Count the number of changes to WebSocket.binaryType after the connection
    opened, per connection. Assignments that match the existing binaryType are
    not counted. This is recorded after WebSocket close, whether explicit or due
    to error or navigation. It is not recorded if the render process is
    destroyed before the WebSocket is closed.
  </summary>
</histogram>

<histogram name="WebCore.WebSocket.HandshakeResult"
    enum="WebSocketHandshakeResult">
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>
    Count the number of WebSocket handshake for each result. Use this histogram
    as a baseline for investigating feature usage counters.
  </summary>
</histogram>

<histogram name="WebCore.WebSocket.MessageSize.Receive" units="bytes">
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>
    The sizes of binary WebSocket messages received, broken down by type. One
    entry per message. Clamped to 100 MB.
  </summary>
</histogram>

<histogram name="WebCore.WebSocket.MessageSize.Send" units="bytes">
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>
    The sizes of binary WebSocket messages sent, broken down by type. One entry
    per message. Clamped to 100 MB.
  </summary>
</histogram>

<histogram name="WebCore.WebSocket.PerMessageDeflateContextTakeOverMode"
    enum="WebSocketPerMessageDeflateContextTakeOverMode">
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>
    Count the number of WebSockets that accepted permessage-deflate extension
    for each context take over mode. Used by the old Blink-based WebSocket
    implementation.
  </summary>
</histogram>

<histogram name="WebCore.WebSocket.ReceiveType" enum="WebSocketReceiveType">
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>
    Count the number of messages for each message type and set binary type.
  </summary>
</histogram>

<histogram name="WebCore.WebSocket.SendType" enum="WebSocketSendType">
  <owner>yhirano@chromium.org</owner>
  <owner>ricea@chromium.org</owner>
  <owner>tyoshino@chromium.org</owner>
  <summary>
    Count the number of send() method calls on WebSockets for each argument
    type.
  </summary>
</histogram>

<histogram name="WebCore.XHR.send.ArrayBufferOrView"
    enum="XMLHttpRequestSendArrayBufferOrView">
  <obsolete>
    Deprecated as of 7/2014. This histogram was used to determine when it would
    be ok to remove the deprecated XMLHttpRequest.send(ArrayBuffer) overload.
    The support for ArrayBuffer was un-deprecated in the WHATWG spec for XHR,
    and subsequently un-deprecated in Blink.
  </obsolete>
  <owner>tyoshino@chromium.org</owner>
  <owner>costan@gmail.com</owner>
  <summary>
    Count the number of XHR.send() calls for each argument type to see when we
    can deprecate the ArrayBuffer type support.
  </summary>
</histogram>

<histogram name="WebFont.BlankTextShownTime" units="ms">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    A histogram tracking the time we spent showing blank text because a web font
    wasn't available by the time we needed it. Measured once per @font-face that
    ended up showing blank text.
  </summary>
</histogram>

<histogram name="WebFont.CacheHit" enum="WebFontCacheHit">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Recorded upon web fonts load. Counts the number of times web font is loaded
    from cache (disk cache or memory cache), fetched over network, or served
    from data URL.
  </summary>
</histogram>

<histogram name="WebFont.CORSSuccess" enum="BooleanSuccess">
  <owner>bashi@chromium.org</owner>
  <owner>kenjibaheux@chromium.org</owner>
  <summary>The success or failure of web fonts CORS-enabled fetching.</summary>
</histogram>

<histogram name="WebFont.DecodeSpeed" units="KB/s">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Uncompressed font image size divided by the duration of time OTS takes to
    decode the font image, in kilobytes per second.
  </summary>
</histogram>

<histogram name="WebFont.DiskCache.EntryAge.Evict" units="hours">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Recorded upon an eviction of a cache entry for a font in Google Fonts.
    Records the age of the cache entry.
  </summary>
</histogram>

<histogram name="WebFont.DiskCache.EntryAge.Hit" units="hours">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Recorded upon a cache hit for a font in Google Fonts. Records the age of the
    cache entry.
  </summary>
</histogram>

<histogram name="WebFont.DiskCache.ReuseCount.Evict">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    When a cache entry for a font in Google Fonts is evicted, records the reuse
    count of the cache entry.
  </summary>
</histogram>

<histogram name="WebFont.DiskCache.ReuseCount.Hit">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Recorded upon a cache hit for a font in Google Fonts. Records the reuse
    count of the cache entry.
  </summary>
</histogram>

<histogram name="WebFont.DiskCacheHit" enum="WebFontDiskCacheHit">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Whether the font was in the cache or not. &quot;Previously in the
    cache&quot; means there was an evicted entry for the font in the cache.
    Recorded upon a disk cache query for a font in Google Fonts.
  </summary>
</histogram>

<histogram name="WebFont.DownloadTime.0.Under10KB" units="ms">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time it takes for a webfont download to finish, for webfonts of under
    10KB.
  </summary>
</histogram>

<histogram name="WebFont.DownloadTime.1.10KBTo50KB" units="ms">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time it takes for a webfont download to finish, for webfonts of
    10KB-50KB.
  </summary>
</histogram>

<histogram name="WebFont.DownloadTime.2.50KBTo100KB" units="ms">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time it takes for a webfont download to finish, for webfonts of
    50KB-100KB.
  </summary>
</histogram>

<histogram name="WebFont.DownloadTime.3.100KBTo1MB" units="ms">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time it takes for a webfont download to finish, for webfonts of
    100KB-1MB.
  </summary>
</histogram>

<histogram name="WebFont.DownloadTime.4.Over1MB" units="ms">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time it takes for a webfont download to finish, for webfonts of over
    1MB.
  </summary>
</histogram>

<histogram name="WebFont.DownloadTime.LoadError" units="ms">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time taken for a webfont download that failed. Includes aborted
    requests.
  </summary>
</histogram>

<histogram name="WebFont.FontDisplayValue" enum="FontDisplayValue">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The value of font-display @font-face descriptor. Counted only when
    explicitly specified in the @font-face rule.
  </summary>
</histogram>

<histogram name="WebFont.HadBlankText" enum="BooleanHadBlankText">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    This metrics is logged when a page that use web fonts is loaded. The value
    is whether we had to wait on at least one web font and ended up showing
    blank text, or not.
  </summary>
</histogram>

<histogram name="WebFont.InterventionResult" enum="WebFontInterventionResult">
  <owner>toyoshim@chromium.org</owner>
  <owner>kenjibaheux@chromium.org</owner>
  <summary>
    For each WebFont load attempt, records whether User Agent Intervention was
    triggered, and whether the request (would have) timed out or not. The
    intervention takes adaptive behaviors to handle loading timeouts to improve
    user experiences on slow networks.
  </summary>
</histogram>

<histogram name="WebFont.InterventionResult.MissedCache"
    enum="WebFontInterventionResult">
  <owner>toyoshim@chromium.org</owner>
  <owner>kenjibaheux@chromium.org</owner>
  <summary>
    Like InterventionResult, this records whether User Agent Intervention was
    triggered, and whether the request (would have) timed out or not. But this
    version records only when data actually comes from network, not from disk or
    memory cache, and is not provided in a data URL format.
  </summary>
</histogram>

<histogram name="WebFont.LayoutLatency" units="ms">
  <obsolete>
    Renamed to WebFont.StyleRecalcToDownloadLatency for clarity.
  </obsolete>
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time from when the webfont was referenced by a calculated style for the
    first time to the start of the font download.
  </summary>
</histogram>

<histogram name="WebFont.LoadLimitOnDiskCacheMiss" enum="WebFontLoadLimitState">
  <owner>ksakamoto@chromium.org</owner>
  <owner>shaochuan@chromium.org</owner>
  <owner>toyoshim@chromium.org</owner>
  <summary>
    The load limit state when the first disk-cache-only request fails by cache
    miss, if WebFonts cache-aware timeout adaptation is enabled and applicable.
  </summary>
</histogram>

<histogram name="WebFont.LoadTime.0.Under10KB" units="ms">
  <obsolete>
    Deprecated as of 8/2013, replaced by WebFont.DownloadTime.0.Under10KB.
  </obsolete>
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time it takes for a webfont download to finish, for webfonts of under
    10KB.
  </summary>
</histogram>

<histogram name="WebFont.LoadTime.1.10KBTo50KB" units="ms">
  <obsolete>
    Deprecated as of 8/2013, replaced by WebFont.DownloadTime.1.10KBTo50KB.
  </obsolete>
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time it takes for a webfont download to finish, for webfonts of
    10KB-50KB.
  </summary>
</histogram>

<histogram name="WebFont.LoadTime.2.50KBTo100KB" units="ms">
  <obsolete>
    Deprecated as of 8/2013, replaced by WebFont.DownloadTime.2.50KBTo100KB.
  </obsolete>
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time it takes for a webfont download to finish, for webfonts of
    50KB-100KB.
  </summary>
</histogram>

<histogram name="WebFont.LoadTime.3.100KBTo1MB" units="ms">
  <obsolete>
    Deprecated as of 8/2013, replaced by WebFont.DownloadTime.3.100KBTo1MB.
  </obsolete>
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time it takes for a webfont download to finish, for webfonts of
    100KB-1MB.
  </summary>
</histogram>

<histogram name="WebFont.LoadTime.4.Over1MB" units="ms">
  <obsolete>
    Deprecated as of 8/2013, replaced by WebFont.DownloadTime.4.Over1MB.
  </obsolete>
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time it takes for a webfont download to finish, for webfonts of over
    1MB.
  </summary>
</histogram>

<histogram name="WebFont.LoadTime.LoadError" units="ms">
  <obsolete>
    Deprecated as of 8/2013, replaced by WebFont.DownloadTime.LoadError.
  </obsolete>
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time taken for a webfont download that failed. Includes aborted
    requests.
  </summary>
</histogram>

<histogram name="WebFont.LocalFontUsed" enum="BooleanUsage">
  <owner>hajimehoshi@chromium.org</owner>
  <owner>kenjibaheux@chromium.org</owner>
  <owner>kouhei@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    Whether a locallly installed font is actually used when @font-face had local
    sources.
  </summary>
</histogram>

<histogram name="WebFont.PackageFormat" enum="WebFontPackageFormat">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The packaging format of the font file (e.g. SFNT, WOFF ...) upon a webfont
    load.
  </summary>
</histogram>

<histogram name="WebFont.Resource.StyleRecalcToDownloadLatency" units="ms">
  <obsolete>
    Deprecated 11/2013. No longer tracked.
  </obsolete>
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time from when the webfont was referenced by a calculated style for the
    first time to the start of the font download. Recorded at most once for each
    FontResource object (not recorded if the font is retrieved from the memory
    cache).
  </summary>
</histogram>

<histogram name="WebFont.Resource.UsageType" enum="WebFontUsageType">
  <obsolete>
    Deprecated 11/2013. No longer tracked.
  </obsolete>
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    For each webfont, this records (a) if the font was 'styled', i.e. referenced
    by a calculated style for a RenderText before the font data was used, and
    (b) if the font was actually used or not, i.e. the renderer requested the
    font data or not. (A Font can be used without being styled, for example when
    drawn by a Canvas 2D Context.) This is recorded upon a download request of a
    webfont, or destruction of a FontResource object. Recorded at most once for
    each FontResource object in the renderer's memory cahce.
  </summary>
</histogram>

<histogram name="WebFont.StyleRecalcToDownloadLatency" units="ms">
  <obsolete>
    Deprecated as of 9/2013, replaced by
    WebFont.Resource.StyleRecalcToDownloadLatency.
  </obsolete>
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The time from when the webfont was referenced by a calculated style for the
    first time to the start of the font download.
  </summary>
</histogram>

<histogram name="WebFont.UsageType" enum="WebFontUsageType">
  <obsolete>
    Deprecated as of 9/2013, replaced by WebFont.Resource.UsageType.
  </obsolete>
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    For each webfont, this records (a) if the font was 'styled', i.e. referenced
    by a calculated style for a RenderText before the font data was used, and
    (b) if the font was actually used or not, i.e. the renderer requested the
    font data or not. (A Font can be used without being styled, for example when
    drawn by a Canvas 2D Context.) This is recorded upon a download request of a
    webfont, or destruction of a CSSFontFaceSource object. Recorded at most once
    for each url() source of @font-face CSS rule.
  </summary>
</histogram>

<histogram name="WebFont.WebFontsInPage">
  <owner>kenjibaheux@chromium.org</owner>
  <owner>ksakamoto@chromium.org</owner>
  <summary>
    The number of webfonts used in a page. This is recorded when the first
    layout is done, and so will not count webfonts dynamically loaded by
    scripts.
  </summary>
</histogram>

<histogram name="WebHistory.LocalResultMissingOnServer" units="%">
  <owner>zea@chromium.org</owner>
  <summary>
    Percentage of results that are present locally but are not returned by the
    web history API call. Recorded every time a signed-in user visits the
    chrome://history page and the results from the web history are received.
  </summary>
</histogram>

<histogram name="WebHistory.OAuthTokenCompletion" enum="BooleanSuccess">
  <owner>zea@chromium.org</owner>
  <summary>
    Whether getting the OAuth token was successful for a web history query. On
    visits to the chrome://history page this token is obtained and then used to
    get the user's synced web history.
  </summary>
</histogram>

<histogram name="WebHistory.OAuthTokenResponseCode" units="code">
  <owner>zea@chromium.org</owner>
  <summary>
    HTTP Response code returned by the server when trying to fetch the OAuth
    token for a web history query.
  </summary>
</histogram>

<histogram name="WebHistory.QueryCompletion" enum="WebHistoryStatus">
  <owner>zea@chromium.org</owner>
  <summary>
    Whether the web history API call was successful. Every time a signed-in user
    visits the chrome://history page this query is executed to get the user's
    synced web history. If successful, the local and remote results are merged
    and shown in the history page.
  </summary>
</histogram>

<histogram name="WebHistory.ResponseTime" units="ms">
  <owner>zea@chromium.org</owner>
  <summary>
    Time it took for the web history to reply. Recorded when the web history API
    call triggered by visiting chrome://history receives the data, measuring how
    much time it took for the server to reply.
  </summary>
</histogram>

<histogram name="WebRTC.AecDelayBasedQuality" enum="DelayBasedEchoQuality">
  <owner>hlundin@chromium.org</owner>
  <summary>
    Captures if the estimated delay between rendered and captured audio is out
    of bounds which can cause the Echo Cancellation to fail. This is logged
    roughly once every 5 seconds. The values are logged in four buckets
    reflecting how well the Echo Cancellation likely performs based on the
    estimated delay.
  </summary>
</histogram>

<histogram name="WebRTC.AecFilterHasDivergence" units="%">
  <owner>grunell@chromium.org</owner>
  <owner>minyue@chromium.org</owner>
  <summary>
    The percentage of measurement periods during a capture stream's lifetime
    when the echo canceler's filter is considered to have diverged at least
    once. A diverged filter could mean that there was echo och ducking
    experienced. The measurement period size is fixed and in the order of one
    second. The first measurement period is larger, typically 2-3 seconds.
    Capture streams with shorter lifetimes (i.e. no data available) are not
    recorded here.
  </summary>
</histogram>

<histogram name="WebRTC.ApplicationMaxConsecutiveBytesDiscard">
  <obsolete>
    Deprecated as of 12/2014, replaced by
    WebRTC.ApplicationMaxConsecutiveBytesDiscard.v2.
  </obsolete>
  <owner>guoweis@chromium.org</owner>
  <summary>
    The maximum consecutive discarded bytes caused by not enough buffer
    available in WebRTC's socket implementation.  This happens when WebRTC
    IpcPacketSocket's throttling mechanism kicks in.
  </summary>
</histogram>

<histogram name="WebRTC.ApplicationMaxConsecutiveBytesDiscard.v2">
  <owner>guoweis@chromium.org</owner>
  <summary>
    The maximum consecutive discarded bytes caused by not enough buffer
    available in WebRTC's socket implementation.  This happens when WebRTC
    IpcPacketSocket's throttling mechanism kicks in. The maximum bucket is
    expanded from previous version to provide more insight when upper layer
    feeds a lot of packets.
  </summary>
</histogram>

<histogram name="WebRTC.ApplicationPercentPacketsDiscarded" units="%">
  <owner>guoweis@chromium.org</owner>
  <summary>
    The percentage of packets discarded by WebRTC's socket layer due to
    EWOULDBLOCKs when WebRTC IpcPacketSocket's throttling mechanism kicks in.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.AecDelayAdjustmentMsAgnosticValue" units="ms">
  <owner>hlundin@chromium.org</owner>
  <summary>
    The AEC in WebRTC will sometimes realign the far- and near-end signal
    buffers to keep in sync with delay changes in the echo path. This metric
    logs each such realignment, storing the delay change in ms, when the change
    is triggered by a shift in the signal based delay estimation (a.k.a
    delay-agnostic).
  </summary>
</histogram>

<histogram name="WebRTC.Audio.AecDelayAdjustmentMsSystemValue" units="ms">
  <owner>hlundin@chromium.org</owner>
  <summary>
    The AEC in WebRTC will sometimes realign the far- and near-end signal
    buffers to keep in sync with delay changes in the echo path. This metric
    logs each such realignment, storing the delay change in ms, when the change
    is triggered by a shift in system reported delay.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.AecSystemDelayJump" units="ms">
  <owner>hlundin@chromium.org</owner>
  <summary>
    The AEC in WebRTC keeps a buffer to mimic the audio buffers in the lower
    layers. This histogram logs a sudden positive jump in buffer size. Since we
    detect jumps in the capture thread, only positive values are feasible. Note
    that the difference in milliseconds is logged and not the actual AEC system
    delay value. Sampled every time the AEC system delay changes more than 50
    milliseconds.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.AgcClippingAdjustmentAllowed" enum="Boolean">
  <owner>hlundin@chromium.org</owner>
  <summary>
    The automatic gain control (AGC) in WebRTC tries to adjust the microphone
    gain to maintain a strong audio level, but without clipping (saturation).
    The histogram will log a value every time input clipping is detected. The
    value is a boolean, with &quot;true&quot; meaning that the gain was in fact
    adjusted in response to the detected clipping, and &quot;false&quot; meaning
    that adjustment was not allowed due to limiting boundaries in the algorithm.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.AgcSetLevel" units="level">
  <owner>hlundin@chromium.org</owner>
  <summary>
    The automatic gain control (AGC) in WebRTC tries to adjust the microphone
    gain to maintain a strong audio level, but without clipping (saturation).
    The histogram will log a new value every time the AGC changes the target
    level.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.ApmCaptureInputLevelAverageRms"
    units="dBFS (negated)">
  <owner>hlundin@chromium.org</owner>
  <summary>
    This histogram reports the average RMS of the signal coming in to WebRTC's
    Audio Processing Module, prior to any WebRTC processing. A new value is
    reported every 10 seconds, and the average is over the latest interval. The
    metric is negated dBFS, meaning that 0 is a full-scale signal, while 127
    corresponds to -127 dBFS (very faint).
  </summary>
</histogram>

<histogram name="WebRTC.Audio.ApmCaptureInputLevelPeakRms"
    units="dBFS (negated)">
  <owner>hlundin@chromium.org</owner>
  <summary>
    This histogram reports the peak RMS of the signal coming in to WebRTC's
    Audio Processing Module, prior to any WebRTC processing. A new value is
    reported every 10 seconds, and the peak is the RMS of the strongest 10 ms
    block over the latest interval. The metric is negated dBFS, meaning that 0
    is a full-scale signal, while 127 corresponds to -127 dBFS (very faint).
  </summary>
</histogram>

<histogram name="WebRTC.Audio.ApmCaptureOutputLevelAverageRms"
    units="dBFS (negated)">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram reports the average RMS of the signal in the output of
    WebRTC's Audio Processing Module, after all audio WebRTC processing. A new
    value is reported every 10 seconds, and the average is over the latest
    interval. The metric is negated dBFS, meaning that 0 is a full-scale signal,
    while 127 corresponds to -127 dBFS (very faint).
  </summary>
</histogram>

<histogram name="WebRTC.Audio.ApmCaptureOutputLevelPeakRms"
    units="dBFS (negated)">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram reports the peak RMS of the signal in the output of WebRTC's
    Audio Processing Module, after all WebRTC audio processing. A new value is
    reported every 10 seconds, and the peak is the RMS of the strongest 10 ms
    block over the latest interval. The metric is negated dBFS, meaning that 0
    is a full-scale signal, while 127 corresponds to -127 dBFS (very faint).
  </summary>
</histogram>

<histogram name="WebRTC.Audio.AverageExcessBufferDelayMs" units="ms">
  <owner>hlundin@chromium.org</owner>
  <summary>
    Measures the average waiting time in the buffer for each packet. The waiting
    time is the time elapsed from the packet arrives until it is decoded. The
    metric is calculated as the average over one minute, and is logged at the
    end of each such interval. A well tuned target buffer level should lead to a
    low value.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.DelayedPacketOutageEventMs" units="ms">
  <owner>hlundin@chromium.org</owner>
  <summary>
    Measures the duration of each packet loss concealment (a.k.a. expand) event
    that is not followed by a merge operation. The outage is measured in
    milliseconds, with a range between 0 and 2000 ms. This gives an indication
    of how well the jitter buffer's level adaptation is working. If the chosen
    target level is too low, this value will increase.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.DelayedPacketOutageEventsPerMinute"
    units="events/minute">
  <owner>hlundin@chromium.org</owner>
  <summary>
    Counts the number of delayed packet outage events per minute. The range is
    between 0 and 100 (corresponds to more 1.6 events per second). See
    WebRTC.Audio.DelayedPacketOutageEventMs for the definition of a delayed
    packet outage event, and the interpretation of such events.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.ActiveRender" enum="Boolean">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs a value indicating whether the WebRTC echo canceller
    detects that there is active content in the render signal. A new value is
    logged every 10 seconds and the logged value is averaged over this period.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.BufferDelay" units="Blocks">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the applied render buffer delay used in the WebRTC echo
    canceller. A new value is logged every 10 seconds and the logged value
    constitutes the current buffer delay at the time when the value is logged.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.CaptureSaturation" enum="Boolean">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs a value every time the WebRTC echo canceller has
    detected saturation in the capture signal. A new value is logged every 10
    seconds and the logged value indicates whether the capture signal has been
    saturated during the last 10 seconds.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.ComfortNoiseBand0"
    units="dBFS (negated)">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the level of the comfort noise in the WebRTC echo
    canceller in the lower 4 kHz. A new value is logged every 10 seconds.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.ComfortNoiseBand1"
    units="dBFS (negated)">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the level of the comfort noise in the WebRTC echo
    canceller between 4 and 8 kHz. A new value is logged every 10 seconds.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.DelayChanges"
    enum="WebRTCEventFrequency">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the frequency of echo path delay changes that are
    detected by the delay estimator in the WebRTC echo canceller. A new value is
    logged every 10 seconds and the logged value indicates how frequent delay
    changes have been during the last 10 seconds.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.EchoPathDelay" units="Blocks">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the estimated echo path delay in 64 sample blocks as
    seen by the delay estimator in the WebRTC echo canceller. A new value is
    logged every 10 seconds and the logged value is the estimate of the delay of
    the echo path at the time when the value is logged.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.ErlBand0" units="dB (shifted)">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the echo return loss achieved by the WebRTC echo
    canceller in the lower 4 kHz. A new value is logged every 10 seconds.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.ErlBand1" units="dB (shifted)">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the echo return loss achieved by the WebRTC echo
    canceller between 4 and 8 kHz. A new value is logged every 10 seconds.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.ErleBand0" units="dB (shifted)">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the echo return loss enhancement achieved by the WebRTC
    echo canceller in the lower 4 kHz. A new value is logged every 10 seconds.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.ErleBand1" units="dB (shifted)">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the echo return loss enhancement achieved by the WebRTC
    echo canceller between 4 and 8 kHz. A new value is logged every 10 seconds.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.FilterDelay" units="Blocks">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the estimated echo path delay in 64 sample blocks as
    seen by the linear filter delay in the WebRTC echo canceller. The value 0
    means that no delay could be estimated from the linear filter, otherwise the
    logged delay corresponds to the actual delay + 1. A new value is logged
    every 10 seconds and the logged value is the estimate of the filter delay at
    the time when the value is logged.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.ModelBasedAecFeasible"
    enum="Boolean">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs a value every time the WebRTC echo canceller deems that
    echo path is possible to model using any of the the echo canceller echo path
    models. A new value is logged every 10 seconds and the logged value is the
    feasibility assessment at the time when the value is logged.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.ReliableDelayEstimates"
    enum="WebRTCAecDelayEstimateReliability">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the assessed reliability of the delay estimates produced
    by the delay estimator in the WebRTC echo canceller. A new value is logged
    every 10 seconds and the logged value is a meausure based on how often
    during that period the delay estimate was reliable.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.RenderOverruns"
    enum="WebRTCEventFrequency">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the frequency of overruns in the render buffer of the
    WebRTC echo canceller. A new value is logged every 10 seconds and the logged
    value is a meausure that indicates how often overruns occurred.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.RenderUnderruns"
    enum="WebRTCEventFrequency">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the frequency of underruns in the render buffer of the
    WebRTC echo canceller. A new value is logged every 10 seconds and the logged
    value is a meausure that indicates how often underruns occurred.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.SuppressorGainBand0"
    units="dB (negated)">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the echo suppressor gain in the WebRTC echo canceller in
    the lower 4 kHz. A new value is logged every 10 seconds.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.SuppressorGainBand1"
    units="dB (negated)">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs the echo suppressor gain in the WebRTC echo canceller
    between 4 and 8 kHz. A new value is logged every 10 seconds.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.EchoCanceller.UsableLinearEstimate"
    enum="Boolean">
  <owner>peah@chromium.org</owner>
  <summary>
    This histogram logs a value every time the WebRTC echo canceller deems that
    the linear filter in the echo canceller is sufficiently well adapted to be
    usable. A new value is logged every 10 seconds and the logged value is the
    assessment of whether the filter is usable at the time when the value is
    logged.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.Encoder.CodecType" enum="WebRtcAudioCodecs">
  <owner>aleloi@chromium.org</owner>
  <summary>
    Histogram of audio codec usage. Every sample corresponds to 5 seconds of
    encoding with that codec.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.NumOfAecSystemDelayJumps" units="jumps">
  <owner>hlundin@chromium.org</owner>
  <summary>
    Number of triggered WebRTC.Audio.AecSystemDelayJump during a call. This is
    recorded when a WebRTC based call has ended. AecSystemDelayJump can be
    triggered when, for example, the capture thread is stalled, which can harm
    the AEC. NumOfAecSystemDelayJumps shows how often this occurs in general as
    well as during a call.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.NumOfPlatformReportedStreamDelayJumps"
    units="jumps">
  <owner>hlundin@chromium.org</owner>
  <summary>
    Number of triggered WebRTC.Audio.PlatformReportedStreamDelayJump during a
    call. This is recorded when a WebRTC based call has ended.
    PlatformReportedStreamDelayJump can be triggered when, for example, the
    capture thread is stalled, which can harm the AEC.
    NumOfPlatformReportedStreamDelayJumps shows how often this occurs in general
    as well as during a call.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.PlatformReportedStreamDelayJump" units="ms">
  <owner>hlundin@chromium.org</owner>
  <summary>
    The difference in stream delay reported to WebRTC by Chrome. Since we detect
    jumps in the capture thread, only positive values are feasible. Note that
    the difference in milliseconds is logged and not the actual stream delay
    value. Sampled every time the stream delay changes more than 50
    milliseconds.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.ResidualEchoDetector.EchoLikelihood" units="%">
  <owner>hlundin@chromium.org</owner>
  <owner>ivoc@chromium.org</owner>
  <summary>
    The estimated likelihood percentage of echo as detected by the residual echo
    detector. The residual echo detector can be used to detect cases where the
    AEC (hardware or software) is not functioning properly. The detector can be
    non-causal and operates on larger timescales with more delay than the
    regular AEC.
  </summary>
</histogram>

<histogram name="WebRTC.Audio.TargetBitrateInKbps" units="kbps">
  <owner>hlundin@chromium.org</owner>
  <summary>
    The target bitrate in kbps that the audio codec should try to produce on
    average. Sampled every time the rate is updated.
  </summary>
</histogram>

<histogram name="WebRTC.AudioCaptureTime" units="ms">
  <obsolete>
    Removed from code 2014/2/25.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Duration in milliseconds of WebRTC audio capture session.</summary>
</histogram>

<histogram name="WebRTC.AudioInputChannelLayout" enum="ChannelLayout">
  <owner>henrika@chromium.org</owner>
  <summary>Audio input channel layout in WebRTC.</summary>
</histogram>

<histogram name="WebRTC.AudioInputFramesPerBuffer" enum="AudioFramesPerBuffer">
  <obsolete>
    No longer exists in the code as of 2014/2/25.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Size of WebRTC audio input buffers (in audio frames).</summary>
</histogram>

<histogram name="WebRTC.AudioInputFramesPerBufferUnexpected"
    units="audio frames">
  <obsolete>
    No longer exists in the code as of 2014/2/25.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Size of WebRTC audio input buffers (atypical values, in audio frames).
  </summary>
</histogram>

<histogram name="WebRTC.AudioInputSampleRate" enum="AudioSampleRate">
  <owner>henrika@chromium.org</owner>
  <summary>Audio input sample rate for WebRTC (in Hz).</summary>
</histogram>

<histogram name="WebRTC.AudioInputSampleRateUnexpected" units="Hz">
  <owner>henrika@chromium.org</owner>
  <summary>
    Audio input sample rate for WebRTC (atypical values, in Hz).
  </summary>
</histogram>

<histogram name="WebRTC.AudioOutputChannelLayout" enum="ChannelLayout">
  <obsolete>
    Removed from code on 2014/2/25.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Audio output channel layout in WebRTC.</summary>
</histogram>

<histogram name="WebRTC.AudioOutputFramesPerBuffer" enum="AudioFramesPerBuffer">
  <obsolete>
    Removed from code Sep 2014.
  </obsolete>
  <owner>henrika@chromium.org</owner>
  <summary>Size of WebRTC audio output buffers (in audio frames).</summary>
</histogram>

<histogram name="WebRTC.AudioOutputFramesPerBufferUnexpected"
    units="audio frames">
  <obsolete>
    Removed from code Sep 2014.
  </obsolete>
  <owner>henrika@chromium.org</owner>
  <summary>
    Size of WebRTC audio output buffers (atypical values, in audio frames).
  </summary>
</histogram>

<histogram name="WebRTC.AudioOutputSampleRate" enum="AudioSampleRate">
  <owner>henrika@chromium.org</owner>
  <summary>Audio output sample rate for WebRTC (in Hz).</summary>
</histogram>

<histogram name="WebRTC.AudioOutputSampleRateUnexpected" units="Hz">
  <owner>henrika@chromium.org</owner>
  <summary>
    Audio output sample rate for WebRTC (atypical values, in Hz).
  </summary>
</histogram>

<histogram name="WebRTC.AudioRenderTime" units="ms">
  <obsolete>
    Removed from code 2014/2/25.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>Duration in milliseconds of WebRTC audio render session.</summary>
</histogram>

<histogram name="WebRTC.AudioRenderTimes" units="ms">
  <obsolete>
    Deprecated as of Aug 2016, replaced by
    Media.Audio.Render.GetSourceDataTime.WebRTC.
  </obsolete>
  <owner>henrika@chromium.org</owner>
  <summary>
    Measures the time spent in WebRtcAudioRenderer::SourceCallback. Sampled 10
    times per second.
  </summary>
</histogram>

<histogram name="WebRTC.BWE.InitialBandwidthEstimate" units="kbps">
  <owner>holmer@chromium.org</owner>
  <summary>The bandwidth estimate 2 seconds into a WebRTC call.</summary>
</histogram>

<histogram name="WebRTC.BWE.InitiallyLostPackets" units="packets">
  <owner>holmer@chromium.org</owner>
  <summary>
    The number of video packets lost durig the first 2 seconds in a WebRTC call.
  </summary>
</histogram>

<histogram name="WebRTC.BWE.InitialRtt" units="ms">
  <owner>holmer@chromium.org</owner>
  <summary>
    The round-trip time as measured 2 seconds into a WebRTC call.
  </summary>
</histogram>

<histogram name="WebRTC.BWE.InitialVsConvergedDiff" units="kbps">
  <owner>holmer@chromium.org</owner>
  <summary>
    The difference between the bandwidth estimate at 2 seconds and 20 seconds
    into a WebRTC call, with a min at 0, which is supposed to capture the how
    much the initial bandwidth estimate overshot the actual bandwidth available.
  </summary>
</histogram>

<histogram name="WebRTC.BWE.RampUpTimeTo1000kbpsInMs" units="ms">
  <owner>holmer@chromium.org</owner>
  <summary>
    The time it takes the estimated bandwidth to reach 1000 kbps from the first
    RTCP packet received. Used to measure the bandwidth ramp-up time.
  </summary>
</histogram>

<histogram name="WebRTC.BWE.RampUpTimeTo2000kbpsInMs" units="ms">
  <owner>holmer@chromium.org</owner>
  <summary>
    The time it takes the estimated bandwidth to reach 2000 kbps from the first
    RTCP packet received. Used to measure the bandwidth ramp-up time.
  </summary>
</histogram>

<histogram name="WebRTC.BWE.RampUpTimeTo500kbpsInMs" units="ms">
  <owner>holmer@chromium.org</owner>
  <summary>
    The time it takes the estimated bandwidth to reach 500 kbps from the first
    RTCP packet received. Used to measure the bandwidth ramp-up time.
  </summary>
</histogram>

<histogram name="WebRTC.BWE.Types" enum="WebRtcBweType">
  <owner>holmer@chromium.org</owner>
  <summary>
    The bandwidth estimation used in WebRTC calls. Records whether the BWE is
    running on the sender or the receiver and what BWE related RTP header
    extensions are in use.
  </summary>
</histogram>

<histogram name="WebRTC.Call.AudioBitrateReceivedInKbps" units="kbps">
  <owner>holmer@chromium.org</owner>
  <summary>
    Average audio bitrate received during a call, counted from first packet
    received until Call instance is destroyed. Only mesured for calls that are
    at least 10 seconds long.
  </summary>
</histogram>

<histogram name="WebRTC.Call.BitrateReceivedInKbps" units="kbps">
  <owner>holmer@chromium.org</owner>
  <summary>
    Average total bitrate received during a call (audio + video + RTCP), counted
    from first packet received until Call instance is destroyed. Only mesured
    for calls that are at least 10 seconds long.
  </summary>
</histogram>

<histogram name="WebRTC.Call.EstimatedSendBitrateInKbps" units="kbps">
  <owner>holmer@chromium.org</owner>
  <summary>
    Average estimated send bitrate during a call, counted from first packet sent
    until Call instance is destroyed. Only mesured for calls that are at least
    10 seconds long.
  </summary>
</histogram>

<histogram name="WebRTC.Call.LifetimeInSeconds" units="seconds">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The lifetime of a call. Recorded when a Call instance is destroyed.
  </summary>
</histogram>

<histogram name="WebRTC.Call.PacerBitrateInKbps" units="kbps">
  <owner>holmer@chromium.org</owner>
  <summary>
    Average pacer bitrate during a call, counted from first packet sent until
    Call instance is destroyed. Only mesured for calls that are at least 10
    seconds long.
  </summary>
</histogram>

<histogram name="WebRTC.Call.RtcpBitrateReceivedInBps" units="bits/s">
  <owner>holmer@chromium.org</owner>
  <summary>
    Average RTCP bitrate received during a call, counted from first packet
    received until Call instance is destroyed. Only mesured for calls that are
    at least 10 seconds long.
  </summary>
</histogram>

<histogram name="WebRTC.Call.VideoBitrateReceivedInKbps" units="kbps">
  <owner>holmer@chromium.org</owner>
  <summary>
    Average video bitrate received during a call, counted from first packet
    received until Call instance is destroyed. Only mesured for calls that are
    at least 10 seconds long.
  </summary>
</histogram>

<histogram name="WebRTC.DataChannelCounters" enum="DataChannelCounters">
  <owner>perkj@chromium.org</owner>
  <summary>
    Counters on creation, opening, and a few main attributes of data channels.
  </summary>
</histogram>

<histogram name="WebRTC.DataChannelMaxRetransmits">
  <owner>perkj@chromium.org</owner>
  <summary>
    The maximum number of retransmissions that are attempted in unreliable mode.
    It is set to the value used in the configuration when a RTCDataChannel is
    created.
  </summary>
</histogram>

<histogram name="WebRTC.DataChannelMaxRetransmitTime" units="ms">
  <owner>perkj@chromium.org</owner>
  <summary>
    The length of the time window during which transmissions and retransmissions
    may occur in unreliable mode. It is set to the value used in the
    configuration when a RTCDataChannel is created.
  </summary>
</histogram>

<histogram name="WebRTC.DesktopCaptureCounters" enum="DesktopCaptureCounters">
  <owner>jiayl@chromium.org</owner>
  <summary>
    Counters on creation of DesktopCaptureDevice and the first capture call.
  </summary>
</histogram>

<histogram name="WebRTC.ICE.TcpSocketWriteErrorCode" enum="SocketErrorCode">
  <owner>zhihuang@chromium.org</owner>
  <summary>
    Counters on different types of TCP socket error code. Collected when we hit
    the error code when writing.
  </summary>
</histogram>

<histogram name="WebRTC.ICE.UdpSocketWriteErrorCode" enum="SocketErrorCode">
  <owner>zhihuang@chromium.org</owner>
  <summary>
    Counters on different types of UDP socket error code. Collected when we hit
    the error code when writing.
  </summary>
</histogram>

<histogram name="WebRTC.NAT.Metrics" enum="NatTypeCounters">
  <owner>guoweis@chromium.org</owner>
  <summary>
    Counters on various types of NAT observed. This is logged once per session.
  </summary>
</histogram>

<histogram name="WebRTC.NumDataChannelsPerPeerConnection">
  <owner>perkj@chromium.org</owner>
  <summary>
    Number of data channels created per PeerConnection. Sample added to the
    histogram when the PeerConnection is destroyed. Note that this is done
    purely on the renderer side, so no sample will be generated when the
    renderer process is destroyed (as in the fast shutdown path for the
    renderer) before the PeerConnection is destroyed.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.CandidatePairType"
    enum="IceCandidatePairTypes">
  <owner>guoweis@chromium.org</owner>
  <summary>
    Counters of various ICE Endpoint types. These values are logged for the
    first selected candidate pair of a PeerConnection.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.ConnectionState"
    enum="IceConnectionStates">
  <owner>guoweis@chromium.org</owner>
  <summary>
    Counters of ICE Connection states. These values are logged when the
    PeerConnection gets into that state for the first time or after the ICE
    restart.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.DtlsHandshakeError"
    enum="DtlsHandshakeError">
  <owner>zhihuang@chromium.org</owner>
  <summary>
    Records the error whenever the Dtls handshake fails. There are only two
    types of errors, incompatitable cipher suite and unknown error, for now.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.IceRegatheringReason"
    enum="IceRegatheringReason">
  <owner>honghaiz@chromium.org</owner>
  <summary>Records the reasons for ICE re-gathering.</summary>
</histogram>

<histogram name="WebRTC.PeerConnection.IceRestartState" enum="IceRestartState">
  <owner>honghaiz@chromium.org</owner>
  <summary>
    Records the transport channel states when ICE restart happens.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.IPMetrics" enum="PeerConnectionCounters">
  <owner>mallinath@chromium.org</owner>
  <summary>
    Counters on IPv4 and IPv6 usage in PeerConnection. These values are logged
    once per PeerConnection.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.IPPermissionStatus"
    enum="IPPermissionStatus">
  <owner>guoweis@chromium.org</owner>
  <summary>
    Whether the permission to collect the local IP addresses in WebRTC has been
    requested and/or granted. This is collected the first time when networks
    updated event is reported or if never reported, during the destruction phase
    of a call.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.IPv4Interfaces">
  <owner>mallinath@chromium.org</owner>
  <summary>
    Number of IPv4 network interfaces discovered in a PeerConnection Session.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.IPv4LocalCandidates">
  <owner>guoweis@chromium.org</owner>
  <summary>
    Number of IPv4 local Candidates gathered in a PeerConnection Session once
    the ICE address gathering process reaches the Completed status. To avoid
    miscounting, this only includes the first m line's first component.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.IPv6Interfaces">
  <owner>mallinath@chromium.org</owner>
  <summary>
    Number of IPv6 network interfaces discovered in a PeerConnection Session.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.IPv6LocalCandidates">
  <owner>guoweis@chromium.org</owner>
  <summary>
    Number of IPv6 local Candidates gathered in a PeerConnection Session once
    the ICE address gathering process reaches the Completed status. To avoid
    miscounting, this only includes the first m line's first component.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.RtcpMux" enum="PeerConnectionRtcpMux">
  <owner>pthatcher@chromium.org</owner>
  <summary>
    Whether RTCP-mux is used for the PeerConnection (both the local and remote
    description enable RTCP-mux).  Recorded after SetLocalDescription and
    SetRemoteDescription are called, once per PeerConnection.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.SelectedRtcpMuxPolicy"
    enum="PeerConnectionRtcpMuxPolicy">
  <obsolete>
    Deprecated on Dec 2016. This histogram is used to gauge the risk of making
    the change for issue 6030. The decision has been made and this is not needed
    any more.
  </obsolete>
  <owner>zhihuang@chromium.org</owner>
  <summary>
    Whether the application specified a value for RTCP-mux policy, and if so,
    which value, &quot;Require&quot; or &quot;Negotiate&quot;. Recorded after
    parsing the configuration when creating the RTCPeerConnection.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.SrtpCryptoSuite"
    enum="DTLS_SRTPCryptoSuite">
  <owner>guoweis@chromium.org</owner>
  <summary>
    Counters on the type of SRTP crypto suites used by WebRTC. This is collected
    whenever the transport signals the OnCompleted event.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.SslCipherSuite" enum="SSLCipherSuite">
  <owner>guoweis@chromium.org</owner>
  <summary>
    Counters on the type of SSL cipher suites used by WebRTC. This is collected
    whenever the transport signals the OnCompleted event.
  </summary>
</histogram>

<histogram name="WebRTC.PeerConnection.TimeToConnect" units="ms">
  <owner>mallinath@chromium.org</owner>
  <summary>Time to setup a peer to peer call with PeerConnection.</summary>
</histogram>

<histogram name="WebRTC.PeerConnection.TimeToNetworkUpdated" units="ms">
  <owner>guoweis@chromium.org</owner>
  <summary>
    Time to receive the first SignalNetworksChanged from the request to start
    updating network in PeerConnection.
  </summary>
</histogram>

<histogram name="WebRTC.ReceivedAudioTrackDuration" units="ms">
  <owner>perkj@chromium.org</owner>
  <summary>
    Durations of audio tracks received over a PeerConnection. The stopwatch
    starts when the track first becomes connected, and ends when it is
    disconnected or very soon thereafter.
  </summary>
</histogram>

<histogram name="WebRTC.ReceivedVideoTrackDuration" units="ms">
  <owner>perkj@chromium.org</owner>
  <summary>
    Durations of video tracks received over a PeerConnection. The stopwatch
    starts when the track first becomes connected, and ends when it is
    disconnected or very soon thereafter.
  </summary>
</histogram>

<histogram name="WebRTC.ReliableDataChannelMessageSize" units="bytes">
  <owner>perkj@chromium.org</owner>
  <summary>
    Sizes of messages sent over reliable data channels. The size of an
    individual message is added to the histogram as a sample immediately when a
    message is sent.
  </summary>
</histogram>

<histogram name="WebRTC.ScreenCaptureTime" units="ms">
  <owner>jiayl@chromium.org</owner>
  <summary>Time for capturing one frame in screen capturing.</summary>
</histogram>

<histogram name="WebRTC.SentAudioTrackDuration" units="ms">
  <owner>perkj@chromium.org</owner>
  <summary>
    Durations of audio tracks sent over a PeerConnection. The stopwatch starts
    when the track first becomes connected, and ends when it is disconnected or
    very soon thereafter.
  </summary>
</histogram>

<histogram name="WebRTC.SentVideoTrackDuration" units="ms">
  <owner>perkj@chromium.org</owner>
  <summary>
    Durations of video tracks sent over a PeerConnection. The stopwatch starts
    when the track first becomes connected, and ends when it is disconnected or
    very soon thereafter.
  </summary>
</histogram>

<histogram name="WebRTC.Stun.BatchSuccessPercent" units="%">
  <owner>guoweis@chromium.org</owner>
  <summary>
    For clients using a shared source port per STUN binding request toward the
    specified servers, success rate for requests which received a response with
    various intervals between requests. Only the first instance of renderers
    will conduct the trial and log this result. The STUN binding requests are
    grouped into multiple batches and the success rate is calculated for an
    individual batch.
  </summary>
</histogram>

<histogram name="WebRTC.Stun.ResponseLatency" units="ms">
  <owner>guoweis@chromium.org</owner>
  <summary>
    For clients using a shared source port per STUN binding request, average RTT
    for requests which received a response with various intervals between
    requests. Only the first instance of renderers will conduct the trial and
    log this result.
  </summary>
</histogram>

<histogram name="WebRTC.Stun.SuccessPercent" units="%">
  <owner>guoweis@chromium.org</owner>
  <summary>
    For clients using a shared source port per STUN binding request, success
    rate for requests which received a response with various intervals between
    requests. Only the first instance of renderers will conduct the trial and
    log this result.
  </summary>
</histogram>

<histogram name="WebRTC.SystemMaxConsecutiveBytesDelayed">
  <owner>guoweis@chromium.org</owner>
  <summary>
    The maximum of consecutive delayed bytes caused by EWOULDBLOCKs from system.
    This happens when system can't send any packet synchronously at that moment.
  </summary>
</histogram>

<histogram name="WebRTC.SystemPercentPacketsDelayed" units="%">
  <owner>guoweis@chromium.org</owner>
  <summary>
    The percentage of packets delayed due to ERR_IO_PENDING from system in a
    WebRTC socket. This happens when system can't send any packet synchronously
    at that moment.
  </summary>
</histogram>

<histogram name="WebRTC.SystemSendPacketDuration" units="ms">
  <owner>guoweis@chromium.org</owner>
  <summary>
    The duration that it takes to send out a packet in system layer. This
    includes both the queuing time (under the condition when socket returns
    EWOULDBLOCK from system) as well as the time system takes to finish the
    asynchronous send. For UDP, it's the time from P2PSocketHostUdp::Send to
    P2PSocketHostUdp::HandleSendResult. Tcp part is to be implemented.
  </summary>
</histogram>

<histogram name="WebRTC.UnreliableDataChannelMessageSize" units="bytes">
  <owner>perkj@chromium.org</owner>
  <summary>
    Sizes of messages sent over unreliable data channels. The size of an
    individual message is added to the histogram as a sample immediately when a
    message is sent.
  </summary>
</histogram>

<histogram name="WebRTC.UserMediaRequest.NoResultState"
    enum="MediaStreamRequestState">
  <owner>andresp@chromium.org</owner>
  <summary>
    The state of a UserMediaRequest when it gets destroyed before having a
    result.

    Note: &quot;Explicitly Cancelled&quot; means
    MediaStreamImpl::cancelUserMediaRequest was called and not necessarily that
    the user cancelled. Those are likely tracked as UserMediaRequest with a
    result of permission denied.
  </summary>
</histogram>

<histogram name="WebRTC.UserMediaRequest.Result"
    enum="MediaStreamRequestResult">
  <owner>andresp@chromium.org</owner>
  <summary>
    Counters for UserMediaRequests results such as failure reasons.
  </summary>
</histogram>

<histogram name="WebRTC.Video.AdaptChangesPerMinute" units="changes/minute">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average number of adaptation changes per minute for a sent video stream.
    Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.AverageRoundTripTimeInMilliseconds" units="ms">
  <owner>holmer@chromium.org</owner>
  <summary>
    The average round-trip time of a WebRTC call in milliseconds. Recorded when
    a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.AVSyncOffsetInMs" units="ms">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The absolute value of the sync offset between a rendered video frame and the
    latest played audio frame is measured per video frame. The average offset
    per received video stream is recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.BandwidthLimitedResolutionInPercent" units="%">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Percentage of sent frames that are limited in resolution due to bandwidth
    for a sent video stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.BandwidthLimitedResolutionsDisabled"
    units="disabled resolutions">
  <owner>asapersson@chromium.org</owner>
  <summary>
    For frames that are limited in resolution due to bandwidth, the average
    number of disabled resolutions is recorded for a sent video stream. Recorded
    when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.BitrateReceivedInKbps" units="kbps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of received bits per second for a received video stream. Recorded
    when a stream is removed. The total number of bytes is divided by the time
    the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.BitrateSentInKbps" units="kbps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of sent bits per second for a sent video stream. Recorded when a
    stream is removed. The total number of bytes is divided by the time the
    video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.CompleteFramesReceivedPerSecond" units="fps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of complete frames received per second for a received video
    stream. Recorded when a stream is removed. The total number of frames is
    divided by the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.CpuLimitedResolutionInPercent" units="%">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Percentage of frames that are limited in resolution due to cpu for a sent
    video stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.CurrentDelayInMs" units="ms">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Average current delay for a received video stream. This is the actual delay
    imposed on frames (where the goal is to reach the target delay (see
    WebRTC.Video.TargetDelayInMs)). Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Decoded.Vp8.Qp" units="qp value">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average QP (quantizer value) per frame for a received VP8 video stream.
    Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.DecodedFramesPerSecond" units="fps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of decoded frames per second for a received video stream.
    Recorded when a stream is removed. The total number of frames is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.DecodeTimeInMs" units="ms">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average decode time per frame for a received video stream. Recorded when
    a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.DelayedFramesToRenderer" units="%">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Percentage of delayed frames to renderer for a received video stream.
    Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.DelayedFramesToRenderer_AvgDelayInMs" units="ms">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average delay of delayed frames to renderer for a received video stream.
    Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.DiscardedPacketsInPercent" units="%">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Percentage of discarded packets by the jitter buffer due to arriving too
    late for a received video stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.DuplicatedPacketsInPercent" units="%">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Percentage of duplicated packets in the jitter buffer for a received video
    stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Encoded.Qp" units="qp value">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average QP (quantizer value) per frame for a sent video stream. Recorded
    when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Encoder.CodecType" enum="WebRtcVideoCodecs">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Configured video codec for a sent video stream. Recorded when a
    VideoSendStream is destroyed (for streams whose lifetime is longer than 10
    seconds).
  </summary>
</histogram>

<histogram name="WebRTC.Video.EncodeTimeInMs" units="ms">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average encode time per frame for a sent video stream. Recorded when a
    stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.EndToEndDelayInMs" units="ms">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average end-to-end delay per frame for a received video stream. Recorded
    when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.FecBitrateReceivedInKbps" units="kbps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of received FEC bits per second for a received video stream.
    Recorded when a stream is removed. The total number of bytes is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.FecBitrateSentInKbps" units="kbps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of sent FEC bits per second for a sent video stream. Recorded
    when a stream is removed. The total number of bytes is divided by the time
    the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.FirPacketsReceivedPerMinute"
    units="packets/minute">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of received RTCP FIR packets per minute for a sent video stream.
    Recorded when a stream is removed. The total number of packets is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.FirPacketsSentPerMinute" units="packets/minute">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of sent RTCP FIR packets per minute for a received video stream.
    Recorded when a stream is removed. The total number of packets is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.H264DecoderImpl.Event"
    enum="WebRtcH264DecoderImplEvent">
  <owner>hbos@chromium.org</owner>
  <summary>
    The number of |H264DecoderImpl| events, such as an initialization or
    decoding error, that have occurred. At most one Init and one Error is
    reported per |H264DecoderImpl| instance. This is to avoid the same event
    from being reported multiple times (e.g. if there is an error you might
    re-initialize or get a decode error every frame which would otherwise
    pollute the data).
  </summary>
</histogram>

<histogram name="WebRTC.Video.H264EncoderImpl.Event"
    enum="WebRtcH264EncoderImplEvent">
  <owner>hbos@chromium.org</owner>
  <summary>
    The number of |H264EncoderImpl| events, such as an initialization or
    encoding error, that have occurred. At most one Init and one Error is
    reported per |H264EncoderImpl| instance. This is to avoid the same event
    from being reported multiple times (e.g. if there is an error you might
    re-initialize or get an encode error every frame which would otherwise
    pollute the data).
  </summary>
</histogram>

<histogram name="WebRTC.Video.InputFramesPerSecond" units="fps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of incoming frames per second for a sent video stream. Recorded
    when a stream is removed. The total number of frames is divided by the time
    the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.InputHeightInPixels" units="pixels">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average input height per frame (for incoming frames to video engine) for
    a sent video stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.InputWidthInPixels" units="pixels">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average input width per frame (for incoming frames to video engine) for
    a sent video stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.JitterBufferDelayInMs" units="ms">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Average jitter buffer delay for a received video stream. Recorded when a
    stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.KeyFramesReceivedInPermille" units="permille">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Permille of frames that are key frames for a received video stream. Recorded
    when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.KeyFramesSentInPermille" units="permille">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Permille of frames that are key frames for a sent video stream. Recorded
    when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.MediaBitrateReceivedInKbps" units="kbps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of received media payload bits per second for a received video
    stream. Recorded when a stream is removed. The total number of bytes is
    divided by the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.MediaBitrateSentInKbps" units="kbps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of sent media payload bits per second for a sent video stream.
    Recorded when a stream is removed. The total number of bytes is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.NackPacketsReceivedPerMinute"
    units="packets/minute">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of received RTCP NACK packets per minute for a sent video stream.
    Recorded when a stream is removed. The total number of packets is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.NackPacketsSentPerMinute" units="packets/minute">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of sent RTCP NACK packets per minute for a received video stream.
    Recorded when a stream is removed. The total number of packets is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.NumberOfPauseEvents" units="pause events">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of times a video stream has been paused/resumed during a call.
    Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.OnewayDelayInMs" units="ms">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Average delay (network delay (rtt/2) + jitter delay + decode time + render
    delay) for a received video stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.PaddingBitrateReceivedInKbps" units="kbps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of received padding bits per second for a received video stream.
    Recorded when a stream is removed. The total number of bytes is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.PaddingBitrateSentInKbps" units="kbps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of sent padding bits per second for a sent video stream. Recorded
    when a stream is removed. The total number of bytes is divided by the time
    the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.PausedTimeInPercent" units="%">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Percentage of time that the video has been paused for a sent video stream.
    Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.PliPacketsReceivedPerMinute"
    units="packets/minute">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of received RTCP PLI packets per minute for a sent video stream.
    Recorded when a stream is removed. The total number of packets is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.PliPacketsSentPerMinute" units="packets/minute">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of sent RTCP PLI packets per minute for a received video stream.
    Recorded when a stream is removed. The total number of packets is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.QualityLimitedResolutionDownscales"
    units="downscales">
  <owner>asapersson@chromium.org</owner>
  <summary>
    For frames that are downscaled in resolution due to quality, the average
    number of downscales is recorded for a sent video stream. Recorded when a
    stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.QualityLimitedResolutionInPercent" units="%">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Percentage of sent frames that are downscaled in resolution due to quality
    for a sent video stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.ReceivedFecPacketsInPercent" units="%">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Percentage of received FEC packets for a received video stream. Recorded
    when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.ReceivedHeightInPixels" units="pixels">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average received height per frame for a received video stream. Recorded
    when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.ReceivedPacketsLostInPercent" units="%">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Percentage of received packets lost for a received video stream. Recorded
    when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.ReceivedWidthInPixels" units="pixels">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average received width per frame for a received video stream. Recorded
    when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.ReceiveStreamLifetimeInSeconds" units="seconds">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The lifetime of a video receive stream. Recorded when a VideoReceiveStream
    instance is destroyed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.RecoveredMediaPacketsInPercentOfFec" units="%">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Percentage of recovered media packets from FEC packets for a received video
    stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.RenderFramesPerSecond" units="fps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of sent frames to the renderer per second for a received video
    stream. Recorded when a stream is removed. The total number of frames is
    divided by the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.RenderSqrtPixelsPerSecond" units="pps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of pixels (sqrt(width*height)) of sent frames to the renderer per
    second for a received video stream. Recorded when a stream is removed. The
    total number of pixels is divided by the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.RetransmittedBitrateReceivedInKbps" units="kbps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of retransmitted bits per second for a received video stream.
    Recorded when a stream is removed. The total number of bytes is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.RetransmittedBitrateSentInKbps" units="kbps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of retransmitted bits per second for a sent video stream.
    Recorded when a stream is removed. The total number of bytes is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.RtpToNtpFreqOffsetInKhz" units="kHz">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The absolute value of the difference between the estimated frequency during
    RTP timestamp to NTP time conversion and the actual value (i.e. 90 kHz) is
    measured per received video frame. The max offset during 40 second intervals
    is stored. The average of these stored offsets per received video stream is
    recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.RtxBitrateReceivedInKbps" units="kbps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of received bits over RTX per second for a received video stream.
    Recorded when a stream is removed. The total number of bytes is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.RtxBitrateSentInKbps" units="kbps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of sent bits over RTX per second for a sent video stream.
    Recorded when a stream is removed. The total number of bytes is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.BandwidthLimitedResolutionInPercent"
    units="%">
  <owner>sprang@chromium.org</owner>
  <summary>
    Percentage of sent frames that are limited in resolution due to bandwidth
    for a sent (screen content) video stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.BandwidthLimitedResolutionsDisabled"
    units="disabled resolutions">
  <owner>sprang@chromium.org</owner>
  <summary>
    For frames that are limited in resolution due to bandwidth, the average
    number of disabled resolutions is recorded for a sent (screen content) video
    stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.BitrateSentInKbps" units="kbps">
  <owner>sprang@chromium.org</owner>
  <summary>
    The number of sent bits per second for a sent screenshare stream. Recorded
    when a stream is removed. The total number of bytes is divided by the time
    the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.EncodeTimeInMs" units="ms">
  <owner>sprang@chromium.org</owner>
  <summary>
    The average encode time per frame for a sent (screen content) video stream.
    Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.FecBitrateSentInKbps" units="kbps">
  <owner>sprang@chromium.org</owner>
  <summary>
    The number of sent FEC bits per second for a sent screenshare stream.
    Recorded when a stream is removed. The total number of bytes is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.FirPacketsReceivedPerMinute"
    units="packets/minute">
  <owner>sprang@chromium.org</owner>
  <summary>
    The number of received RTCP FIR packets per minute for a sent screenshare
    stream. Recorded when a stream is removed. The total number of packets is
    divided by the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.FramesPerDrop"
    units="sent/dropped ratio">
  <owner>sprang@chromium.org</owner>
  <summary>
    Ratio of sent frames to dropped frames at the encoder. The value is reported
    when a stream is removed and is calculated as the total number frames sent
    divided by the number of dropped frames.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.FramesPerOvershoot"
    units="sent/overshoot ratio">
  <owner>sprang@chromium.org</owner>
  <summary>
    Ratio of sent frames to number of re-encoded frames (due to target bitrate
    overshoot). The value is reported when a stream is removed and is calculated
    as the total number frames sent divided by the number of re-encoded frames.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.InputFramesPerSecond" units="fps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of incoming frames per second for a sent (screen content) video
    stream. Recorded when a stream is removed. The total number of frames is
    divided by the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.InputHeightInPixels" units="pixels">
  <owner>sprang@chromium.org</owner>
  <summary>
    The average input height per frame (for incoming frames to video engine) for
    a sent (screen content) video stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.InputWidthInPixels" units="pixels">
  <owner>sprang@chromium.org</owner>
  <summary>
    The average input width per frame (for incoming frames to video engine) for
    a sent (screen content) video stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.KeyFramesSentInPermille"
    units="permille">
  <owner>sprang@chromium.org</owner>
  <summary>
    Permille of frames that are key frames for a sent (screen content) video
    stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.Layer0">
  <owner>sprang@chromium.org</owner>
  <summary>
    Stats for the lower layer (TL0) of a screenshare stream in conference mode.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.Layer1">
  <owner>sprang@chromium.org</owner>
  <summary>
    Stats for the higher layer (TL1) of a screenshare stream in conference mode.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.MediaBitrateSentInKbps" units="kbps">
  <owner>sprang@chromium.org</owner>
  <summary>
    The number of sent media payload bits per second for a sent screenshare
    stream. Recorded when a stream is removed. The total number of bytes is
    divided by the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.NackPacketsReceivedPerMinute"
    units="packets/minute">
  <owner>sprang@chromium.org</owner>
  <summary>
    The number of received RTCP NACK packets per minute for a sent screenshare
    stream. Recorded when a stream is removed. The total number of packets is
    divided by the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.PaddingBitrateSentInKbps"
    units="kbps">
  <owner>sprang@chromium.org</owner>
  <summary>
    The number of sent padding bits per second for a sent screenshare stream.
    Recorded when a stream is removed. The total number of bytes is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.PliPacketsReceivedPerMinute"
    units="packets/minute">
  <owner>sprang@chromium.org</owner>
  <summary>
    The number of received RTCP PLI packets per minute for a sent screenshare
    stream. Recorded when a stream is removed. The total number of packets is
    divided by the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.QualityLimitedResolutionDownscales"
    units="downscales">
  <owner>sprang@chromium.org</owner>
  <summary>
    For frames that are downscaled in resolution due to quality, the average
    number of downscales is recorded for a sent (screen content) video stream.
    Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.QualityLimitedResolutionInPercent"
    units="%">
  <owner>sprang@chromium.org</owner>
  <summary>
    Percentage of sent frames that are downscaled in resolution due to quality
    for a sent (screen content) video stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.RetransmittedBitrateSentInKbps"
    units="kbps">
  <owner>sprang@chromium.org</owner>
  <summary>
    The number of retransmitted bits per second for a sent screenshare stream.
    Recorded when a stream is removed. The total number of bytes is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.RtxBitrateSentInKbps" units="kbps">
  <owner>sprang@chromium.org</owner>
  <summary>
    The number of sent bits over RTX per second for a sent screenshare stream.
    Recorded when a stream is removed. The total number of bytes is divided by
    the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.SendSideDelayInMs" units="ms">
  <owner>sprang@chromium.org</owner>
  <summary>
    The average delay (of average delays) of sent packets for a sent (screen
    content) video stream. Recorded when a stream is removed. The delay is
    measured from a frame is input to video engine until a packet is sent to the
    network. For each sent packet, the average delay of all sent packets over
    the last second is reported. The average of these reported delays is
    recorded.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.SendSideDelayMaxInMs" units="ms">
  <owner>sprang@chromium.org</owner>
  <summary>
    The average delay (of max delays) of sent packets for a sent (screen
    content) video stream. Recorded when a stream is removed. The delay is
    measured from a frame is input to video engine until a packet is sent to the
    network. For each sent packet, the maximum delay of all sent packets over
    the last second is reported. The average of these reported delays is
    recorded.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.SentFramesPerSecond" units="fps">
  <owner>sprang@chromium.org</owner>
  <summary>
    The number of sent frames per second for a sent (screen content) video
    stream. Recorded when a stream is removed. The total number of frames is
    divided by the time the video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.SentHeightInPixels" units="pixels">
  <owner>sprang@chromium.org</owner>
  <summary>
    The average sent height per frame for a sent (screen content) video stream.
    Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.SentPacketsLostInPercent" units="%">
  <owner>sprang@chromium.org</owner>
  <summary>
    Percentage of sent packets lost for a sent screenshare stream. Recorded when
    a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.SentWidthInPixels" units="pixels">
  <owner>sprang@chromium.org</owner>
  <summary>
    The average sent width per frame for a sent (screen content) video stream.
    Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.Screenshare.UniqueNackRequestsReceivedInPercent"
    units="%">
  <owner>sprang@chromium.org</owner>
  <summary>
    Percentage of unique RTCP NACK requests that are received in response to a
    sent screenshare stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.SendDelayInMs" units="ms">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average send delay of sent packets for a sent video stream. Recorded
    when a stream is removed. The delay is measured from a packet is sent to the
    transport until leaving the socket.
  </summary>
</histogram>

<histogram name="WebRTC.Video.SendSideDelayInMs" units="ms">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average delay (of average delays) of sent packets for a sent video
    stream. Recorded when a stream is removed. The delay is measured from a
    frame is input to video engine until a packet is sent to the network. For
    each sent packet, the average delay of all sent packets over the last second
    is reported. The average of these reported delays is recorded.
  </summary>
</histogram>

<histogram name="WebRTC.Video.SendSideDelayMaxInMs" units="ms">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average delay (of max delays) of sent packets for a sent video stream.
    Recorded when a stream is removed. The delay is measured from a frame is
    input to video engine until a packet is sent to the network. For each sent
    packet, the maximum delay of all sent packets over the last second is
    reported. The average of these reported delays is recorded.
  </summary>
</histogram>

<histogram name="WebRTC.Video.SendStreamLifetimeInSeconds" units="seconds">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The lifetime of a video send stream. Recorded when a VideoSendStream
    instance is destroyed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.SentFramesPerSecond" units="fps">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The number of sent frames per second for a sent video stream. Recorded when
    a stream is removed. The total number of frames is divided by the time the
    video stream exists.
  </summary>
</histogram>

<histogram name="WebRTC.Video.SentHeightInPixels" units="pixels">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average sent height per frame for a sent video stream. Recorded when a
    stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.SentPacketsLostInPercent" units="%">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Percentage of sent packets lost for a sent video stream. Recorded when a
    stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.SentWidthInPixels" units="pixels">
  <owner>asapersson@chromium.org</owner>
  <summary>
    The average sent width per frame for a sent video stream. Recorded when a
    stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.TargetDelayInMs" units="ms">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Average target delay (jitter delay + decode time + render delay) for a
    received video stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.UniqueNackRequestsReceivedInPercent" units="%">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Percentage of unique RTCP NACK requests that are received in response to a
    sent video stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.UniqueNackRequestsSentInPercent" units="%">
  <owner>asapersson@chromium.org</owner>
  <summary>
    Percentage of unique RTCP NACK requests that are sent in response to a
    received video stream. Recorded when a stream is removed.
  </summary>
</histogram>

<histogram name="WebRTC.Video.VP8DecoderImpl.TooManyPendingFrames"
    units="counts">
  <owner>perkj@chromium.org</owner>
  <summary>
    Counts occurences of if the VP8 software decoder runs out of buffers due to
    that they are not returned to the buffer pool. See http://crbug/652923 and
    http://crbug/542522.
  </summary>
</histogram>

<histogram name="WebRTC.webkitApiCount" enum="JavaScriptAPIName">
  <owner>perkj@chromium.org</owner>
  <owner>mcasas@chromium.org</owner>
  <owner>emircan@chromium.org</owner>
  <summary>Counts number of calls to WebRTC APIs from JavaScript.</summary>
</histogram>

<histogram name="WebRTC.webkitApiCountPerSession" enum="JavaScriptAPIName">
  <owner>perkj@chromium.org</owner>
  <summary>
    Counts the number of calls to WebRTC APIs from JavaScript once per session.
    A session is a crude estimate since its implemented as the lifetime of the
    render process that called the WebRTC API.
  </summary>
</histogram>

<histogram name="WebRTC.webkitApiCountUniqueByOrigin" enum="JavaScriptAPIName">
  <obsolete>
    Deprecated as of r253828 (27 Feb 2014).
  </obsolete>
  <owner>tommi@chromium.org</owner>
  <summary>
    Counts number of calls to WebRTC APIs from JavaScript, once per origin per
    renderer process.
  </summary>
</histogram>

<histogram name="WebRTC.WindowCaptureTime" units="ms">
  <owner>jiayl@chromium.org</owner>
  <summary>Time for capturing one frame in window capturing.</summary>
</histogram>

<histogram name="WebShare.ApiCount" enum="WebShareMethod">
  <owner>mgiuca@chromium.org</owner>
  <summary>
    Counts the number of calls to navigator.share. Includes both successful and
    failed shares.
  </summary>
</histogram>

<histogram name="WebShare.ShareOutcome" enum="WebShareOutcome">
  <owner>mgiuca@chromium.org</owner>
  <summary>
    Records the outcome of calls to navigator.share. This will not count any
    calls that never complete (e.g., if the page closes while the picker is
    open). Therefore, DO NOT look at the raw percentages of this histogram;
    instead, compare these numbers with the WebShare.ApiCount.Share total.

    NOTE: At the moment, if the user cancels the picker, its recording will be
    delayed, and possibly never recorded (https://crbug.com/636274), so that
    will account for a discrepancy between ShareOutcome and ApiCount.Share.
  </summary>
</histogram>

<histogram name="WebsiteSettings.Action" enum="WebsiteSettingsAction">
  <owner>lgarron@chromium.org</owner>
  <summary>
    Tracks actions with the website setting (a.k.a. page info / origin info)
    bubble, such as opening it up or clicking on the Connection tab.
  </summary>
</histogram>

<histogram name="WebsiteSettings.Action.HttpsUrl" enum="WebsiteSettingsAction">
  <obsolete>
    Deprecated October 2016 in favor of Security.PageInfo.Action.HttpsUrl.Valid,
    Security.PageInfo.Action.HttpsUrl.Dangerous, and
    Security.PageInfo.Action.HttpsUrl.Downgraded.
  </obsolete>
  <owner>lgarron@chromium.org</owner>
  <summary>
    Tracks WebsiteSettings actions that take place on an HTTPS URL. This
    completely disregards security status.
  </summary>
</histogram>

<histogram name="WebsiteSettings.Menu.PermissionChanged" enum="ContentType">
  <owner>miguelg@chromium.org</owner>
  <owner>finnur@chromium.org</owner>
  <summary>
    Count of how often a specific content type (permission) is changed using the
    content settings menu.

    Note: The values of this metric collected for Chrome 49 (early 2016) are
    innacurate and should not be trusted. crbug.com/589255.
  </summary>
</histogram>

<histogram name="WebsiteSettings.Menu.PermissionChanged.Allowed"
    enum="ContentType">
  <owner>miguelg@chromium.org</owner>
  <owner>finnur@chromium.org</owner>
  <summary>
    Count of how often a specific content type (permission) is set to 'Allowed'
    using the content settings menu.

    Note: The values of this metric collected for Chrome 49 (early 2016) are
    innacurate and should not be trusted. crbug.com/589255.
  </summary>
</histogram>

<histogram name="WebsiteSettings.Menu.PermissionChanged.Blocked"
    enum="ContentType">
  <owner>miguelg@chromium.org</owner>
  <owner>finnur@chromium.org</owner>
  <summary>
    Count of how often a specific content type (permission) is set to 'Blocked'
    using the content settings menu.

    Note: The values of this metric collected for Chrome 49 (early 2016) are
    innacurate and should not be trusted. crbug.com/589255.
  </summary>
</histogram>

<histogram name="WebsiteSettings.Menu.PermissionChanged.Reset"
    enum="ContentType">
  <owner>miguelg@chromium.org</owner>
  <owner>finnur@chromium.org</owner>
  <summary>
    Count of how often a specific content type (permission) is reset to the
    default value using the content settings menu.

    Note: The values of this metric collected for Chrome 49 (early 2016) are
    innacurate and should not be trusted. crbug.com/589255.
  </summary>
</histogram>

<histogram name="WebsiteSettings.OriginInfo.PermissionChanged"
    enum="ContentType">
  <owner>sashab@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    Count of how often a specific content type (permission) is changed using the
    Origin Info dialog.

    Note: The values of this metric collected for Chrome 49 (early 2016) are
    innacurate and should not be trusted. crbug.com/589255.
  </summary>
</histogram>

<histogram name="WebsiteSettings.OriginInfo.PermissionChanged.Allowed"
    enum="ContentType">
  <owner>sashab@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    Count of how often a specific content type (permission) is set to 'Allowed'
    using the Origin Info dialog.

    Note: The values of this metric collected for Chrome 49 (early 2016) are
    innacurate and should not be trusted. crbug.com/589255.
  </summary>
</histogram>

<histogram name="WebsiteSettings.OriginInfo.PermissionChanged.Blocked"
    enum="ContentType">
  <owner>sashab@chromium.org</owner>
  <owner>felt@chromium.org</owner>
  <summary>
    Count of how often a specific content type (permission) is set to 'Blocked'
    using the Origin Info dialog.

    Note: The values of this metric collected for Chrome 49 (early 2016) are
    innacurate and should not be trusted. crbug.com/589255.
  </summary>
</histogram>

<histogram name="WebsiteSettings.PermissionChanged" enum="ContentType">
  <obsolete>
    Deprecated 12/2014 in Issue 433776, and replaced by
    WebsiteSettings.OriginInfo.PermissionChanged.
  </obsolete>
  <owner>lgarron@chromium.org</owner>
  <owner>sashab@chromium.org</owner>
  <summary>
    Count of how often a specific content type (permission) is changed using the
    Page Info UI.

    Note: The values of this metric collected for Chrome 49 (early 2016) are
    innacurate and should not be trusted. crbug.com/589255.
  </summary>
</histogram>

<histogram name="websql.Async.OpenTime.Error" units="ms">
  <owner>cmumford@chromium.org</owner>
  <summary>
    The time required to try (and fail) to open a Web SQL database.
  </summary>
</histogram>

<histogram name="websql.Async.OpenTime.Success" units="ms">
  <owner>cmumford@chromium.org</owner>
  <summary>The time required to successfully open a Web SQL database.</summary>
</histogram>

<histogram name="websql.OpenDatabase" enum="BooleanSecure">
  <owner>michaeln@chromium.org</owner>
  <summary>
    Counts the number of WebSQL databases opened for secure vs insecure origins.
  </summary>
</histogram>

<histogram name="Webstore.ExtensionInstallResult" enum="BooleanSuccess">
  <owner>jackhou@chromium.org</owner>
  <summary>
    The success or failure of all extension installs from the webstore. This
    includes those initiated by sync.
  </summary>
</histogram>

<histogram name="WebstoreWidgetApp.Close" enum="SuggestAppsDialogCloseReason">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Webstore Widget app: the reason why the suggest apps dialog was closed.
  </summary>
</histogram>

<histogram name="WebstoreWidgetApp.Install" enum="SuggestAppsDialogInstall">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Webstore Widget app: whether the Webstore item user selected was
    successfully installed or not.
  </summary>
</histogram>

<histogram name="WebstoreWidgetApp.Load" enum="SuggestAppsDialogLoad">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Webstore Widget app: whether the initialization of the dialog succeeded or
    not.
  </summary>
</histogram>

<histogram name="WebstoreWidgetApp.LoadTime" units="ms">
  <owner>joshwoodward@google.com</owner>
  <summary>
    Webstore Widget app: time to load the widget contained in the app. Measured
    between the moment window appears and the moment all the contents in the app
    including the Chrome Webstore widget are ready.
  </summary>
</histogram>

<histogram name="WebUI.CreatedForUrl" enum="WebUIUrlHashes">
  <owner>dbeam@chromium.org</owner>
  <summary>URLs for which Chrome creates WebUIControllers.</summary>
</histogram>

<histogram name="WebUsb.ChooserClosed" enum="WebUsbChooserClosed">
  <owner>reillyg@chromium.org</owner>
  <owner>juncai@chromium.org</owner>
  <summary>
    Records the reason why the WebUSB device chooser was closed.
  </summary>
</histogram>

<histogram name="WebUsb.DetectorInitialization" units="ms">
  <owner>reillyg@chromium.org</owner>
  <owner>juncai@chromium.org</owner>
  <summary>
    Records the time spent initializing the WebUSB detector module.
  </summary>
</histogram>

<histogram name="WebUsb.NotificationClosed" enum="WebUsbNotificationClosed">
  <owner>reillyg@chromium.org</owner>
  <owner>juncai@chromium.org</owner>
  <summary>
    Records the reason why the &quot;WebUSB device detected&quot; notification
    was dismissed.
  </summary>
</histogram>

<histogram name="WebUsb.PermissionRevoked" enum="WebUsbPermissionRevoked">
  <owner>reillyg@chromium.org</owner>
  <owner>juncai@chromium.org</owner>
  <summary>
    Records when the user revokes permission for an origin to connect to a USB
    device using the WebUSB API.
  </summary>
</histogram>

<histogram name="Welcome.SignInPromptResult" enum="WelcomeSignInPromptOutcome">
  <owner>tmartino@chromium.org</owner>
  <summary>
    Records the result of promoting sign-in via the Welcome page.
  </summary>
</histogram>

<histogram name="Welcome.Win10.DefaultPromptResult" enum="BooleanDefault">
  <owner>tmartino@chromium.org</owner>
  <summary>
    Records whether or not Chrome was the default browser when the user left the
    Win10-specific Welcome page.
  </summary>
</histogram>

<histogram name="Welcome.Win10.NewPromoPageAdded" enum="BooleanShown">
  <owner>pmonette@chromium.org</owner>
  <owner>tmartino@chromium.org</owner>
  <summary>
    Emits a &quot;true&quot; sample when the revamped WebUI-based welcome page
    is added to the startup tabs list. This means that barring an error on
    startup, it was shown to the user. This histogram can only be recorded
    during first-run flow, when the EnableWelcomeWin10 experiment is enabled.
  </summary>
</histogram>

<histogram name="Welcome.Win10.OriginalPromoPageAdded" enum="BooleanShown">
  <owner>pmonette@chromium.org</owner>
  <owner>tmartino@chromium.org</owner>
  <summary>
    Emits a &quot;true&quot; sample when the old external welcome page is added
    to the startup tabs list. This means that barring an error on startup, it
    was shown to the user. This histogram can only be recorded during first-run
    flow, when the EnableWelcomeWin10 experiment is disabled.
  </summary>
</histogram>

<histogram name="Welcome.Win10.PinCheckTimedOut" enum="BooleanTimedOut">
  <owner>pmonette@chromium.org</owner>
  <owner>tmartino@chromium.org</owner>
  <summary>
    Records whether or not the check that verifies if Chrome is pinned to the
    taskbar has timed out. This check is done when the welcome page is opened in
    order to determine which instructions to display to the user.
  </summary>
</histogram>

<histogram name="Welcome.Win10.PinnedPromptResult" enum="BooleanPinned">
  <owner>tmartino@chromium.org</owner>
  <summary>
    Records whether or not Chrome was pinned to the taskbar when the user left
    the Win10-specific Welcome page.
  </summary>
</histogram>

<histogram name="Win8.PageLoad" enum="Win8PageLoadType">
  <owner>zturner@chromium.org</owner>
  <summary>
    Count of page loads in each of the 2 different environments (metro/desktop)
    on Windows 8.
  </summary>
</histogram>

<histogram name="WindowManager.AppWindowCountPerLoad">
  <owner>kuscher@chromium.org</owner>
  <summary>
    The number of app windows open when a load completes. This includes windows
    opened by an app shortcut, or apps opened in a popup. This only counts v1
    apps.
  </summary>
</histogram>

<histogram name="WindowManager.PanelWindowCountPerLoad">
  <obsolete>
    Deprecated 4/2013. No longer tracked.
  </obsolete>
  <owner>kuscher@chromium.org</owner>
  <summary>
    The number of panel windows open when a load completes. Panels are windows
    docked to the bottom of the OS desktop, which are visible to the user even
    while the user is interacting with other applications.
  </summary>
</histogram>

<histogram name="WindowManager.PopUpWindowCountPerLoad">
  <owner>kuscher@chromium.org</owner>
  <summary>
    The number of popup windows open when a load completes. Popup windows only
    have one content area (no multiple tabs) and a stripped down toolbar
    consisting only of a read-only address bar.
  </summary>
</histogram>

<histogram name="WindowManager.TabbedWindowCountPerLoad">
  <owner>kuscher@chromium.org</owner>
  <summary>
    The number of tabbed windows open when a load completes. A tabbed window is
    a normal browser window which can have one or more tabs.
  </summary>
</histogram>

<histogram name="Windows.GetVersionExVersion" enum="WindowsVersion">
  <owner>scottmg@chromium.org</owner>
  <summary>
    The Windows version (base::win::Version) as reported by GetVersionEx(). This
    is queried shortly after startup.
  </summary>
</histogram>

<histogram name="Windows.InCompatibilityMode" enum="BooleanCompatibilityMode">
  <owner>scottmg@chromium.org</owner>
  <summary>
    A boolean used to indicate when the Windows version reported by
    GetVersionEx() and the Windows version reported by VerQueryValue() on
    kernel32 do not match. This is queried shortly after startup.
  </summary>
</histogram>

<histogram name="Windows.IsPinnedToTaskbar" enum="IsPinnedToTaskbarResult">
  <owner>pmonette@chromium.org</owner>
  <summary>
    Indicates whether Chrome is pinned to the Windows taskbar for the current
    user. Recorded shortly after startup.
  </summary>
</histogram>

<histogram name="Windows.IsPinnedToTaskbar.ProcessError" enum="BooleanError">
  <owner>pmonette@chromium.org</owner>
  <summary>
    Indicates whether a connection error occured between the browser and the
    shell handler process. This is usually caused by a crash in the utility
    process. This is logged every time the pinned state is queried.
  </summary>
</histogram>

<histogram name="Windows.Kernel32Version" enum="WindowsVersion">
  <owner>scottmg@chromium.org</owner>
  <summary>
    The Windows version (base::win::Version) as reported by VeryQueryValue() on
    kernel32.dll. This is queried shortly after startup.
  </summary>
</histogram>

<histogram name="Windows.ParentProcessNameHash" enum="ProcessNameHash">
  <owner>wfh@chromium.org</owner>
  <summary>
    The 32-bit hash of the lower-case parent process basename (e.g.
    explorer.exe) of the main Chrome executable. Reported once during startup as
    part of install verification.
  </summary>
</histogram>

<histogram name="Windows.Tablet" enum="BooleanTablet">
  <owner>zturner@chromium.org</owner>
  <summary>Count of browser launches from a Windows tablet pc.</summary>
</histogram>

<histogram name="Windows.Win32kRendererLockdown" enum="BooleanEnabled">
  <obsolete>
    Deprecated 10/2016 as this is enabled by default so provides no useful data.
  </obsolete>
  <owner>wfh@chromium.org</owner>
  <summary>
    Count of browser launches where Win32k renderer lockdown is enabled.
  </summary>
</histogram>

<histogram name="WinJumplist.Action" enum="WinJumplistCategory">
  <owner>noms@chromium.org</owner>
  <summary>The type of category clicked in the Windows Jumplist</summary>
</histogram>

<histogram name="WinJumplist.CreateIconFilesCount">
  <owner>chengx@chromium.org</owner>
  <summary>
    Count of jumplist icons that will be created per jumplist update. It is
    recorded whenever UpdateJumpList() is called.
  </summary>
</histogram>

<histogram name="WinJumplist.CreateIconFilesDuration" units="ms">
  <owner>chengx@chromium.org</owner>
  <summary>
    Time spent in CreateIconFiles(). This method is called whenever there is a
    jumplist update and the JumpListIcons folder is empty.
  </summary>
</histogram>

<histogram name="WinJumplist.DeleteDirectoryContentDuration" units="ms">
  <owner>chengx@chromium.org</owner>
  <summary>
    Time spent in DeleteDirectoryContentAndLogResults(). This method is to
    delete the icon files in JumpListIcons folder.
  </summary>
</histogram>

<histogram name="WinJumplist.DeleteStatusJumpListIcons"
    enum="JumplisticonsDeleteCategory">
  <owner>chengx@chromium.org</owner>
  <summary>
    This metric records the detailed delete result of JumpListIcons directory.
  </summary>
</histogram>

<histogram name="WinJumplist.DeleteStatusJumpListIconsOld"
    enum="JumplisticonsDeleteCategory">
  <owner>chengx@chromium.org</owner>
  <summary>
    This metric records the detailed delete result of JumpListIconsOld
    directory.
  </summary>
</histogram>

<histogram name="WinJumplist.DetailedFolderMoveResults"
    enum="JumplistIconsDetailedFolderMoveCategory">
  <obsolete>
    Obsolete 12/13/2016 as we are no long recording this metric.
  </obsolete>
  <owner>chengx@chromium.org</owner>
  <summary>
    This metric is recorded when folder JumpListIcons is moved (can be rename or
    copy and delete) to JumpListIconsOld. This happens when tabs are closed,
    mostly visited URLs get updated, etc. There are several key steps in this
    folder move operation. Before the move operation, there is another step that
    JumpListIconsOld folder is deleted. The status of these steps are put
    together and recorded in this metric. The failure of any of these steps is
    suspected to be related to a known issue.
  </summary>
</histogram>

<histogram name="WinJumplist.DetailedFolderResults"
    enum="JumplistIconsDetailedFolderOperationCategory">
  <obsolete>
    Obsolete 03/10/2017 as it is replaced by DetailedFolderResultsDeleteUpdated.
  </obsolete>
  <owner>chengx@chromium.org</owner>
  <summary>
    This metric is recorded when folders JumpListIcons and JumpListIconsOld get
    updated. These two folders are updated when tabs are closed, mostly visited
    URLs get updated, etc. These two folders are updated as follows 1)
    JumpListIconsOld with its content get deleted; 2) if step 1 succeeds,
    JumpListIcons is moved, 3) if any of the previous steps fails, JumpListIcons
    is deleted, 4) A new JumpListIcons folder is created. The status of these 4
    file operations are put together and recorded in this metric. The failure of
    any of these file operations is suspected to be related to a known issue.
  </summary>
</histogram>

<histogram name="WinJumplist.DetailedFolderResultsDeleteUpdated"
    enum="JumplistIconsDetailedFolderOperationDeleteUpdatedCategory">
  <obsolete>
    Obselete 03/20/2016. New metrics named WinJumplist.DeleteStatusJumpListIcons
    and WinJumplist.DeleteStatusJumpListIconsOld are used instead.
  </obsolete>
  <owner>chengx@chromium.org</owner>
  <summary>
    This metric is recorded when folders JumpListIcons and JumpListIconsOld get
    updated. These two folders are updated when tabs are closed, mostly visited
    URLs get updated, etc. These two folders are updated as follows 1)
    JumpListIconsOld with its content get deleted; 2) if step 1 succeeds,
    JumpListIcons is renamed to JumpListIconsOld, 3) if any of the previous
    steps fails, JumpListIcons is deleted, 4) A new JumpListIcons folder is
    created if deletion of JumpListIcons' content succeeds (only fail to delete
    the directory is okay). The status of these 4 file operations are put
    together and recorded in this metric. The failure of any of these file
    operations is suspected to be related to a known issue.
  </summary>
</histogram>

<histogram name="WinJumplist.DirectoryStatusJumpListIcons"
    enum="JumpListIconsFolderExistOrEmptyCategory">
  <owner>chengx@chromium.org</owner>
  <summary>
        This metric records whether the folder JumpListIcons exists; and if it
    does, whether it is empty or non-empty.
  </summary>
</histogram>

<histogram name="WinJumplist.DirectoryStatusJumpListIconsOld"
    enum="JumpListIconsFolderExistOrEmptyCategory">
  <owner>chengx@chromium.org</owner>
  <summary>
        This metric records whether the folder JumpListIconsOld exists; and if
    it does, whether it is empty or non-empty.
  </summary>
</histogram>

<histogram name="WinJumplist.FolderMoveResults"
    enum="JumplistIconsFolderMoveCategory">
  <obsolete>
    Obselete 12/08/2016. DetailedFolderMoveResults is used for more detailed
    analysis.
  </obsolete>
  <owner>chengx@chromium.org</owner>
  <summary>
    This metric is recorded when folder JumpListIcons is moved (can be rename or
    copy and delete) to JumpListIconsOld. This happens when tabs are closed,
    mostly visited URLs get updated, etc. There are 3 possible steps in this
    folder move operation. Before the move operation, there is another step that
    JumpListIconsOld folder is deleted. The status of these steps are put
    together and recorded in this metric. The failure of any of these steps is
    suspected to be related to a known issue listed below.
    https://bugs.chromium.org/p/chromium/issues/detail?id=179576
  </summary>
</histogram>

<histogram name="WinJumplist.FolderResults" enum="JumplisticonsfolderCategory">
  <obsolete>
    Obselete 12/13/2016, as we are now recording DetailedFolderResults.
  </obsolete>
  <owner>chengx@chromium.org</owner>
  <summary>
    This metric is recorded when folders JumpListIcons and JumpListIconsOld get
    updated. These two folders are updated when tabs are closed, mostly visited
    URLs get updated, etc. These two folders are updated as follows 1)
    JumpListIconsOld with its content get deleted; 2) JumpListIcons is moved, 3)
    A new JumpListIcons folder is created. The status of these three file
    operations are put together and recorded in this metric. The failure of any
    of these file operations is suspected to be related to a known issue.
  </summary>
</histogram>

<histogram name="WinJumplist.UpdateJumpListDuration" units="ms">
  <owner>chengx@chromium.org</owner>
  <summary>
    Time spent in UpdateJumpList(). This method is called whenever there is a
    jumplist update.
  </summary>
</histogram>

<histogram name="WinJumplistUpdater.AddCustomCategoryDuration" units="ms">
  <owner>chengx@chromium.org</owner>
  <summary>Time spent in JumpListUpdater::AddCustomCategory.</summary>
</histogram>

<histogram name="WinJumplistUpdater.AddTasksDuration" units="ms">
  <owner>chengx@chromium.org</owner>
  <summary>Time spent in JumpListUpdater::AddTasks.</summary>
</histogram>

<histogram name="WinJumplistUpdater.BeginUpdateDuration" units="ms">
  <owner>chengx@chromium.org</owner>
  <summary>Time spent in JumpListUpdater::BeginUpdate.</summary>
</histogram>

<histogram name="WinJumplistUpdater.CommitUpdateDuration" units="ms">
  <owner>chengx@chromium.org</owner>
  <summary>Time spent in JumpListUpdater::CommitUpdate.</summary>
</histogram>

<histogram name="WinTimeTicks.FailedToChangeCores" enum="WindowsVersion">
  <obsolete>
    Removed 01/2017.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    Incremented each time the TimeTicks field trial runs on a machine with
    multiple cores, but failed to change thread affinity. Broken down by Windows
    version.
  </summary>
</histogram>

<histogram name="WinTimeTicks.MinResolutionNanoseconds" units="nanoseconds">
  <obsolete>
    Removed 01/2017.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The smallest non-zero delta reported by subsequent calls to
    QueryPerformanceCounter.
  </summary>
</histogram>

<histogram name="WinTimeTicks.NonStopTsc">
  <obsolete>
    Removed 01/2017.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    True if the CPU's timestamp counter ticks at a constant rate regardless of
    CPU frequency.
  </summary>
</histogram>

<histogram name="WinTimeTicks.TickedBackwards" enum="WindowsVersion">
  <obsolete>
    Removed 01/2017.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of times the TimeTicks field trial failed because
    QueryPerformanceCounter ticked backwards. Broken down by Windows version.
  </summary>
</histogram>

<histogram name="WinTimeTicks.VersionSuccessful" enum="WindowsVersion">
  <obsolete>
    Removed 01/2017.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of times the TimeTicks field trial succeeded. Broken down by
    Windows version.
  </summary>
</histogram>

<histogram name="WinTimeTicks.VersionTotal" enum="WindowsVersion">
  <obsolete>
    Removed 01/2017.
  </obsolete>
  <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
  <summary>
    The number of times the TimeTicks field trial ran for comparison with
    WinTimeTicks.VersionSuccess. Broken down by Windows version.
  </summary>
</histogram>

<histogram name="WorkerScheduler.WorkerThreadLoad" units="%">
  <owner>kinuko@chromium.org</owner>
  <summary>
    Worker thread load, i.e. percentage of time spent on running tasks. This
    metric is emitted at most once per kWorkerThreadLoadTrackerReportingInterval
    sec per worker thread amortized. E.g. if a worker ran a single task for X
    seconds and then went to idle for Y seconds before it shuts down, and
    assuming the interval rate was 1 sec, we get X samples for 100% and Y
    samples for 0%.
  </summary>
</histogram>

<histogram name="WorkerThread.DebuggerTask.Time" units="ms">
  <owner>nhiroki@chromium.org</owner>
  <summary>The time taken for running a debugger task on WorkerThread.</summary>
</histogram>

<histogram name="WorkerThread.ExitCode" enum="WorkerThreadExitCode">
  <owner>nhiroki@chromium.org</owner>
  <summary>Records the exit code of WorkerThread.</summary>
</histogram>

<histogram name="WorkerThread.Runtime" units="ms">
  <owner>kinuko@chromium.org</owner>
  <summary>
    The amount of time a worker thread ran for. Starts recording when a worker
    scheduler for the thread is created, and stops when the scheduler is shut
    down.
  </summary>
</histogram>

<histogram name="WorkerThread.Task.Time" units="ms">
  <owner>nhiroki@chromium.org</owner>
  <summary>The time taken for running a worker task on WorkerThread.</summary>
</histogram>

<histogram name="WrenchMenu.MenuAction" enum="WrenchMenuAction">
  <owner>ainslie@chromium.org</owner>
  <owner>edwardjung@chromium.org</owner>
  <summary>Number of times that each menu item is clicked.</summary>
</histogram>

<histogram name="WrenchMenu.OpeningAnimationFrameTimes" units="ms">
  <owner>kkimlabs@chromium.org</owner>
  <summary>
    Frame times of the Android wrench menu opening animation. For example, if
    the menu opening animation runs exactly at 60fps for a second, then each
    frame time is 16ms, and a total of 60 values of 16ms are recorded. If the
    animation is janky, we will see values greater than 16ms in the histogram.
  </summary>
</histogram>

<histogram name="WrenchMenu.RecentTabsSubMenu" enum="RecentTabsAction">
  <owner>rpop@chromium.org</owner>
  <summary>
    The number of times each tab or window restore option in the Recent Tabs
    submenu is clicked.
  </summary>
</histogram>

<histogram name="WrenchMenu.TimeToAction">
  <owner>ainslie@chromium.org</owner>
  <owner>edwardjung@chromium.org</owner>
  <summary>
    The time a user takes to select a menu item after opening the menu.
  </summary>
</histogram>

<histogram name="WrenchMenu.TouchDuration" units="ms">
  <owner>kkimlabs@chromium.org</owner>
  <summary>
    Time difference between touch down and touch up on Android wrench button.
  </summary>
</histogram>

<histogram name="ZeroSuggest.AllResults">
  <owner>hfung@chromium.org</owner>
  <summary>
    The number of results (either query or URL) from ZeroSuggest. This is set
    every time a successful response from ZeroSuggest is recieved, which can be
    every time the user focuses on the omnibox.
  </summary>
</histogram>

<histogram name="ZeroSuggest.QueryResults">
  <owner>hfung@chromium.org</owner>
  <summary>
    The number of query results returned from ZeroSuggest. This is set every
    time a successful response from ZeroSuggest is recieved, which can be every
    time the user focuses on the omnibox.
  </summary>
</histogram>

<histogram name="ZeroSuggest.URLResults">
  <owner>hfung@chromium.org</owner>
  <summary>
    The number of URL results returned from ZeroSuggest. This is set every time
    a successful response from ZeroSuggest is recieved, which can be every time
    the user focuses on the omnibox.
  </summary>
</histogram>

</histograms>

<!-- Enum types -->

<enums>

<enum name="Abandoned" type="int">
  <int value="0" label="Finished"/>
  <int value="1" label="Abandoned"/>
</enum>

<enum name="AbandonType" type="int">
  <int value="0" label="Not abandoned"/>
  <int value="1" label="FinishDoc missing"/>
  <int value="2" label="FinishAllLoads missing"/>
  <int value="3" label="FinishAllLoads+FinishDoc missing"/>
  <int value="4" label="LoadEventStart missing"/>
  <int value="5" label="LoadEventStart+FinishDoc missing"/>
  <int value="6" label="LoadEventStart+FinishAllLoads missing"/>
  <int value="7" label="LoadEventStart+FinishAllLoads+FinishDoc missing"/>
  <int value="8" label="LoadEventEnd missing"/>
  <int value="9" label="LoadEventEnd+FinishDoc missing"/>
  <int value="10" label="LoadEventEnd+FinishAllLoads missing"/>
  <int value="11" label="LoadEventEnd+FinishAllLoads+FinishDoc missing"/>
  <int value="12" label="LoadEventEnd+LoadEventStart missing"/>
  <int value="13" label="LoadEventEnd+LoadEventStart+FinishDoc missing"/>
  <int value="14" label="LoadEventEnd+LoadEventStart+FinishAllLoads missing"/>
  <int value="15"
      label="LoadEventEnd+LoadEventStart+FinishAllLoads+FinishDoc missing"/>
</enum>

<enum name="AcceleratedFixedRootBackground" type="int">
  <int value="0" label="ScrolledMainFrame"/>
  <int value="1" label="ScrolledMainFrameWithAcceleratedFixedRootBackground"/>
  <int value="2" label="ScrolledMainFrameWithUnacceleratedFixedRootBackground"/>
</enum>

<enum name="AccessibilityModeFlagEnum" type="int">
  <summary>Track individual accessibility mode flags that are enabled.</summary>
  <int value="0" label="Native APIs"/>
  <int value="1" label="Web Contents"/>
  <int value="2" label="Inline Text Boxes"/>
  <int value="3" label="Screen Reader"/>
  <int value="4" label="HTML"/>
</enum>

<enum name="AccessibilityWinAPIEnum" type="int">
  <summary>
    Track which Windows accessibility APIs are being called by clients.
  </summary>
  <int value="0" label="UMA_API_ACC_DO_DEFAULT_ACTION">accDoDefaultAction</int>
  <int value="1" label="UMA_API_ACC_HIT_TEST">accHitTest</int>
  <int value="2" label="UMA_API_ACC_LOCATION">accLocation</int>
  <int value="3" label="UMA_API_ACC_NAVIGATE">accNavigate</int>
  <int value="4" label="UMA_API_ACC_SELECT">accSelect</int>
  <int value="5" label="UMA_API_ADD_SELECTION">addSelection</int>
  <int value="6" label="UMA_API_CONVERT_RETURNED_ELEMENT">
    ConvertReturnedElement
  </int>
  <int value="7" label="UMA_API_DO_ACTION">doAction</int>
  <int value="8" label="UMA_API_GET_ACCESSIBLE_AT">get_accessibleAt</int>
  <int value="9" label="UMA_API_GET_ACC_CHILD">get_accChild</int>
  <int value="10" label="UMA_API_GET_ACC_CHILD_COUNT">get_accChildCount</int>
  <int value="11" label="UMA_API_GET_ACC_DEFAULT_ACTION">
    get_accDefaultAction
  </int>
  <int value="12" label="UMA_API_GET_ACC_DESCRIPTION">get_accDescription</int>
  <int value="13" label="UMA_API_GET_ACC_FOCUS">get_accFocus</int>
  <int value="14" label="UMA_API_GET_ACC_HELP">get_accHelp</int>
  <int value="15" label="UMA_API_GET_ACC_HELP_TOPIC">get_accHelpTopic</int>
  <int value="16" label="UMA_API_GET_ACC_KEYBOARD_SHORTCUT">
    get_accKeyboardShortcut
  </int>
  <int value="17" label="UMA_API_GET_ACC_NAME">get_accName</int>
  <int value="18" label="UMA_API_GET_ACC_PARENT">get_accParent</int>
  <int value="19" label="UMA_API_GET_ACC_ROLE">get_accRole</int>
  <int value="20" label="UMA_API_GET_ACC_SELECTION">get_accSelection</int>
  <int value="21" label="UMA_API_GET_ACC_STATE">get_accState</int>
  <int value="22" label="UMA_API_GET_ACC_VALUE">get_accValue</int>
  <int value="23" label="UMA_API_GET_ANCHOR">get_anchor</int>
  <int value="24" label="UMA_API_GET_ANCHOR_TARGET">get_anchorTarget</int>
  <int value="25" label="UMA_API_GET_APP_NAME">get_appName</int>
  <int value="26" label="UMA_API_GET_APP_VERSION">get_appVersion</int>
  <int value="27" label="UMA_API_GET_ATTRIBUTES_FOR_NAMES">
    get_attributesForNames
  </int>
  <int value="28" label="UMA_API_GET_CAPTION">get_caption</int>
  <int value="29" label="UMA_API_GET_CARET_OFFSET">get_caretOffset</int>
  <int value="30" label="UMA_API_GET_CELL_AT">get_cellAt</int>
  <int value="31" label="UMA_API_GET_CHARACTER_EXTENTS">
    get_characterExtents
  </int>
  <int value="32" label="UMA_API_GET_CHILD_AT">get_childAt</int>
  <int value="33" label="UMA_API_GET_CHILD_INDEX">get_childIndex</int>
  <int value="34" label="UMA_API_GET_CLIPPED_SUBSTRING_BOUNDS">
    get_clippedSubstringBounds
  </int>
  <int value="35" label="UMA_API_GET_COLUMN_DESCRIPTION">
    get_columnDescription
  </int>
  <int value="36" label="UMA_API_GET_COLUMN_EXTENT">get_columnExtent</int>
  <int value="37" label="UMA_API_GET_COLUMN_EXTENT_AT">get_columnExtentAt</int>
  <int value="38" label="UMA_API_GET_COLUMN_HEADER">get_columnHeader</int>
  <int value="39" label="UMA_API_GET_COLUMN_HEADER_CELLS">
    get_columnHeaderCells
  </int>
  <int value="40" label="UMA_API_GET_COLUMN_INDEX">get_columnIndex</int>
  <int value="41" label="UMA_API_GET_COMPUTED_STYLE">get_computedStyle</int>
  <int value="42" label="UMA_API_GET_COMPUTED_STYLE_FOR_PROPERTIES">
    get_computedStyleForProperties
  </int>
  <int value="43" label="UMA_API_GET_CURRENT_VALUE">get_currentValue</int>
  <int value="44" label="UMA_API_GET_DESCRIPTION">get_description</int>
  <int value="45" label="UMA_API_GET_DOC_TYPE">get_docType</int>
  <int value="46" label="UMA_API_GET_DOM_TEXT">get_domText</int>
  <int value="47" label="UMA_API_GET_END_INDEX">get_endIndex</int>
  <int value="48" label="UMA_API_GET_EXTENDED_ROLE">get_extendedRole</int>
  <int value="49" label="UMA_API_GET_EXTENDED_STATES">get_extendedStates</int>
  <int value="50" label="UMA_API_GET_FIRST_CHILD">get_firstChild</int>
  <int value="51" label="UMA_API_GET_FONT_FAMILY">get_fontFamily</int>
  <int value="52" label="UMA_API_GET_GROUP_POSITION">get_groupPosition</int>
  <int value="53" label="UMA_API_GET_HOST_RAW_ELEMENT_PROVIDER">
    get_HostRawElementProvider
  </int>
  <int value="54" label="UMA_API_GET_HYPERLINK">get_hyperlink</int>
  <int value="55" label="UMA_API_GET_HYPERLINK_INDEX">get_hyperlinkIndex</int>
  <int value="56" label="UMA_API_GET_IACCESSIBLE_PAIR">
    GetIAccessiblePair ALT
  </int>
  <int value="57" label="UMA_API_GET_IMAGE_POSITION">get_imagePosition</int>
  <int value="58" label="UMA_API_GET_IMAGE_SIZE">get_imageSize</int>
  <int value="59" label="UMA_API_GET_INDEX_IN_PARENT">get_indexInParent</int>
  <int value="60" label="UMA_API_GET_INNER_HTML">get_innerHTML</int>
  <int value="61" label="UMA_API_GET_IS_COLUMN_SELECTED">
    get_isColumnSelected
  </int>
  <int value="62" label="UMA_API_GET_IS_ROW_SELECTED">get_isRowSelected</int>
  <int value="63" label="UMA_API_GET_IS_SELECTED">get_isSelected</int>
  <int value="64" label="UMA_API_GET_KEY_BINDING">get_keyBinding</int>
  <int value="65" label="UMA_API_GET_LANGUAGE">get_language</int>
  <int value="66" label="UMA_API_GET_LAST_CHILD">get_lastChild</int>
  <int value="67" label="UMA_API_GET_LOCALE">get_locale</int>
  <int value="68" label="UMA_API_GET_LOCALIZED_EXTENDED_ROLE">
    get_localizedExtendedRole
  </int>
  <int value="69" label="UMA_API_GET_LOCALIZED_EXTENDED_STATES">
    get_localizedExtendedStates
  </int>
  <int value="70" label="UMA_API_GET_LOCALIZED_NAME">get_localizedName</int>
  <int value="71" label="UMA_API_GET_LOCAL_INTERFACE">get_localInterface</int>
  <int value="72" label="UMA_API_GET_MAXIMUM_VALUE">get_maximumValue</int>
  <int value="73" label="UMA_API_GET_MIME_TYPE">get_mimeType</int>
  <int value="74" label="UMA_API_GET_MINIMUM_VALUE">get_minimumValue</int>
  <int value="75" label="UMA_API_GET_NAME">get_name</int>
  <int value="76" label="UMA_API_GET_NAMESPACE_URI_FOR_ID">
    get_nameSpaceURIForID ALT
  </int>
  <int value="77" label="UMA_API_GET_NEW_TEXT">get_newText</int>
  <int value="78" label="UMA_API_GET_NEXT_SIBLING">get_nextSibling</int>
  <int value="79" label="UMA_API_GET_NODE_INFO">get_nodeInfo</int>
  <int value="80" label="UMA_API_GET_N_CHARACTERS">get_nCharacters</int>
  <int value="81" label="UMA_API_GET_N_COLUMNS">get_nColumns</int>
  <int value="82" label="UMA_API_GET_N_EXTENDED_STATES">
    get_nExtendedStates
  </int>
  <int value="83" label="UMA_API_GET_N_HYPERLINKS">get_nHyperlinks</int>
  <int value="84" label="UMA_API_GET_N_RELATIONS">get_nRelations</int>
  <int value="85" label="UMA_API_GET_N_ROWS">get_nRows</int>
  <int value="86" label="UMA_API_GET_N_SELECTED_CELLS">get_nSelectedCells</int>
  <int value="87" label="UMA_API_GET_N_SELECTED_CHILDREN">
    get_nSelectedChildren
  </int>
  <int value="88" label="UMA_API_GET_N_SELECTED_COLUMNS">
    get_nSelectedColumns
  </int>
  <int value="89" label="UMA_API_GET_N_SELECTED_ROWS">get_nSelectedRows</int>
  <int value="90" label="UMA_API_GET_N_SELECTIONS">get_nSelections</int>
  <int value="91" label="UMA_API_GET_OBJECT_FOR_CHILD">GetObjectForChild</int>
  <int value="92" label="UMA_API_GET_OFFSET_AT_POINT">get_offsetAtPoint</int>
  <int value="93" label="UMA_API_GET_OLD_TEXT">get_oldText</int>
  <int value="94" label="UMA_API_GET_PARENT_NODE">get_parentNode</int>
  <int value="95" label="UMA_API_GET_PATTERN_PROVIDER">GetPatternProvider</int>
  <int value="96" label="UMA_API_GET_PREVIOUS_SIBLING">get_previousSibling</int>
  <int value="97" label="UMA_API_GET_PROPERTY_VALUE">GetPropertyValue</int>
  <int value="98" label="UMA_API_GET_PROVIDER_OPTIONS">get_ProviderOptions</int>
  <int value="99" label="UMA_API_GET_RELATION">get_relation</int>
  <int value="100" label="UMA_API_GET_RELATIONS">get_relations</int>
  <int value="101" label="UMA_API_GET_ROW_COLUMN_EXTENTS">
    get_rowColumnExtents
  </int>
  <int value="102" label="UMA_API_GET_ROW_COLUMN_EXTENTS_AT_INDEX">
    get_rowColumnExtentsAtIndex
  </int>
  <int value="103" label="UMA_API_GET_ROW_DESCRIPTION">get_rowDescription</int>
  <int value="104" label="UMA_API_GET_ROW_EXTENT">get_rowExtent</int>
  <int value="105" label="UMA_API_GET_ROW_EXTENT_AT">get_rowExtentAt</int>
  <int value="106" label="UMA_API_GET_ROW_HEADER">get_rowHeader</int>
  <int value="107" label="UMA_API_GET_ROW_HEADER_CELLS">get_rowHeaderCells</int>
  <int value="108" label="UMA_API_GET_ROW_INDEX">get_rowIndex</int>
  <int value="109" label="UMA_API_GET_RUNTIME_ID">GetRuntimeId</int>
  <int value="110" label="UMA_API_GET_SELECTED_CELLS">get_selectedCells</int>
  <int value="111" label="UMA_API_GET_SELECTED_CHILDREN">
    get_selectedChildren
  </int>
  <int value="112" label="UMA_API_GET_SELECTED_COLUMNS">
    get_selectedColumns
  </int>
  <int value="113" label="UMA_API_GET_SELECTED_ROWS">get_selectedRows</int>
  <int value="114" label="UMA_API_GET_SELECTION">get_selection</int>
  <int value="115" label="UMA_API_GET_START_INDEX">get_startIndex</int>
  <int value="116" label="UMA_API_GET_STATES">get_states</int>
  <int value="117" label="UMA_API_GET_SUMMARY">get_summary</int>
  <int value="118" label="UMA_API_GET_TABLE">get_table</int>
  <int value="119" label="UMA_API_GET_TEXT">get_text</int>
  <int value="120" label="UMA_API_GET_TEXT_AFTER_OFFSET">
    get_textAfterOffset
  </int>
  <int value="121" label="UMA_API_GET_TEXT_AT_OFFSET">get_textAtOffset</int>
  <int value="122" label="UMA_API_GET_TEXT_BEFORE_OFFSET">
    get_textBeforeOffset
  </int>
  <int value="123" label="UMA_API_GET_TITLE">get_title</int>
  <int value="124" label="UMA_API_GET_TOOLKIT_NAME">get_toolkitName</int>
  <int value="125" label="UMA_API_GET_TOOLKIT_VERSION">get_toolkitVersion</int>
  <int value="126" label="UMA_API_GET_UNCLIPPED_SUBSTRING_BOUNDS">
    get_unclippedSubstringBounds
  </int>
  <int value="127" label="UMA_API_GET_UNIQUE_ID">get_uniqueID</int>
  <int value="128" label="UMA_API_GET_URL">get_URL</int>
  <int value="129" label="UMA_API_GET_VALID">get_valid</int>
  <int value="130" label="UMA_API_GET_WINDOW_HANDLE">get_windowHandle</int>
  <int value="131" label="UMA_API_IA2_GET_ATTRIBUTES">get_attributes ALT</int>
  <int value="132" label="UMA_API_IA2_SCROLL_TO">scrollTo ALT</int>
  <int value="133" label="UMA_API_IAACTION_GET_DESCRIPTION">
    get_description ALT
  </int>
  <int value="134" label="UMA_API_IATEXT_GET_ATTRIBUTES">
    get_attributes ALT
  </int>
  <int value="135" label="UMA_API_ISIMPLEDOMNODE_GET_ATTRIBUTES">
    get_attributes ALT
  </int>
  <int value="136" label="UMA_API_ISIMPLEDOMNODE_SCROLL_TO">scrollTo ALT</int>
  <int value="137" label="UMA_API_N_ACTIONS">nActions</int>
  <int value="138" label="UMA_API_PUT_ALTERNATE_VIEW_MEDIA_TYPES">
    put_alternateViewMediaTypes
  </int>
  <int value="139" label="UMA_API_QUERY_SERVICE">QueryService</int>
  <int value="140" label="UMA_API_REMOVE_SELECTION">removeSelection</int>
  <int value="141" label="UMA_API_ROLE">role</int>
  <int value="142" label="UMA_API_SCROLL_SUBSTRING_TO">scrollSubstringTo</int>
  <int value="143" label="UMA_API_SCROLL_SUBSTRING_TO_POINT">
    scrollSubstringToPoint
  </int>
  <int value="144" label="UMA_API_SCROLL_TO_POINT">scrollToPoint</int>
  <int value="145" label="UMA_API_SCROLL_TO_SUBSTRING">scrollToSubstring</int>
  <int value="146" label="UMA_API_SELECT_COLUMN">selectColumn</int>
  <int value="147" label="UMA_API_SELECT_ROW">selectRow</int>
  <int value="148" label="UMA_API_SET_CARET_OFFSET">setCaretOffset</int>
  <int value="149" label="UMA_API_SET_CURRENT_VALUE">setCurrentValue</int>
  <int value="150" label="UMA_API_SET_SELECTION">setSelection</int>
  <int value="151" label="UMA_API_TABLE2_GET_SELECTED_COLUMNS">
    get_selectedColumns ALT
  </int>
  <int value="152" label="UMA_API_TABLE2_GET_SELECTED_ROWS">
    get_selectedRows ALT
  </int>
  <int value="153" label="UMA_API_TABLECELL_GET_COLUMN_INDEX">
    get_columnIndex ALT
  </int>
  <int value="154" label="UMA_API_TABLECELL_GET_IS_SELECTED">
    get_isSelected ALT
  </int>
  <int value="155" label="UMA_API_TABLECELL_GET_ROW_INDEX">
    get_rowIndex ALT
  </int>
  <int value="156" label="UMA_API_UNSELECT_COLUMN">unselectColumn</int>
  <int value="157" label="UMA_API_UNSELECT_ROW">unselectRow</int>
</enum>

<enum name="AccountChooserDismissalReason" type="int">
  <int value="0" label="Canceled"/>
  <int value="1" label="Credential chosen"/>
  <int value="2" label="Sign in clicked"/>
</enum>

<enum name="AccountChooserUsabilityState" type="int">
  <int value="0" label="Looks OK"/>
  <int value="1" label="Empty username"/>
  <int value="2" label="Duplicate usernames"/>
  <int value="3" label="Empty and duplicate usernames"/>
</enum>

<enum name="AccountRelation" type="int">
  <int value="0" label="Empty cookie jar"/>
  <int value="1" label="No signed in, single signed out match"/>
  <int value="2" label="No signed in, one of multiple signed out match"/>
  <int value="3" label="No signed in with signed out, no match"/>
  <int value="4" label="Single signed in match, no signed out"/>
  <int value="5" label="Signle signed in match with signed out"/>
  <int value="6" label="One of multiple signed in match, any signed out"/>
  <int value="7" label="With signed in, one of signed out match"/>
  <int value="8" label="With signed in, no match"/>
</enum>

<enum name="ActionAfterDoubleTap" type="int">
  <int value="0" label="Navigated Back"/>
  <int value="1" label="Stopped Navigation"/>
  <int value="2" label="No Action"/>
</enum>

<enum name="ActionUponResourceRequest" type="int">
  <int value="0" label="Load resource"/>
  <int value="1" label="Revalidate resource"/>
  <int value="2" label="Use resource from cache"/>
</enum>

<enum name="ActiveWindowShowType" type="int">
  <int value="0" label="No Active Window"/>
  <int value="1" label="Other"/>
  <int value="2" label="Maximized"/>
  <int value="3" label="Fullscreen"/>
  <int value="4" label="Snapped"/>
  <int value="5" label="Docked"/>
  <int value="6" label="Pinned"/>
  <int value="7" label="TrustedPinned"/>
</enum>

<enum name="ActivityTrackerCollectInitStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Unknown directory"/>
  <int value="2" label="Get stability file path failed"/>
  <int value="3" label="Crashpad database init failed"/>
</enum>

<enum name="ActivityTrackerCollectStatus" type="int">
  <int value="0" label="None"/>
  <int value="1" label="Sucess"/>
  <int value="2" label="Analyzer creation failed"/>
  <int value="3" label="Debug file has no data"/>
  <int value="4" label="Prepare new crash report failed"/>
  <int value="5" label="Write to minidump failed"/>
  <int value="6" label="Debug file deletion failed"/>
  <int value="7" label="Finished writing crash report failed"/>
</enum>

<enum name="ActivityTrackerRecordInitStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Create stability dir failed"/>
  <int value="2" label="Get stability file path failed"/>
</enum>

<enum name="ActivityTrackerSystemSessionAnalysisStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Missing timestamp"/>
  <int value="2" label="Missing analyzer"/>
  <int value="3" label="Analysis failed"/>
  <int value="4" label="Outside range"/>
</enum>

<enum name="ActivityTrackerWriteDumpStatus" type="int">
  <int value="0" label="Sucess"/>
  <int value="1" label="Failed"/>
  <int value="2" label="Failed (missing product details)"/>
</enum>

<enum name="AddressFamily" type="int">
  <int value="0" label="Unspecified"/>
  <int value="1" label="IPv4"/>
  <int value="2" label="IPv6"/>
</enum>

<enum name="AddSearchProvider" type="int">
  <int value="0" label="window.external.AddSearchProvider was called"/>
  <int value="1" label="A confirmation dialog was shown"/>
  <int value="2" label="The user added a search engine via the dialog"/>
  <int value="3"
      label="The user saw the dialog but closed it without adding an engine"/>
</enum>

<enum name="AffiliationFetchResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Network/server error"/>
  <int value="2" label="Malformed response"/>
</enum>

<enum name="AlternateProtocolUsage" type="int">
  <int value="0" label="ALTERNATE_PROTOCOL_USAGE_NO_RACE"/>
  <int value="1" label="ALTERNATE_PROTOCOL_USAGE_WON_RACE"/>
  <int value="2" label="ALTERNATE_PROTOCOL_USAGE_LOST_RACE"/>
  <int value="3" label="ALTERNATE_PROTOCOL_USAGE_MAPPING_MISSING"/>
  <int value="4" label="ALTERNATE_PROTOCOL_USAGE_BROKEN"/>
</enum>

<enum name="AlternativeServiceType" type="int">
  <int value="0" label="No alternative service"/>
  <int value="1" label="QUIC, destination same as origin"/>
  <int value="2" label="QUIC, destination different from origin"/>
  <int value="3" label="Not QUIC, destination same as origin"/>
  <int value="4" label="Not QUIC, destination different from origin"/>
</enum>

<enum name="AndroidActivityId" type="int">
  <int value="1" label="Unknown"/>
  <int value="2" label="Main"/>
  <int value="3" label="Preferences"/>
  <int value="4" label="WebappActivity"/>
  <int value="5" label="FullScreenActivity"/>
</enum>

<enum name="AndroidActivityStopReason" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Chrome sent to background by system back">
    The user pressed the system back button, sending Chrome to the background.
  </int>
  <int value="2" label="Return button closed app">
    The user hit the return UI button to close the tab and return to the
    previous app.
  </int>
  <int value="3" label="Immediately launched child CustomTabActivity">
    The Activity immediately launched a CustomTabActivity on top of itself.
  </int>
  <int value="4" label="Child CustomTabActivity closed itself">
    The child CustomTabActivity was closed by the user, so this Activity sent
    itself to the background to return the user to the previous app.
  </int>
  <int value="5" label="Another Chrome Activity took focus">
    Another of Chrome's Activities (e.g. Settings or Bookmarks) launched and
    took focus.
  </int>
</enum>

<enum name="AndroidActivitySystemBackAction" type="int">
  <int value="0" label="Nothing happened"/>
  <int value="1"
      label="The foreground tab contained a help article and was closed"/>
  <int value="2"
      label="Chrome was minimized and the foreground tab was kept open"/>
  <int value="3"
      label="Chrome was minimized and the foreground tab was closed"/>
  <int value="4"
      label="The foreground tab was closed, but Chrome stayed visible"/>
  <int value="5" label="Error: No tab is currently being displayed"/>
  <int value="6" label="User exited the tab switcher"/>
  <int value="7" label="User exited fullscreen mode"/>
  <int value="8" label="User navigated backward in the tab's history"/>
</enum>

<enum name="AndroidArmFpu" type="int">
  <int value="0" label="No NEON support"/>
  <int value="1" label="NEON support"/>
</enum>

<enum name="AndroidDownloadExtensionType" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="APK"/>
  <int value="2" label="CSV"/>
  <int value="3" label="DOC"/>
  <int value="4" label="DOCX"/>
  <int value="5" label="EXE"/>
  <int value="6" label="PDF"/>
  <int value="7" label="PPT"/>
  <int value="8" label="PPTX"/>
  <int value="9" label="PSD"/>
  <int value="10" label="RTF"/>
  <int value="11" label="TXT"/>
  <int value="12" label="XLS"/>
  <int value="13" label="XLSX"/>
  <int value="14" label="ZIP"/>
</enum>

<enum name="AndroidDownloadFilterType" type="int">
  <int value="0" label="All"/>
  <int value="1" label="Page"/>
  <int value="2" label="Video"/>
  <int value="3" label="Audio"/>
  <int value="4" label="Image"/>
  <int value="5" label="Document"/>
  <int value="6" label="Other"/>
</enum>

<enum name="AndroidEvictionReason" type="int">
  <int value="0" label="TabUnusedTooLong"/>
  <int value="1" label="TabUnusedInSession"/>
  <int value="2" label="LimitOfActiveTabs"/>
  <int value="3" label="EvictNTabs"/>
  <int value="4" label="EvictAll"/>
</enum>

<enum name="AndroidFeedbackCategory" type="int">
  <summary>
    This list corresponds to the categories the user can press when selecting a
    category their feedback falls under.
  </summary>
  <int value="0" label="Error or blank page"/>
  <int value="1" label="Chrome crashes or freezes"/>
  <int value="2" label="Issues with website"/>
  <int value="3" label="Trouble with something else"/>
</enum>

<enum name="AndroidFeedbackCategoryDetails" type="int">
  <summary>
    This list corresponds to all the possible options a user can press when
    selecting an option their feedback falls under. Each option is prefixed with
    a shortened name of the category that the option belongs to.
  </summary>
  <int value="0" label="Error Network error"/>
  <int value="1" label="Error Blank page"/>
  <int value="2" label="Error Video won't play"/>
  <int value="3" label="Error Page won't download"/>
  <int value="4" label="Error Can't connect to Wi-Fi"/>
  <int value="5" label="Error Other"/>
  <int value="6" label="Crash Watching videos"/>
  <int value="7" label="Crash Downloading files"/>
  <int value="8" label="Crash Browsing websites"/>
  <int value="9" label="Crash Other"/>
  <int value="10" label="Website Account or sign-in problems"/>
  <int value="11" label="Website Advertisements"/>
  <int value="12" label="Website Video won't play"/>
  <int value="13" label="Website Slow website"/>
  <int value="14" label="Website Broken or unreadable website"/>
  <int value="15" label="Website Other"/>
  <int value="16" label="Something Website"/>
  <int value="17" label="Something Tabs"/>
  <int value="18" label="Something Settings"/>
  <int value="19" label="Something Other"/>
</enum>

<enum name="AndroidGATTConnectionErrorCodes" type="int">
  <summary>
    This list includes all errors from the Bluetooth Specification Version 4.2
    [Vol 2, Part D] as well as an error from Android's BluetoothGatt (0x101
    GATT_FAILURE) and an error from Bluedroid's gatt_api.h (0x100 L2CAP
    connection cancelled).
  </summary>
  <int value="0" label="0x00 Success"/>
  <int value="1" label="0x01 Unknown HCI Command"/>
  <int value="2" label="0x02 Unknown Connection Identifier"/>
  <int value="3" label="0x03 Hardware Failure"/>
  <int value="4" label="0x04 Page Timeout"/>
  <int value="5" label="0x05 Authentication Failure"/>
  <int value="6" label="0x06 PIN or Key Missing"/>
  <int value="7" label="0x07 Memory Capacity Exceeded"/>
  <int value="8" label="0x08 Connection Timeout"/>
  <int value="9" label="0x09 Connection Limit Exceeded"/>
  <int value="10"
      label="0x0A Synchronous Connection Limit To A Device Exceeded"/>
  <int value="11" label="0x0B ACL Connection Already Exists"/>
  <int value="12" label="0x0C Command Disallowed"/>
  <int value="13" label="0x0D Connection Rejected due to Limited Resources"/>
  <int value="14" label="0x0E Connection Rejected Due To Security Reasons"/>
  <int value="15" label="0x0F Connection Rejected due to Unacceptable BD_ADDR"/>
  <int value="16" label="0x10 Connection Accept Timeout Exceeded"/>
  <int value="17" label="0x11 Unsupported Feature or Parameter Value"/>
  <int value="18" label="0x12 Invalid HCI Command Parameters"/>
  <int value="19" label="0x13 Remote User Terminated Connection"/>
  <int value="20"
      label="0x14 Remote Device Terminated Connection due to Low Resources"/>
  <int value="21"
      label="0x15 Remote Device Terminated Connection due to Power Off"/>
  <int value="22" label="0x16 Connection Terminated By Local Host"/>
  <int value="23" label="0x17 Repeated Attempts"/>
  <int value="24" label="0x18 Pairing Not Allowed"/>
  <int value="25" label="0x19 Unknown LMP PDU"/>
  <int value="26"
      label="0x1A Unsupported Remote Feature / Unsupported LMP Feature"/>
  <int value="27" label="0x1B SCO Offset Rejected"/>
  <int value="28" label="0x1C SCO Interval Rejected"/>
  <int value="29" label="0x1D SCO Air Mode Rejected"/>
  <int value="30" label="0x1E Invalid LMP Parameters / Invalid LL Parameters"/>
  <int value="31" label="0x1F Unspecified Error"/>
  <int value="32"
      label="0x20 Unsupported LMP Parameter Value / Unsupported LL Parameter
             Value"/>
  <int value="33" label="0x21 Role Change Not Allowed"/>
  <int value="34" label="0x22 LMP Response Timeout / LL Response Timeout"/>
  <int value="35" label="0x23 LMP Error Transaction Collision"/>
  <int value="36" label="0x24 LMP PDU Not Allowed"/>
  <int value="37" label="0x25 Encryption Mode Not Acceptable"/>
  <int value="38" label="0x26 Link Key cannot be Changed"/>
  <int value="39" label="0x27 Requested QoS Not Supported"/>
  <int value="40" label="0x28 Instant Passed"/>
  <int value="41" label="0x29 Pairing With Unit Key Not Supported"/>
  <int value="42" label="0x2A Different Transaction Collision"/>
  <int value="43" label="0x2B Reserved"/>
  <int value="44" label="0x2C QoS Unacceptable Parameter"/>
  <int value="45" label="0x2D QoS Rejected"/>
  <int value="46" label="0x2E Channel Classification Not Supported"/>
  <int value="47" label="0x2F Insufficient Security"/>
  <int value="48" label="0x30 Parameter Out Of Mandatory Range"/>
  <int value="49" label="0x31 Reserved"/>
  <int value="50" label="0x32 Role Switch Pending"/>
  <int value="51" label="0x33 Reserved"/>
  <int value="52" label="0x34 Reserved Slot Violation"/>
  <int value="53" label="0x35 Role Switch Failed"/>
  <int value="54" label="0x36 Extended Inquiry Response Too Large"/>
  <int value="55" label="0x37 Secure Simple Pairing Not Supported By Host"/>
  <int value="56" label="0x38 Host Busy - Pairing"/>
  <int value="57"
      label="0x39 Connection Rejected due to No Suitable Channel Found"/>
  <int value="58" label="0x3A Controller Busy"/>
  <int value="59" label="0x3B Unacceptable Connection Parameters"/>
  <int value="60" label="0x3C Directed Advertising Timeout"/>
  <int value="61" label="0x3D Connection Terminated due to MIC Failure"/>
  <int value="62" label="0x3E Connection Failed to be Established"/>
  <int value="63" label="0x3F MAC Connection Failed"/>
  <int value="64"
      label="0x40 Coarse Clock Adjustment Rejected but Will Try to Adjust
             Using Clock Dragging"/>
  <int value="133" label="Application Error 0x85, Bluedroid GATT_ERROR"/>
  <int value="135" label="Application Error 0x87, Bluedroid GATT_PENDING"/>
  <int value="256" label="0x100 Bluedroid L2CAP connection cancelled"/>
  <int value="257" label="0x101 Android GATT Failure"/>
</enum>

<enum name="AndroidGATTStatusResult" type="int">
  <summary>
    This list includes errors from the Bluetooth Specification Version 4.2 Vol
    3, Part F, Section 3.4.1.1 and Core Specification Supplement Part B. Also
    Android's BluetoothGatt (0x101 GATT_FAILURE) and an error from Bluedroid's
    gatt_api.h (0x100 L2CAP connection cancelled).
  </summary>
  <int value="0" label="GATT_SUCCESS"/>
  <int value="1" label="Invalid Handle"/>
  <int value="2" label="Read Not Permitted"/>
  <int value="3" label="Write Not Permitted"/>
  <int value="4" label="Invalid PDU"/>
  <int value="5" label="Insufficient Authentication"/>
  <int value="6" label="Request Not Supported"/>
  <int value="7" label="Invalid Offset"/>
  <int value="8" label="Insufficient Authorization"/>
  <int value="9" label="Prepare Queue Full"/>
  <int value="10" label="Attribute Not Found"/>
  <int value="11" label="Attribute Not Long"/>
  <int value="12" label="Insufficient Encryption Key Size"/>
  <int value="13" label="Invalid Attribute Value Length"/>
  <int value="14" label="Unlikely Error"/>
  <int value="15" label="Insufficient Encryption"/>
  <int value="16" label="Unsupported Group Type"/>
  <int value="17" label="Insufficient Resources"/>
  <int value="128" label="Application Error 0x80, 128"/>
  <int value="129" label="Application Error 0x81, 129"/>
  <int value="130" label="Application Error 0x82, 130"/>
  <int value="131" label="Application Error 0x83, 131"/>
  <int value="132" label="Application Error 0x84, 132"/>
  <int value="133" label="Application Error 0x85, Bluedroid GATT_ERROR"/>
  <int value="134" label="Application Error 0x86, 134"/>
  <int value="135" label="Application Error 0x87, Bluedroid GATT_PENDING"/>
  <int value="136" label="Application Error 0x88, 136"/>
  <int value="137" label="Application Error 0x89, 137"/>
  <int value="138" label="Application Error 0x8A, 138"/>
  <int value="139" label="Application Error 0x8B, 139"/>
  <int value="140" label="Application Error 0x8C, 140"/>
  <int value="141" label="Application Error 0x8D, 141"/>
  <int value="142" label="Application Error 0x8E, 142"/>
  <int value="143" label="Application Error 0x8F, 143"/>
  <int value="144" label="Application Error 0x90, 144"/>
  <int value="145" label="Application Error 0x91, 145"/>
  <int value="146" label="Application Error 0x92, 146"/>
  <int value="147" label="Application Error 0x93, 147"/>
  <int value="148" label="Application Error 0x94, 148"/>
  <int value="149" label="Application Error 0x95, 149"/>
  <int value="150" label="Application Error 0x96, 150"/>
  <int value="151" label="Application Error 0x97, 151"/>
  <int value="152" label="Application Error 0x98, 152"/>
  <int value="153" label="Application Error 0x99, 153"/>
  <int value="154" label="Application Error 0x9A, 154"/>
  <int value="155" label="Application Error 0x9B, 155"/>
  <int value="156" label="Application Error 0x9C, 156"/>
  <int value="157" label="Application Error 0x9D, 157"/>
  <int value="158" label="Application Error 0x9E, 158"/>
  <int value="159" label="Application Error 0x9F, 159"/>
  <int value="253"
      label="Client Characteristic Configuration Descriptor Improperly
             Configured (CSS)"/>
  <int value="254" label="Procedure Already in Progress (CSS)"/>
  <int value="255" label="Out of Range (CSS)"/>
  <int value="256" label="0x100 Bluedroid L2CAP connection cancelled"/>
  <int value="257" label="GATT_FAILURE"/>
</enum>

<enum name="AndroidKernelVersion" type="int">
  <int value="131078" label="2.6"/>
  <int value="196608" label="3.0"/>
  <int value="196609" label="3.1"/>
  <int value="196610" label="3.2"/>
  <int value="196611" label="3.3"/>
  <int value="196612" label="3.4"/>
  <int value="196613" label="3.5"/>
  <int value="196614" label="3.6"/>
  <int value="196615" label="3.7"/>
  <int value="196616" label="3.8"/>
  <int value="196618" label="3.10"/>
  <int value="196619" label="3.11"/>
  <int value="196620" label="3.12"/>
  <int value="196621" label="3.13"/>
  <int value="196622" label="3.14"/>
  <int value="196625" label="3.17"/>
  <int value="196626" label="3.18"/>
  <int value="196627" label="3.19"/>
  <int value="262144" label="4.0"/>
  <int value="262145" label="4.1"/>
  <int value="262154" label="4.10"/>
</enum>

<enum name="AndroidManageSpaceButton" type="int">
  <int value="0" label="Clear Unimportant Storage"/>
  <int value="1" label="Manage Site Storage"/>
  <int value="2" label="Clear App Data"/>
</enum>

<enum name="AndroidMemoryNotificationBackground" type="int">
  <int value="0" label="TrimMemoryUiHidden"/>
  <int value="1" label="TrimMemoryBackground"/>
  <int value="2" label="TrimMemoryModerate"/>
  <int value="3" label="TrimMemoryComplete"/>
</enum>

<enum name="AndroidMemoryNotificationForeground" type="int">
  <int value="0" label="TrimMemoryRunningModerate"/>
  <int value="1" label="TrimMemoryRunningLow"/>
  <int value="2" label="TrimMemoryRunningCritical"/>
  <int value="3" label="LowMemory"/>
</enum>

<enum name="AndroidRestoreResult" type="int">
  <int value="0" label="No restore attempted"/>
  <int value="1" label="Restore successful"/>
  <int value="2" label="Failed: Chrome already run locally"/>
  <int value="3" label="Failed: Chrome startup failed"/>
  <int value="4" label="Failed: Cannot sign in as previous user"/>
</enum>

<enum name="AndroidSeccompSandboxStatus" type="int">
  <int value="0" label="Not Supported"/>
  <int value="1" label="Detection Failed"/>
  <int value="2" label="Feature Disabled"/>
  <int value="3" label="Feature Enabled"/>
  <int value="4" label="Sandbox Engaged"/>
</enum>

<enum name="AndroidSeccompStatus" type="int">
  <int value="0" label="Detection Failed"/>
  <int value="1" label="Not Supported"/>
  <int value="2" label="Supported"/>
</enum>

<enum name="AndroidSigninPromoAction" type="int">
  <int value="0" label="Promo enabled">
    The Android signin promo was enabled to show on next startup.
  </int>
  <int value="1" label="Promo shown">The Android signin promo was shown.</int>
  <int value="2" label="Promo declined">
    User declined the Android signin promo.
  </int>
  <int value="3" label="Promo accepted">
    User completed signin through the Android signin promo flow successfully.
  </int>
  <int value="4" label="Promo accepted with advanced settings">
    User completed signin through the Android signin promo flow successfully and
    chose to configure sync settings.
  </int>
</enum>

<enum name="AndroidTabCloseUndoToastEvent" type="int">
  <int value="0" label="Undo Shown (Cold)"/>
  <int value="1" label="Undo Shown (Warm)"/>
  <int value="2" label="Undo Pressed"/>
  <int value="3" label="Undos Dismissed (Timeout) (Deprecated)"/>
  <int value="4" label="Undos Dismissed (Action) (Deprecated)"/>
</enum>

<enum name="AntiVirusMetricsProviderResult" type="int">
  <int value="0" label="RESULT_SUCCESS"/>
  <int value="1" label="RESULT_GENERIC_FAILURE"/>
  <int value="2" label="RESULT_FAILED_TO_INITIALIZE_COM"/>
  <int value="3" label="RESULT_FAILED_TO_CREATE_INSTANCE"/>
  <int value="4" label="RESULT_FAILED_TO_INITIALIZE_PRODUCT_LIST"/>
  <int value="5" label="RESULT_FAILED_TO_GET_PRODUCT_COUNT"/>
  <int value="6" label="RESULT_FAILED_TO_GET_ITEM"/>
  <int value="7" label="RESULT_FAILED_TO_GET_PRODUCT_STATE"/>
  <int value="8" label="RESULT_PRODUCT_STATE_INVALID"/>
  <int value="9" label="RESULT_FAILED_TO_GET_PRODUCT_NAME"/>
  <int value="10" label="RESULT_FAILED_TO_GET_REMEDIATION_PATH"/>
  <int value="11" label="RESULT_FAILED_TO_CONNECT_TO_WMI"/>
  <int value="12" label="RESULT_FAILED_TO_SET_SECURITY_BLANKET"/>
  <int value="13" label="RESULT_FAILED_TO_EXEC_WMI_QUERY"/>
  <int value="14" label="RESULT_FAILED_TO_ITERATE_RESULTS"/>
  <int value="15" label="RESULT_WSC_NOT_AVAILABLE"/>
</enum>

<enum name="AppBannersBeforeInstallEvent" type="int">
  <int value="1" label="Event created and dispatched"/>
  <int value="2" label="Showing the banner"/>
  <int value="3" label="preventDefault() not called"/>
  <int value="4" label="preventDefault() called"/>
  <int value="5" label="prompt() called after preventDefault()"/>
  <int value="6" label="prompt() not called after preventDefault()"/>
</enum>

<enum name="AppBannersDismissEvent" type="int">
  <int value="41" label="Error/unknown reason for dismissal"/>
  <int value="42" label="User opened the application after installing it"/>
  <int value="43" label="User clicked on the banner"/>
  <int value="44" label="(Obsolete) User swiped the banner away"/>
  <int value="45" label="User hit the X button"/>
  <int value="46" label="User began app install, but it didn't finish in time"/>
  <int value="47" label="Banner was dismissed for any reason"/>
</enum>

<enum name="AppBannersDisplayEvent" type="int">
  <int value="1" label="Banner was requested by the site"/>
  <int value="2" label="User previously blocked the same banner"/>
  <int value="3" label="User blocked too many other banners from the site"/>
  <int value="4" label="Banner created"/>
  <int value="5" label="User already installed the app"/>
  <int value="6" label="User ignored the banner last time"/>
  <int value="7" label="Manifest lacks a service worker"/>
  <int value="8" label="Site hasn't been visited frequently enough"/>
  <int value="9" label="Native app banner was requested by the site"/>
  <int value="10" label="Web app banner was requested by the site"/>
  <int value="11" label="Native app banner created"/>
  <int value="12" label="Web app banner created"/>
</enum>

<enum name="AppBannersInstallableStatusCode" type="int">
  <int value="0" label="No error"/>
  <int value="1" label="Renderer exiting"/>
  <int value="2" label="Renderer called beforeinstallprompt.preventDefault()"/>
  <int value="3" label="User navigated before the banner was shown"/>
  <int value="4" label="Site not loaded in main frame"/>
  <int value="5" label="Site not served from a secure origin"/>
  <int value="6" label="Site did not provide a manifest link"/>
  <int value="7" label="Manifest was empty or could not be parsed"/>
  <int value="8" label="Manifest start_url not valid"/>
  <int value="9" label="Manifest missing name or short_name"/>
  <int value="10" label="Manifest display not supported"/>
  <int value="11" label="Manifest missing suitable icon"/>
  <int value="12" label="No matching service worker"/>
  <int value="13" label="Could not select suitable icon to download"/>
  <int value="14" label="Could not download selected icon"/>
  <int value="15" label="Downloaded icon was empty"/>
  <int value="16" label="Application platform not supported on Android"/>
  <int value="17" label="No native app id specified"/>
  <int value="18" label="URL and manifest specified different native app ids"/>
  <int value="19" label="Site is already installed"/>
  <int value="20" label="Insufficient engagement"/>
  <int value="21" label="Package name or start_url empty"/>
  <int value="22" label="Banner was previously blocked by the user"/>
  <int value="23" label="Banner was previously ignored by the user"/>
  <int value="24" label="Native app banner shown"/>
  <int value="25" label="Web app banner shown"/>
  <int value="26" label="Site eligible, but banner creation failed"/>
  <int value="27" label="Url is not eligible for WebAPKs"/>
  <int value="28" label="Site loaded in incognito window (not reported)"/>
  <int value="29" label="Service worker not offline capable"/>
</enum>

<enum name="AppBannersInstallEvent" type="int">
  <int value="21" label="(Native app) User triggered the app install dialog"/>
  <int value="22" label="(Native app) User began installing the app"/>
  <int value="23"
      label="(Native app) User waited for the app to finish installing"/>
  <int value="24" label="(Web app) User installed a web app"/>
</enum>

<enum name="AppBannersUserResponse" type="int">
  <int value="1" label="Native app banner was accepted by the user"/>
  <int value="2" label="Web app banner was accepted by the user"/>
  <int value="3" label="Native app banner was dismissed by the user"/>
  <int value="4" label="Web app banner was dismissed by the user"/>
  <int value="5" label="Native app banner was ignored by the user"/>
  <int value="6" label="Web app banner was ignored by the user"/>
</enum>

<enum name="AppCacheCheckResponseResult" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Manifest obsolete"/>
  <int value="2" label="Response obsolete"/>
  <int value="3" label="Entry not found"/>
  <int value="4" label="Read headers error"/>
  <int value="5" label="Read data error"/>
  <int value="6" label="Unexpected size"/>
  <int value="7" label="Check canceled"/>
</enum>

<enum name="AppCacheErrorSite" type="int">
  <summary>Identifies the point of failure, see sources.</summary>
</enum>

<enum name="AppCacheInitResult" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="SQL Database Error"/>
  <int value="2" label="Disk Cache Error"/>
</enum>

<enum name="AppCacheUpdateJobResult" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="SQL Database Error"/>
  <int value="2" label="Disk Cache Error"/>
  <int value="3" label="Quota Error"/>
  <int value="4" label="Redirect Error"/>
  <int value="5" label="Manifest Error"/>
  <int value="6" label="Network Error"/>
  <int value="7" label="Server Error"/>
  <int value="8" label="Cancelled"/>
  <int value="9" label="Security Error"/>
</enum>

<enum name="AppInfoDialogLaunchOrigin" type="int">
  <int value="0" label="App List context menu"/>
  <int value="1" label="Extensions page"/>
  <int value="2" label="Apps Page context menu"/>
</enum>

<enum name="AppLaunch" type="int">
  <int value="0" label="NTP_APPS_MAXIMIZED"/>
  <int value="1" label="NTP_APPS_COLLAPSED"/>
  <int value="2" label="NTP_APPS_MENU"/>
  <int value="3" label="NTP_MOST_VISITED"/>
  <int value="4" label="NTP_RECENTLY_CLOSED"/>
  <int value="5" label="BOOKMARK_BAR"/>
  <int value="6" label="CONTENT_NAVIGATION"/>
  <int value="7" label="SESSION_RESTORE"/>
  <int value="8" label="AUTOLAUNCH"/>
  <int value="9" label="OMNIBOX_APP"/>
  <int value="10" label="OMNIBOX_LOCATION"/>
  <int value="11" label="OMNIBOX_INSTANT"/>
  <int value="12" label="EXTENSION_API"/>
  <int value="13" label="CMD_LINE_APP"/>
  <int value="14" label="CMD_LINE_URL"/>
  <int value="15" label="NTP_WEBSTORE"/>
  <int value="16" label="NTP_APP_RE_ENABLE"/>
  <int value="17" label="CMD_LINE_APP_LEGACY"/>
  <int value="18" label="NTP_WEBSTORE_FOOTER"/>
  <int value="19" label="NTP_WEBSTORE_PLUS_ICON"/>
  <int value="20" label="APP_LIST_MAIN"/>
  <int value="21" label="APP_LIST_SEARCH"/>
  <int value="22" label="APP_LIST_MAIN_CHROME"/>
  <int value="23" label="APP_LIST_MAIN_WEBSTORE"/>
  <int value="24" label="APP_LIST_SEARCH_CHROME"/>
  <int value="25" label="APP_LIST_SEARCH_WEBSTORE"/>
</enum>

<enum name="AppLaunchContainer" type="int">
  <int value="0" label="LAUNCH_CONTAINER_WINDOW"/>
  <int value="1" label="LAUNCH_CONTAINER_PANEL"/>
  <int value="2" label="LAUNCH_CONTAINER_TAB"/>
  <int value="3" label="LAUNCH_CONTAINER_NONE (v2 packaged apps)"/>
</enum>

<enum name="AppLauncherPromo" type="int">
  <int value="0" label="Already installed"/>
  <int value="1" label="Shown"/>
  <int value="2" label="Dismissed"/>
  <int value="3" label="Learn more"/>
</enum>

<enum name="AppLaunchSource" type="int">
  <int value="0" label="LAUNCH_SOURCE_NONE"/>
  <int value="1" label="LAUNCH_SOURCE_UNTRACKED"/>
  <int value="2" label="LAUNCH_SOURCE_APP_LAUNCHER"/>
  <int value="3" label="LAUNCH_SOURCE_NEW_TAB_PAGE"/>
  <int value="4" label="LAUNCH_SOURCE_RELOAD"/>
  <int value="5" label="LAUNCH_SOURCE_RESTART"/>
  <int value="6" label="LAUNCH_SOURCE_LOAD_AND_LAUNCH"/>
  <int value="7" label="LAUNCH_SOURCE_COMMAND_LINE"/>
  <int value="8" label="LAUNCH_SOURCE_FILE_HANDLER"/>
  <int value="9" label="LAUNCH_SOURCE_URL_HANDLER"/>
  <int value="10" label="LAUNCH_SOURCE_SYSTEM_TRAY"/>
  <int value="11" label="LAUNCH_SOURCE_ABOUT_PAGE"/>
  <int value="12" label="LAUNCH_SOURCE_KEYBOARD"/>
  <int value="13" label="LAUNCH_SOURCE_EXTENSIONS_PAGE"/>
  <int value="14" label="LAUNCH_SOURCE_MANAGEMENT_API"/>
  <int value="15" label="LAUNCH_SOURCE_EPHEMERAL_APP"/>
  <int value="16" label="LAUNCH_SOURCE_BACKGROUND"/>
  <int value="17" label="LAUNCH_SOURCE_KIOSK"/>
  <int value="18" label="LAUNCH_SOURCE_CHROME_INTERNAL"/>
  <int value="19" label="LAUNCH_SOURCE_TEST"/>
  <int value="20" label="LAUNCH_SOURCE_INSTALLED_NOTIFICATION"/>
</enum>

<enum name="AppleScriptCommandEvents" type="int">
  <int value="0" label="Tab Close"/>
  <int value="1" label="Tab Copy"/>
  <int value="2" label="Tab Cut"/>
  <int value="3" label="Tab Execute Javascript"/>
  <int value="4" label="Tab Go Back"/>
  <int value="5" label="Tab Go Forward"/>
  <int value="6" label="Tab Paste"/>
  <int value="7" label="Tab Print"/>
  <int value="8" label="Tab Redo"/>
  <int value="9" label="Tab Reload"/>
  <int value="10" label="Tab Save"/>
  <int value="11" label="Tab Select All"/>
  <int value="12" label="Tab Stop"/>
  <int value="13" label="Tab Undo"/>
  <int value="14" label="Tab View Source"/>
  <int value="15" label="Window Close"/>
  <int value="16" label="Window Enter Presentation Mode"/>
  <int value="17" label="Window Exit Presentation Mode"/>
</enum>

<enum name="AppListDoodleAction" type="int">
  <int value="0" label="DOODLE_SHOWN"/>
  <int value="1" label="DOODLE_CLICKED"/>
</enum>

<enum name="AppListEnableSource" type="int">
  <int value="0" label="Not enabled (should never be recorded)"/>
  <int value="1" label="Packaged app installed from Web Store"/>
  <int value="2" label="Clicked app launcher link from the Web Store"/>
  <int value="3" label="Command line flag"/>
  <int value="4" label="Chrome reinstalled over old, enabled profile"/>
  <int value="5" label="Second packaged app installed without showing"/>
</enum>

<enum name="AppListPage" type="int">
  <int value="0" label="APPS"/>
  <int value="1" label="SEARCH_RESULTS"/>
  <int value="2" label="START"/>
  <int value="3" label="CUSTOM_LAUNCHER_PAGE"/>
</enum>

<enum name="AppListSearchResult" type="int">
  <int value="0" label="OMNIBOX"/>
  <int value="1" label="APP"/>
  <int value="2" label="WEBSTORE"/>
  <int value="3" label="SEARCH_WEBSTORE"/>
  <int value="4" label="SEARCH_PEOPLE"/>
  <int value="5" label="SUGGESTION"/>
  <int value="6" label="LAUNCHER_SEARCH_PROVIDER"/>
</enum>

<enum name="AppListSearchResultDisplayType" type="int">
  <int value="0" label="NONE"/>
  <int value="1" label="LIST"/>
  <int value="2" label="TILE"/>
  <int value="3" label="RECOMMENDATION"/>
</enum>

<enum name="AppLoadedInTabSource" type="int">
  <int value="0" label="SOURCE_APP"/>
  <int value="1" label="SOURCE_BACKGROUND_PAGE"/>
  <int value="2" label="SOURCE_OTHER_EXTENSION"/>
  <int value="3" label="SOURCE_OTHER"/>
</enum>

<enum name="AppLocation" type="int">
  <int value="0" label="Invalid location"/>
  <int value="1" label="Internal extension"/>
  <int value="2" label="Internal extension (loaded via prefs)"/>
  <int value="3" label="Internal extension (loaded via the registry)"/>
  <int value="4" label="Unpacked extension"/>
  <int value="5" label="Component app"/>
  <int value="6" label="External extension (downloaded via prefs)"/>
  <int value="7" label="External extension (downloaded via admin policies)"/>
  <int value="8" label="Command-line extension"/>
  <int value="9" label="External extension (loaded via prefs and cached)"/>
  <int value="10" label="Component app (downloaded)"/>
</enum>

<enum name="AppPromoAction" type="int">
  <int value="0" label="PROMO_LAUNCH_APP"/>
  <int value="1" label="PROMO_LAUNCH_WEB_STORE"/>
  <int value="2" label="PROMO_CLOSE"/>
  <int value="3" label="PROMO_EXPIRE"/>
  <int value="4" label="PROMO_SEEN"/>
</enum>

<enum name="AppsPageDragSource" type="int">
  <int value="0" label="Same apps pane"/>
  <int value="1" label="Different apps pane"/>
  <int value="2" label="Most visited pane"/>
  <int value="3" label="Bookmarks pane"/>
  <int value="4" label="Outside of NTP (e.g. bookmarks bar)"/>
</enum>

<enum name="ArcAuthAccountCheckStatus" type="int">
  <int value="0" label="Account is up to date"/>
  <int value="1" label="New account"/>
  <int value="2" label="Account needs reauth"/>
  <int value="3" label="Account has unknown state"/>
  <int value="4" label="Account check failed"/>
</enum>

<enum name="ArcIntentHandlerAction" type="int">
  <summary>Defines Arc intent handler actions</summary>
  <int value="0" label="Error"/>
  <int value="1" label="Dialog deactivated"/>
  <int value="2" label="Always"/>
  <int value="3" label="Just once"/>
  <int value="4" label="Preferred activity found"/>
</enum>

<enum name="ArcIntentHandlerDestinationPlatform" type="int">
  <summary>
    Defines ARC intent handler platforms to continue the navigation.
  </summary>
  <int value="0" label="ARC"/>
  <int value="1" label="Chrome"/>
</enum>

<enum name="ArcOptInAction" type="int">
  <summary>Defines Arc OptIn actions</summary>
  <int value="0" label="Opted Out"/>
  <int value="1" label="Opted In"/>
  <int value="2" label="Notification accepted"/>
  <int value="3" label="Notification declined"/>
  <int value="4" label="Notification timed out"/>
  <int value="5" label="Retry after OptIn failure"/>
</enum>

<enum name="ArcOptInCancel" type="int">
  <summary>Defines Arc OptIn cancel reason</summary>
  <int value="0" label="Canceled by user"/>
  <int value="1" label="Unclassified failure"/>
  <int value="2" label="Network failure"/>
  <int value="3" label="DEPRECATED: GMS Services are not available"/>
  <int value="4" label="DEPRECATED: Bad authentication returned by server"/>
  <int value="5" label="DEPRECATED: GMS Core is not available"/>
  <int value="6" label="Cloud provision flow failed"/>
  <int value="7" label="Android Management required"/>
  <int value="8" label="Busy"/>
</enum>

<enum name="ArcOptInResult" type="int">
  <summary>
    Defines Arc OptIn flow states. Normally each OptIn flow reports 2-3 states;
    Started should be accompined with Succeeded or Canceled. Optionally
    Succeeded after retry or Canceled after error may be provided.
  </summary>
  <int value="0" label="Started"/>
  <int value="1" label="Succeeded"/>
  <int value="2" label="Succeeded after retry"/>
  <int value="3" label="Canceled"/>
  <int value="4" label="Canceled after error"/>
</enum>

<enum name="ArcOptInSilentAuthCode" type="int">
  <summary>Defines Arc OptIn Silent Auth code state</summary>
  <int value="0" label="Disabled"/>
  <int value="1" label="Success"/>
  <int value="2" label="HTTP Context cannot be prepared"/>
  <int value="3" label="No LST token is available"/>
  <int value="4" label="Failed due sever HTTP error"/>
  <int value="5" label="Failed due client HTTP error"/>
  <int value="6" label="Failed due unknown HTTP error"/>
  <int value="7" label="Cannot parse HTTP response"/>
  <int value="8" label="No Auth code in response"/>
</enum>

<enum name="ArcProvisioningResult" type="int">
  <summary>Defines Arc Provisioning success and failure reasons</summary>
  <int value="0" label="Success"/>
  <int value="1" label="Unclassified failure"/>
  <int value="2" label="GMS Network failure"/>
  <int value="3" label="GMS Services are not available"/>
  <int value="4" label="GMS Bad authentication returned by server"/>
  <int value="5" label="GMS check-in was failed"/>
  <int value="6" label="Cloud provision flow failed"/>
  <int value="7" label="Mojo version mistmached"/>
  <int value="8" label="Mojo call timeout"/>
  <int value="9" label="GMS check-in was timed out"/>
  <int value="10" label="GMS check-in reported internal error"/>
  <int value="11" label="GMS core sign in procedure was failed"/>
  <int value="12" label="GMS core sign in procedure was timed out"/>
  <int value="13" label="GMS core sign in procedure reporeted internal error"/>
  <int value="14" label="Cloud provision flow was timed out"/>
  <int value="15" label="Cloud provision flow reporeted internal error"/>
  <int value="16" label="ARC instance is stopped before complete provisioning"/>
  <int value="17" label="Overall sign in timeout"/>
  <int value="19" label="Network is unavailable"/>
</enum>

<enum name="ArcVideoAcceleratorResult" type="int">
  <summary>Defines ArcVideoAccelerator initialization status</summary>
  <int value="0" label="SUCCESS"/>
  <int value="1" label="ILLEGAL_STATE"/>
  <int value="2" label="INVALID_ARGUMENT"/>
  <int value="3" label="UNREADABLE_INPUT"/>
  <int value="4" label="PLATFORM_FAILURE"/>
  <int value="5" label="INSUFFICIENT_RESOURCES"/>
</enum>

<enum name="AsyncDNSConfigParsePosix" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="RES_INIT_FAILED"/>
  <int value="2" label="RES_INIT_UNSET"/>
  <int value="3" label="BAD_ADDRESS"/>
  <int value="4" label="BAD_EXT_STRUCT"/>
  <int value="5" label="NULL_ADDRESS"/>
  <int value="6" label="NO_NAMESERVERS"/>
  <int value="7" label="MISSING_OPTIONS"/>
  <int value="8" label="UNHANDLED_OPTIONS"/>
</enum>

<enum name="AsyncDNSConfigParseWin" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="READ_IPHELPER"/>
  <int value="2" label="READ_POLICY_SEARCHLIST"/>
  <int value="3" label="READ_TCPIP_SEARCHLIST"/>
  <int value="4" label="READ_DOMAIN"/>
  <int value="5" label="READ_POLICY_DEVOLUTION"/>
  <int value="6" label="READ_DNSCACHE_DEVOLUTION"/>
  <int value="7" label="READ_TCPIP_DEVOLUTION"/>
  <int value="8" label="READ_APPEND_MULTILABEL"/>
  <int value="9" label="READ_PRIMARY_SUFFIX"/>
  <int value="10" label="BAD_ADDRESS"/>
  <int value="11" label="NO_NAMESERVERS"/>
  <int value="12" label="UNHANDLED_OPTIONS"/>
</enum>

<enum name="AsyncDNSHostsParseWin" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="UNREADABLE_HOSTS_FILE"/>
  <int value="2" label="COMPUTER_NAME_FAILED"/>
  <int value="3" label="IPHELPER_FAILED"/>
  <int value="4" label="BAD_ADDRESS"/>
</enum>

<enum name="AsyncDNSNameServersType" type="int">
  <summary>Type of nameservers in the DNS config.</summary>
  <int value="0" label="NONE">No nameservers configured.</int>
  <int value="1" label="GOOGLE_PUBLIC_DNS">
    All nameservers are Google Public DNS servers.
  </int>
  <int value="2" label="PUBLIC">
    All nameservers have public IP addresses (and aren't Google Public DNS
    servers).
  </int>
  <int value="3" label="PRIVATE">
    All nameservers have private IP addresses (loopback, link-local, or RFC
    1918).
  </int>
  <int value="4" label="MIXED">
    Nameservers are a mix of types (Google Public DNS, public, private).
  </int>
</enum>

<enum name="AsyncDNSParseResult" type="int">
  <summary>Results of DnsResponse::ParseToAddressList.</summary>
  <int value="0" label="SUCCESS"/>
  <int value="1" label="MALFORMED_RESPONSE"/>
  <int value="2" label="MALFORMED_CNAME"/>
  <int value="3" label="NAME_MISMATCH"/>
  <int value="4" label="SIZE_MISMATCH"/>
  <int value="5" label="CNAME_AFTER_ADDRESS"/>
  <int value="6" label="ADDRESS_TTL_MISMATCH"/>
  <int value="7" label="NO_ADDRESSES"/>
</enum>

<enum name="AsyncDNSPrefDefaultSource" type="int">
  <int value="0" label="PLATFORM"/>
  <int value="1" label="FIELD_TRIAL"/>
  <int value="2" label="HARD_CODED_DEFAULT"/>
</enum>

<enum name="AsyncDNSPrefSource" type="int">
  <int value="0" label="MANAGED_PREF"/>
  <int value="1" label="SUPERVISED_PREF"/>
  <int value="2" label="EXTENSION_PREF"/>
  <int value="3" label="COMMAND_LINE_PREF"/>
  <int value="4" label="USER_PREF"/>
  <int value="5" label="RECOMMENDED_PREF"/>
  <int value="6" label="DEFAULT_PREF"/>
  <int value="7" label="UNKNOWN_PREF"/>
</enum>

<enum name="AsyncDNSResolveStatus" type="int">
  <int value="0" label="DNS_SUCCESS">Succeeded with async DNS.</int>
  <int value="1" label="PROC_SUCCESS">
    Succeeded with getaddrinfo after async DNS failed.
  </int>
  <int value="2" label="FAIL">Both async DNS and getaddrinfo failed.</int>
  <int value="3" label="SUSPECT_NETBIOS">
    Same as PROC_SUCCESS except the hostname fits NetBIOS name criteria.
  </int>
</enum>

<enum name="AsyncDNSWatchStatus" type="int">
  <int value="0" label="STARTED">Started.</int>
  <int value="1" label="FAILED_TO_START_CONFIG">
    Failed to start watching config.
  </int>
  <int value="2" label="FAILED_TO_START_HOSTS">
    Failed to start watching HOSTS.
  </int>
  <int value="3" label="FAILED_CONFIG">Failed during watching config.</int>
  <int value="4" label="FAILED_HOSTS">Failed during watching HOSTS.</int>
</enum>

<enum name="AsyncRevalidationResult" type="int">
  <int value="0" label="LOADED">A new entry was stored in the cache.</int>
  <int value="1" label="REVALIDATED">
    The existing cache entry was revalidated.
  </int>
  <int value="2" label="NET_ERROR">
    An error occurred before a response was received.
  </int>
  <int value="3" label="READ_ERROR">
    An error occurred while reading the response body.
  </int>
  <int value="4" label="GOT_REDIRECT">A redirect response was received.</int>
  <int value="5" label="AUTH_FAILED">
    A request for authentication was received, and no cached credentials were
    available.
  </int>
  <int value="6" label="RESPONSE_TIMEOUT">
    Timed out before a response was received.
  </int>
  <int value="7" label="BODY_TIMEOUT">
    Timed out while reading the response body.
  </int>
</enum>

<enum name="AttachmentServicesResult" type="int">
  <int value="0" label="Succeeded with MOTW"/>
  <int value="1" label="Succeeded without MOTW"/>
  <int value="2" label="Succeeded but file was missing"/>
  <int value="3" label="Failed to instantiate CLSID_AttachmentServices"/>
  <int value="4" label="Failed while invoking IAE setter"/>
  <int value="5" label="Blocked (file exists)"/>
  <int value="6" label="Blocked (file missing)"/>
  <int value="7" label="Virus infected (file exists)"/>
  <int value="8" label="Virus infected (file missing)"/>
  <int value="9" label="Access denied (file exists)"/>
  <int value="10" label="Access denied (file missing)"/>
  <int value="11" label="Other error (file exists)"/>
  <int value="12" label="Other error (file missing)"/>
</enum>

<enum name="AudioCaptureStartupResult" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Failed to create stream"/>
  <int value="2" label="Failed to open stream"/>
  <int value="3" label="Never received any data"/>
  <int value="4" label="No data received and capture stopped within 500ms"/>
</enum>

<enum name="AudioCodec" type="int">
  <int value="0" label="kUnknownAudioCodec"/>
  <int value="1" label="kCodecAAC"/>
  <int value="2" label="kCodecMP3"/>
  <int value="3" label="kCodecPCM"/>
  <int value="4" label="kCodecVorbis"/>
  <int value="5" label="kCodecFLAC"/>
  <int value="6" label="kCodecAMR_NB"/>
  <int value="7" label="kCodecAMR_WB"/>
  <int value="8" label="kCodecPCM_MULAW"/>
  <int value="9" label="kCodecGSM_MS"/>
  <int value="10" label="kCodecPCM_S16BE"/>
  <int value="11" label="kCodecPCM_S24BE"/>
  <int value="12" label="kCodecOpus"/>
  <int value="13" label="kCodecEAC3"/>
  <int value="14" label="kCodecPCM_ALAW"/>
  <int value="15" label="kCodecALAC"/>
  <int value="16" label="kCodecAC3"/>
</enum>

<enum name="AudioDevicePropertyResult" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="Device has changed"/>
  <int value="2" label="IO stopped abnormally"/>
  <int value="3" label="Hog mode"/>
  <int value="4" label="Buffer frame size"/>
  <int value="5" label="Buffer frame size range"/>
  <int value="6" label="Stream configuration"/>
  <int value="7" label="Actual sample rate"/>
  <int value="8" label="Nominal sample rate"/>
  <int value="9" label="Device is running somewhere"/>
  <int value="10" label="Device is running"/>
  <int value="11" label="Device is alive"/>
  <int value="12" label="Stream physical format"/>
  <int value="13" label="Jack is connected"/>
  <int value="14" label="Processor overload"/>
  <int value="15" label="Data sources"/>
  <int value="16" label="Data source"/>
  <int value="17" label="Volume decibels"/>
  <int value="18" label="Volume scalar"/>
  <int value="19" label="Mute"/>
  <int value="20" label="Plugin"/>
  <int value="21" label="Uses variable buffer fram sizes"/>
  <int value="22" label="IO cycle usage"/>
  <int value="23" label="IO proc stream usage"/>
  <int value="24" label="Configuration application"/>
  <int value="25" label="Device UID"/>
  <int value="26" label="Mode UID"/>
  <int value="27" label="Transport type"/>
  <int value="28" label="Related devices"/>
  <int value="29" label="Clock domain"/>
  <int value="30" label="Device can be default device"/>
  <int value="31" label="Device can be default system device"/>
  <int value="32" label="Latency"/>
  <int value="33" label="Streams"/>
  <int value="34" label="Control list"/>
  <int value="35" label="Safety offset"/>
  <int value="36" label="Available nominal sample rates"/>
  <int value="37" label="Icon"/>
  <int value="38" label="Is hidden"/>
  <int value="39" label="Preferred channels for stereo"/>
  <int value="40" label="Preferred channel layout"/>
  <int value="41" label="Volume range decibels"/>
  <int value="42" label="Volume scalar to decibels"/>
  <int value="43" label="Volume decibel to scalar"/>
  <int value="44" label="Stereo pan"/>
  <int value="45" label="Stereo pan channels"/>
  <int value="46" label="Solo"/>
  <int value="47" label="Phantom power"/>
  <int value="48" label="Phase invert"/>
  <int value="49" label="Clip light"/>
  <int value="50" label="Talkback"/>
  <int value="51" label="Listenback"/>
  <int value="52" label="Clock source"/>
  <int value="53" label="Clock sources"/>
  <int value="54" label="Sub mute"/>
</enum>

<enum name="AudioFramesPerBuffer" type="int">
  <obsolete>
    Removed from code Sep 2014.
  </obsolete>
  <int value="0" label="k160"/>
  <int value="1" label="k320"/>
  <int value="2" label="k440"/>
  <int value="3" label="k480"/>
  <int value="4" label="k640"/>
  <int value="5" label="k880"/>
  <int value="6" label="k960"/>
  <int value="7" label="k1440"/>
  <int value="8" label="k1920"/>
</enum>

<enum name="AudioGlitchResult" type="int">
  <int value="0" label="No audio glitches"/>
  <int value="1" label="Audio glitches"/>
</enum>

<enum name="AudioInputSilenceReport" type="int">
  <int value="0" label="No measurement"/>
  <int value="1" label="Only audio"/>
  <int value="2" label="Only silence"/>
  <int value="3" label="Audio and silence"/>
</enum>

<enum name="AudioRendererEvents" type="int">
  <int value="0" label="Initialized"/>
  <int value="1" label="Runtime error"/>
</enum>

<enum name="AudioSampleFormat" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Unsigned 8-bit"/>
  <int value="2" label="Signed 16-bit"/>
  <int value="3" label="Signed 32-bit"/>
  <int value="4" label="Float 32-bit"/>
  <int value="5" label="Signed 16-bit planar"/>
  <int value="6" label="Float 32-bit planar"/>
</enum>

<enum name="AudioSampleRate" type="int">
  <int value="0" label="8 kHz"/>
  <int value="1" label="16 kHz"/>
  <int value="2" label="32 kHz"/>
  <int value="3" label="48 kHz"/>
  <int value="4" label="96 kHz"/>
  <int value="5" label="11.025 kHz"/>
  <int value="6" label="22.05 kHz"/>
  <int value="7" label="44.1 kHz"/>
  <int value="8" label="88.2 kHz"/>
  <int value="9" label="176.4 kHz"/>
  <int value="10" label="192 kHz"/>
  <int value="11" label="24 kHz"/>
  <int value="12" label="384 kHz"/>
</enum>

<enum name="AudioStreamOpenResult" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="CREATE_INSTANCE"/>
  <int value="2" label="NO_ENDPOINT"/>
  <int value="3" label="NO_STATE"/>
  <int value="4" label="DEVICE_NOT_ACTIVE"/>
  <int value="5" label="ACTIVATION_FAILED"/>
  <int value="6" label="FORMAT_NOT_SUPPORTED"/>
  <int value="7" label="AUDIO_CLIENT_INIT_FAILED"/>
  <int value="8" label="GET_BUFFER_SIZE_FAILED"/>
  <int value="9" label="LOOPBACK_ACTIVATE_FAILED"/>
  <int value="10" label="LOOPBACK_INIT_FAILED"/>
  <int value="11" label="SET_EVENT_HANDLE"/>
  <int value="12" label="NO_CAPTURE_CLIENT"/>
  <int value="13" label="NO_AUDIO_VOLUME"/>
  <int value="14" label="OK_WITH_RESAMPLING"/>
</enum>

<enum name="AudioThreadStatus" type="int">
  <int value="0" label="None"/>
  <int value="1" label="Started"/>
  <int value="2" label="Hung"/>
  <int value="3" label="Recovered"/>
</enum>

<enum name="AudioTrackProcessingStates" type="int">
  <int value="0" label="Enabled"/>
  <int value="1" label="Disabled"/>
  <int value="2" label="Processing in WebRTC"/>
</enum>

<enum name="AuthPolicyErrorType" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Unspecified error"/>
  <int value="2" label="Unspecified D-Bus error"/>
  <int value="3" label="Badly formatted user principal name"/>
  <int value="4" label="Auth failed because of bad user name"/>
  <int value="5" label="Auth failed because of bad password"/>
  <int value="6" label="Auth failed because of expired password"/>
  <int value="7" label="Auth failed because of bad realm or network"/>
  <int value="8" label="kinit exited with unspecified error"/>
  <int value="9" label="net exited with unspecified error"/>
  <int value="10" label="smdclient exited with unspecified error"/>
  <int value="11" label="authpolicy_parser exited with unknown error"/>
  <int value="12" label="Parsing GPOs failed"/>
  <int value="13" label="GPO data is bad"/>
  <int value="14" label="Some local IO operation failed"/>
  <int value="15" label="Machine is not joined to AD domain yet"/>
  <int value="16" label="User is not logged in yet"/>
  <int value="17" label="Failed to send policy to Session Manager"/>
  <int value="18"
      label="User doesn't have the right to join machines to the domain"/>
  <int value="19" label="General network problem"/>
  <int value="20" label="Machine name contains restricted characters"/>
  <int value="21" label="Machine name too long"/>
  <int value="22" label="User joined maximum number of machines to the domain"/>
  <int value="23"
      label="kinit or smbclient failed to contact Key Distribution Center"/>
  <int value="24" label="Kerberos credentials cache not found"/>
  <int value="25" label="Kerberos ticket expired while renewing credentials"/>
  <int value="26" label="klist exited with unspecified error"/>
</enum>

<enum name="AutocheckoutBubble" type="int">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <int value="0" label="Created"/>
  <int value="1" label="Accepted"/>
  <int value="2" label="Dismissed"/>
  <int value="3" label="Ignored"/>
  <int value="4" label="Could be displayed"/>
</enum>

<enum name="AutocheckoutBuyFlow" type="int">
  <obsolete>
    Deprecated as of 8/2013.
  </obsolete>
  <int value="0" label="Started"/>
  <int value="1" label="Success"/>
  <int value="2" label="Missing field mappings"/>
  <int value="3" label="Missing advance element"/>
  <int value="4" label="Cannot proceed"/>
</enum>

<enum name="AutofillCardUploadDecision" type="int">
  <obsolete>
    Deprecated as of 2/2016, replaced by AutofillCardUploadDecisionExpanded.
  </obsolete>
  <int value="0" label="Upload offered"/>
  <int value="1" label="Upload not offered, no CVC detected"/>
  <int value="2" label="Upload not offered, no valid address available"/>
  <int value="3" label="Upload not offered, get upload details RPC failed"/>
</enum>

<enum name="AutofillCardUploadDecisionExpanded" type="int">
  <int value="0" label="Upload offered"/>
  <int value="1" label="Upload not offered, no CVC detected"/>
  <int value="2" label="Upload not offered, no address available"/>
  <int value="3" label="Upload not offered, no name available"/>
  <int value="4"
      label="Upload not offered, addresses had conflicting zip codes"/>
  <int value="5" label="Upload not offered, no zip code available"/>
  <int value="6" label="Upload not offered, get upload details RPC failed"/>
  <int value="7"
      label="Upload not offered, card and/or addresses had conflicting names"/>
</enum>

<enum name="AutofillCreditCardInfoBar" type="int">
  <int value="0" label="Shown"/>
  <int value="1" label="Accepted"/>
  <int value="2" label="Denied"/>
  <int value="3" label="Ignored"/>
</enum>

<enum name="AutofillDeveloperEngagement" type="int">
  <int value="0" label="Fillable form parsed without type hints"/>
  <int value="1" label="Fillable form parsed with type hints"/>
  <int value="2" label="Includes UPI-VPA type hint"/>
</enum>

<enum name="AutofillDialogDismissalState" type="int">
  <int value="0" label="Submitted, existing data (deprecated)"/>
  <int value="1" label="Submitted, saved to Wallet"/>
  <int value="2" label="Submitted, saved locally"/>
  <int value="3" label="Submitted, no save"/>
  <int value="4" label="Canceled, no edits"/>
  <int value="5" label="Canceled, no invalid fields"/>
  <int value="6" label="Canceled, 1+ invalid fields"/>
  <int value="7" label="Canceled during sign-in"/>
  <int value="8" label="Submitted, existing data came from Wallet"/>
  <int value="9" label="Submitted, existing data came from Autofill"/>
</enum>

<enum name="AutofillDialogInitialUserState" type="int">
  <int value="0" label="Not signed in, no Autofill"/>
  <int value="1" label="Not signed in, has Autofill"/>
  <int value="2" label="Signed in, no Wallet, no Autofill"/>
  <int value="3" label="Signed in, no Wallet, has Autofill"/>
  <int value="4" label="Signed in, has Wallet, no Autofill"/>
  <int value="5" label="Signed in, ha Wallet, has Autofill"/>
</enum>

<enum name="AutofillDialogPopupEvent" type="int">
  <int value="0" label="Popup shown"/>
  <int value="1" label="Form Autofilled"/>
</enum>

<enum name="AutofillDialogSecurity" type="int">
  <int value="0" label="Baseline: Dialog shown"/>
  <int value="1" label="Credit card over HTTP"/>
  <int value="2" label="Cross-origin frame"/>
</enum>

<enum name="AutofillDialogUiEvents" type="int">
  <int value="0" label="Dialog shown"/>
  <int value="1" label="Dialog submitted"/>
  <int value="2" label="Dialog canceled"/>
  <int value="3"
      label="Account switched: Wallet-&gt;Autofill (M35+: user actions only)"/>
  <int value="4" label="Account switched: Autofill-&gt;Wallet"/>
  <int value="5" label="Account switched: Wallet-&gt;Wallet"/>
  <int value="6" label="Sign-in UI shown"/>
  <int value="7" label="Selected different email suggestion"/>
  <int value="8" label="Selected different billing suggestion"/>
  <int value="9" label="Selected different cc+billing suggestion"/>
  <int value="10" label="Selected different shipping suggestion"/>
  <int value="11" label="Selected different cc suggestion"/>
  <int value="12" label="Showed edit UI for email"/>
  <int value="13" label="Showed edit UI for billing"/>
  <int value="14" label="Showed edit UI for cc+billing"/>
  <int value="15" label="Showed edit UI for shipping"/>
  <int value="16" label="Showed edit UI for cc"/>
  <int value="17" label="Selected 'Add email' suggestion"/>
  <int value="18" label="Selected 'Add billing' suggestion"/>
  <int value="19" label="Selected 'Add cc+billing' suggestion"/>
  <int value="20" label="Selected 'Add shipping' suggestion"/>
  <int value="21" label="Selected 'Add cc' suggestion"/>
  <int value="22" label="Account switched: Wallet account added (multilogin)"/>
</enum>

<enum name="AutofillExperimentId" type="int">
  <int value="0" label="No Experiment"/>
  <int value="1" label="Unknown"/>
  <int value="2" label="ar06"/>
  <int value="3" label="ar1"/>
  <int value="4" label="ar2"/>
  <int value="5" label="ar4"/>
  <int value="6" label="ar05wlr15"/>
  <int value="7" label="ar05wlr25"/>
  <int value="8" label="ar05wlr25fs5"/>
  <int value="9" label="tbar1"/>
  <int value="10" label="ar04wr3fs4"/>
  <int value="11" label="No Server Response"/>
  <int value="12" label="fp05"/>
  <int value="13" label="fp025"/>
  <int value="14" label="fp05cc03"/>
  <int value="15" label="fp05cco03"/>
  <int value="16" label="fp05cco03cstd"/>
  <int value="17" label="fp05cc03e1"/>
</enum>

<enum name="AutofillFormEvent" type="int">
  <int value="0" label="Interacted (once)"/>
  <int value="1" label="Suggestions shown"/>
  <int value="2" label="Suggestions shown (once)"/>
  <int value="3" label="Local suggestion filled"/>
  <int value="4" label="Server suggestion filled"/>
  <int value="5" label="Masked server card suggestion filled"/>
  <int value="6" label="Local suggestion filled (once)"/>
  <int value="7" label="Server suggestion filled (once)"/>
  <int value="8" label="Masked server card suggestion filled (once)"/>
  <int value="9" label="Submitted with no suggestion filled (once)"/>
  <int value="10" label="Submitted with local suggestion filled (once)"/>
  <int value="11" label="Submitted with server suggestion filled (once)"/>
  <int value="12"
      label="Submitted with masked server card suggestion filled (once)"/>
  <int value="13" label="Masked server card suggestion selected">
    The user selected a masked server card that triggered an unmask attempt.
  </int>
  <int value="14" label="Masked server card suggestion selected (once)">
    The user selected a masked server card that triggered an unmask attempt at
    least once.
  </int>
  <int value="15"
      label="About to be submitted with no suggestion filled (once)"/>
  <int value="16"
      label="About to be submitted with local suggestion filled (once)"/>
  <int value="17"
      label="About to be submitted with server suggestion filled (once)"/>
  <int value="18"
      label="About to be submitted with masked server card suggestion filled
             (once)"/>
  <int value="19" label="Submitted with suggestion shown (once)"/>
  <int value="20" label="About to be submitted with suggestion shown (once)"/>
</enum>

<enum name="AutofillFormSubmittedState" type="int">
  <int value="0" label="Non fillable form or new data"/>
  <int value="1" label="Fillable form, autofilled all"/>
  <int value="2" label="Fillable form, autofilled some"/>
  <int value="3" label="Fillable form, autofilled none, did show suggestions"/>
  <int value="4"
      label="Fillable form, autofilled none, did not show suggestions"/>
</enum>

<enum name="AutofillGetRealPanResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Retriable failure"/>
  <int value="2" label="Non retriable failure"/>
  <int value="3" label="Network error"/>
</enum>

<enum name="AutofillKeyboardAccessoryButtonsIOS" type="int">
  <int value="0" label="Forms loaded"/>
  <int value="1" label="Submitted form"/>
  <int value="2" label="Close button pressed"/>
  <int value="3" label="Close button pressed (once)"/>
  <int value="4" label="Next button pressed"/>
  <int value="5" label="Next button pressed (once)"/>
  <int value="6" label="Previous button pressed"/>
  <int value="7" label="Previous button pressed (once)"/>
</enum>

<enum name="AutofillMacAddressBook" type="int">
  <int value="0" label="Showed popup entry"/>
  <int value="1" label="Selected popup entry"/>
</enum>

<enum name="AutofillProfileAction" type="int">
  <int value="0" label="Existing profile used"/>
  <int value="1" label="Existing profile updated"/>
  <int value="2" label="New profile created"/>
</enum>

<enum name="AutofillQuality" type="int">
  <int value="0" label="Submitted"/>
  <int value="1" label="Autofilled"/>
  <int value="2" label="Autofill failed"/>
  <int value="3" label="Heuristic Unknown"/>
  <int value="4" label="Heuristic Match"/>
  <int value="5" label="Heuristic Mismatch"/>
  <int value="6" label="Server Unknown"/>
  <int value="7" label="Server Match"/>
  <int value="8" label="Server Mismatch"/>
</enum>

<enum name="AutofillQueryResult" type="int">
  <int value="0" label="Sent"/>
  <int value="1" label="Received"/>
  <int value="2" label="Parsed"/>
  <int value="3" label="Response matches local"/>
  <int value="4" label="Response improves local (nonempty)"/>
  <int value="5" label="Response improves local (empty)"/>
</enum>

<enum name="AutofillSaveCreditCardPrompt" type="int">
  <int value="0" label="Show requested"/>
  <int value="1" label="Shown"/>
  <int value="2" label="Ended, invalid legal message"/>
  <int value="3" label="Ended, user explicitly accepted prompt"/>
  <int value="4" label="Ended, user explicitly denied prompt"/>
  <int value="5" label="Ended, navigated away from page while prompt showing"/>
  <int value="6" label="Ended, navigated away from page while prompt hidden"/>
  <int value="7" label="Dismissed, user clicked Learn More link"/>
  <int value="8" label="Dismissed, user clicked a legal message link"/>
</enum>

<enum name="AutofillScanCreditCardPrompt" type="int">
  <int value="0" label="Scan card shown"/>
  <int value="1" label="Scan card selected"/>
  <int value="2" label="Some other item selected"/>
</enum>

<enum name="AutofillTypeQuality" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Match"/>
  <int value="2" label="Mismatch"/>
  <int value="3" label="Match - Empty Data"/>
  <int value="4" label="Match - Unknown Data"/>
  <int value="5" label="Mismatch - Empty Data"/>
  <int value="6" label="Mismatch - Unknown Data"/>
</enum>

<enum name="AutofillTypeQualityByFieldType" type="int">
  <int value="0" label="Ambiguous, Unknown"/>
  <int value="1" label="Ambiguous, Match"/>
  <int value="2" label="Ambiguous, Mismatch"/>
  <int value="3" label="Name, Unknown"/>
  <int value="4" label="Name, Match"/>
  <int value="5" label="Name, Mismatch"/>
  <int value="6" label="Company, Unknown"/>
  <int value="7" label="Company, Match"/>
  <int value="8" label="Company, Mismatch"/>
  <int value="9" label="Addr. line 1, Unknown"/>
  <int value="10" label="Addr. line 1, Match"/>
  <int value="11" label="Addr. line 1, Mismatch"/>
  <int value="12" label="Addr. line 2, Unknown"/>
  <int value="13" label="Addr. line 2, Match"/>
  <int value="14" label="Addr. line 2, Mismatch"/>
  <int value="15" label="City, Unknown"/>
  <int value="16" label="City, Match"/>
  <int value="17" label="City, Mismatch"/>
  <int value="18" label="State, Unknown"/>
  <int value="19" label="State, Match"/>
  <int value="20" label="State, Mismatch"/>
  <int value="21" label="ZIP code, Unknown"/>
  <int value="22" label="ZIP code, Match"/>
  <int value="23" label="ZIP code, Mismatch"/>
  <int value="24" label="Country, Unknown"/>
  <int value="25" label="Country, Match"/>
  <int value="26" label="Country, Mismatch"/>
  <int value="27" label="Phone, Unknown"/>
  <int value="28" label="Phone, Match"/>
  <int value="29" label="Phone, Mismatch"/>
  <int value="30" label="Fax, Unknown"/>
  <int value="31" label="Fax, Match"/>
  <int value="32" label="Fax, Mismatch"/>
  <int value="33" label="Email, Unknown"/>
  <int value="34" label="Email, Match"/>
  <int value="35" label="Email, Mismatch"/>
  <int value="36" label="Credit card: name, Unknown"/>
  <int value="37" label="Credit card: name, Match"/>
  <int value="38" label="Credit card: name, Mismatch"/>
  <int value="39" label="Credit card: number, Unknown"/>
  <int value="40" label="Credit card: number, Match"/>
  <int value="41" label="Credit card: number, Mismatch"/>
  <int value="42" label="Credit card: date, Unknown"/>
  <int value="43" label="Credit card: date, Match"/>
  <int value="44" label="Credit card: date, Mismatch"/>
  <int value="45" label="Credit card: type, Unknown"/>
  <int value="46" label="Credit card: type, Match"/>
  <int value="47" label="Credit card: type, Mismatch"/>
  <int value="48" label="Password, Unknown"/>
  <int value="49" label="Password, Match"/>
  <int value="50" label="Password, Mismatch"/>
  <int value="51" label="Addr. line 3, Unknown"/>
  <int value="52" label="Addr. line 3, Match"/>
  <int value="53" label="Addr. line 3, Mismatch"/>
  <int value="54" label="Username, Unknown"/>
  <int value="55" label="Username, Match"/>
  <int value="56" label="Username, Mismatch"/>
  <int value="57" label="Street Address, Unknown"/>
  <int value="58" label="Street Address, Match"/>
  <int value="59" label="Street Address, Mismatch"/>
  <int value="60" label="Credit Card Verification, Unknown"/>
  <int value="61" label="Credit Card Verification, Match"/>
  <int value="62" label="Credit Card Verification, Mismatch"/>
</enum>

<enum name="AutofillUnmaskPromptEvent" type="int">
  <int value="0" label="Shown"/>
  <int value="1" label="Closed with no attempts"/>
  <int value="2" label="Closed, retriable failure"/>
  <int value="3" label="Closed, non retriable failure"/>
  <int value="4" label="Closed, success w/ 0 failures">
    Closed with successful unmask on the first attempt.
  </int>
  <int value="5" label="Closed, success w/ 1+ failures">
    Closed with successful unmask after failed attempts.
  </int>
  <int value="6" label="Card saved locally"/>
  <int value="7" label="Did opt in of local save"/>
  <int value="8" label="Local save stayed disabled"/>
  <int value="9" label="Did opt out of local save"/>
  <int value="10" label="Local save stayed enabled"/>
  <int value="11" label="Closed, abandon unmasking"/>
</enum>

<enum name="AutofillUserHappiness" type="int">
  <int value="0" label="Forms loaded"/>
  <int value="1" label="Deprecated 1"/>
  <int value="2" label="Deprecated 2"/>
  <int value="3" label="Deprecated 3"/>
  <int value="4" label="Deprecated 4"/>
  <int value="5" label="User did type"/>
  <int value="6" label="Suggestions shown"/>
  <int value="7" label="Suggestions shown (once)"/>
  <int value="8" label="User did autofill"/>
  <int value="9" label="User did autofill (once)"/>
  <int value="10" label="User edited autofilled field"/>
  <int value="11" label="User edited autofilled field (once)"/>
</enum>

<enum name="AutofillWalletAddressConversionType" type="int">
  <int value="0" label="Merged with existing local profile"/>
  <int value="1" label="Added as a new local profile"/>
</enum>

<enum name="AutoLaunchState" type="int">
  <int value="0" label="AUTO_LAUNCH_NONE"/>
  <int value="1" label="AUTO_LAUNCH_BACKGROUND"/>
  <int value="2" label="[Deprecated] AUTO_LAUNCH_FOREGROUND"/>
  <int value="3" label="[Deprecated] AUTO_LAUNCH_FOREGROUND_USELESS"/>
</enum>

<enum name="AutoplayBlockedReason" type="int">
  <int value="0" label="Data Saver enabled"/>
  <int value="1" label="Disabled by setting"/>
  <int value="2" label="Data Saver and setting"/>
</enum>

<enum name="AutoplaySource" type="int">
  <int value="0" label="autoplay attribute"/>
  <int value="1" label="play() method"/>
  <int value="2" label="dual source"/>
</enum>

<enum name="AutoSigninFirstRun" type="int">
  <int value="0" label="No action"/>
  <int value="1" label="Turn off"/>
  <int value="2" label="Ok, got it"/>
</enum>

<enum name="BackForwardNavigationType" type="int">
  <int value="0" label="Fast back navigation with WKBackForwardList"/>
  <int value="1" label="Slow back navigation"/>
  <int value="2" label="Fast forward navigation with WKBackForwardList"/>
  <int value="3" label="Slow forward navigation"/>
</enum>

<enum name="BackgroundFetchEventDispatchResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Cannot find worker"/>
  <int value="2" label="Cannot start worker"/>
  <int value="3" label="Cannot dispatch the event"/>
</enum>

<enum name="BackgroundFetchTrigger" type="int">
  <int value="0" label="Wake-up of the persistent scheduler"/>
  <int value="1" label="NTP opened"/>
  <int value="2" label="Browser foregrounded"/>
  <int value="3" label="Cold start of the browser"/>
</enum>

<enum name="BackgroundModeMenuItem" type="int">
  <int value="0" label="About"/>
  <int value="1" label="Task manager"/>
  <int value="2" label="Background client"/>
  <int value="3" label="Let run in background"/>
  <int value="4" label="Exit"/>
</enum>

<enum name="BackgroundSyncResultPattern" type="int">
  <int value="0" label="Success Foreground"/>
  <int value="1" label="Success Background"/>
  <int value="2" label="Failed Foreground"/>
  <int value="3" label="Failed Background"/>
</enum>

<enum name="BackgroundSyncStatus" type="int">
  <int value="0" label="Action completed successfully"/>
  <int value="1" label="Back-end error"/>
  <int value="2" label="Registration was not found"/>
  <int value="3" label="No active service worker"/>
  <int value="4" label="Action not allowed"/>
  <int value="5" label="Permission denied"/>
</enum>

<enum name="BackgroundTracingState" type="int">
  <int value="0" label="Scenario activation requested"/>
  <int value="1" label="Scenario successfully activated"/>
  <int value="2" label="Trace recording enabled"/>
  <int value="3" label="Running preemptive scenario triggered"/>
  <int value="4" label="Running reactive scenario triggered"/>
  <int value="5" label="Trace finalization allowed"/>
  <int value="6" label="Trace finalization disallowed"/>
  <int value="7" label="Trace finalization started"/>
  <int value="8" label="Trace finalization complete"/>
  <int value="9" label="Scenario activation failed due to lowres clock"/>
</enum>

<enum name="BackingStoreResults" type="int">
  <int value="0" label="Unused"/>
  <int value="1" label="Success"/>
  <int value="2" label="Failure"/>
</enum>

<enum name="BadMessageReasonChrome" type="int">
<!-- Generated from chrome/browser/bad_message.h -->

  <int value="0" label="WRLHH_LOGGING_STOPPED_BAD_STATE"/>
</enum>

<enum name="BadMessageReasonContent" type="int">
<!-- Generated from content/browser/bad_message.h -->

  <int value="0" label="NC_IN_PAGE_NAVIGATION"/>
  <int value="1" label="RFH_CAN_COMMIT_URL_BLOCKED"/>
  <int value="2" label="RFH_CAN_ACCESS_FILES_OF_PAGE_STATE"/>
  <int value="3" label="RFH_SANDBOX_FLAGS"/>
  <int value="4" label="RFH_NO_PROXY_TO_PARENT"/>
  <int value="5" label="RPH_DESERIALIZATION_FAILED"/>
  <int value="6" label="RVH_CAN_ACCESS_FILES_OF_PAGE_STATE"/>
  <int value="7" label="RFH_FILE_CHOOSER_PATH"/>
  <int value="8" label="RWH_SYNTHETIC_GESTURE"/>
  <int value="9" label="RWH_FOCUS"/>
  <int value="10" label="RWH_BLUR"/>
  <int value="11" label="RWH_SHARED_BITMAP"/>
  <int value="12" label="RWH_BAD_ACK_MESSAGE"/>
  <int value="13" label="RWHVA_SHARED_MEMORY"/>
  <int value="14" label="SERVICE_WORKER_BAD_URL"/>
  <int value="15" label="WC_INVALID_FRAME_SOURCE"/>
  <int value="16" label="RWHVM_UNEXPECTED_FRAME_TYPE"/>
  <int value="17" label="RFPH_DETACH"/>
  <int value="18" label="DFH_BAD_EMBEDDER_MESSAGE"/>
  <int value="19" label="NC_AUTO_SUBFRAME"/>
  <int value="20" label="CSDH_NOT_RECOGNIZED"/>
  <int value="21" label="DSMF_OPEN_STORAGE"/>
  <int value="22" label="DSMF_LOAD_STORAGE"/>
  <int value="23" label="DBMF_INVALID_ORIGIN_ON_OPEN"/>
  <int value="24" label="DBMF_DB_NOT_OPEN_ON_MODIFY"/>
  <int value="25" label="DBMF_DB_NOT_OPEN_ON_CLOSE"/>
  <int value="26" label="DBMF_INVALID_ORIGIN_ON_SQLITE_ERROR"/>
  <int value="27" label="RDH_INVALID_PRIORITY"/>
  <int value="28" label="RDH_REQUEST_NOT_TRANSFERRING"/>
  <int value="29" label="RDH_BAD_DOWNLOAD"/>
  <int value="30" label="NMF_NO_PERMISSION_SHOW"/>
  <int value="31" label="NMF_NO_PERMISSION_CLOSE"/>
  <int value="32" label="NMF_NO_PERMISSION_VERIFY"/>
  <int value="33" label="MH_INVALID_MIDI_PORT"/>
  <int value="34" label="MH_SYS_EX_PERMISSION"/>
  <int value="35" label="ACDH_REGISTER"/>
  <int value="36" label="ACDH_UNREGISTER"/>
  <int value="37" label="ACDH_SET_SPAWNING"/>
  <int value="38" label="ACDH_SELECT_CACHE"/>
  <int value="39" label="ACDH_SELECT_CACHE_FOR_WORKER"/>
  <int value="40" label="ACDH_SELECT_CACHE_FOR_SHARED_WORKER"/>
  <int value="41" label="ACDH_MARK_AS_FOREIGN_ENTRY"/>
  <int value="42" label="ACDH_PENDING_REPLY_IN_GET_STATUS"/>
  <int value="43" label="ACDH_GET_STATUS"/>
  <int value="44" label="ACDH_PENDING_REPLY_IN_START_UPDATE"/>
  <int value="45" label="ACDH_START_UPDATE"/>
  <int value="46" label="ACDH_PENDING_REPLY_IN_SWAP_CACHE"/>
  <int value="47" label="ACDH_SWAP_CACHE"/>
  <int value="48" label="SWDH_NOT_HANDLED"/>
  <int value="49" label="SWDH_REGISTER_BAD_URL"/>
  <int value="50" label="SWDH_REGISTER_NO_HOST"/>
  <int value="51" label="SWDH_REGISTER_CANNOT"/>
  <int value="52" label="SWDH_UNREGISTER_BAD_URL"/>
  <int value="53" label="SWDH_UNREGISTER_NO_HOST"/>
  <int value="54" label="SWDH_UNREGISTER_CANNOT"/>
  <int value="55" label="SWDH_GET_REGISTRATION_BAD_URL"/>
  <int value="56" label="SWDH_GET_REGISTRATION_NO_HOST"/>
  <int value="57" label="SWDH_GET_REGISTRATION_CANNOT"/>
  <int value="58" label="SWDH_GET_REGISTRATION_FOR_READY_NO_HOST"/>
  <int value="59" label="SWDH_GET_REGISTRATION_FOR_READY_ALREADY_IN_PROGRESS"/>
  <int value="60" label="SWDH_POST_MESSAGE"/>
  <int value="61" label="SWDH_PROVIDER_CREATED_NO_HOST"/>
  <int value="62" label="SWDH_PROVIDER_DESTROYED_NO_HOST"/>
  <int value="63" label="SWDH_SET_HOSTED_VERSION_NO_HOST"/>
  <int value="64" label="OBSOLETE_SWDH_SET_HOSTED_VERSION"/>
  <int value="65" label="SWDH_WORKER_SCRIPT_LOAD_NO_HOST"/>
  <int value="66" label="SWDH_INCREMENT_WORKER_BAD_HANDLE"/>
  <int value="67" label="SWDH_DECREMENT_WORKER_BAD_HANDLE"/>
  <int value="68" label="SWDH_INCREMENT_REGISTRATION_BAD_HANDLE"/>
  <int value="69" label="SWDH_DECREMENT_REGISTRATION_BAD_HANDLE"/>
  <int value="70" label="SWDH_TERMINATE_BAD_HANDLE"/>
  <int value="71" label="FAMF_APPEND_ITEM_TO_BLOB"/>
  <int value="72" label="FAMF_APPEND_SHARED_MEMORY_TO_BLOB"/>
  <int value="73" label="FAMF_MALFORMED_STREAM_URL"/>
  <int value="74" label="FAMF_APPEND_ITEM_TO_STREAM"/>
  <int value="75" label="FAMF_APPEND_SHARED_MEMORY_TO_STREAM"/>
  <int value="76" label="IDBDH_CAN_READ_FILE"/>
  <int value="77" label="IDBDH_GET_OR_TERMINATE"/>
  <int value="78" label="RFMF_SET_COOKIE_BAD_ORIGIN"/>
  <int value="79" label="RFMF_GET_COOKIES_BAD_ORIGIN"/>
  <int value="80" label="SWDH_GET_REGISTRATIONS_NO_HOST"/>
  <int value="81" label="SWDH_GET_REGISTRATIONS_INVALID_ORIGIN"/>
  <int value="82" label="AOAH_UNAUTHORIZED_URL"/>
  <int value="83" label="BDH_INVALID_SERVICE_ID"/>
  <int value="84" label="RFH_COMMIT_DESERIALIZATION_FAILED"/>
  <int value="85" label="BDH_INVALID_CHARACTERISTIC_ID"/>
  <int value="86" label="SWDH_UPDATE_NO_HOST"/>
  <int value="87" label="SWDH_UPDATE_BAD_REGISTRATION_ID"/>
  <int value="88" label="SWDH_UPDATE_CANNOT"/>
  <int value="89" label="SWDH_UNREGISTER_BAD_REGISTRATION_ID"/>
  <int value="90" label="BDH_INVALID_WRITE_VALUE_LENGTH"/>
  <int value="91" label="WC_MEMORY_CACHE_RESOURCE_BAD_SECURITY_INFO"/>
  <int value="92" label="WC_RENDERER_DID_NAVIGATE_BAD_SECURITY_INFO"/>
  <int value="93" label="OBSOLETE_BDH_DUPLICATE_REQUEST_DEVICE_ID"/>
  <int value="94" label="CSDH_INVALID_ORIGIN"/>
  <int value="95" label="RDH_ILLEGAL_ORIGIN"/>
  <int value="96" label="RDH_UNAUTHORIZED_HEADER_REQUEST"/>
  <int value="97" label="RDH_INVALID_URL"/>
  <int value="98" label="BDH_CHARACTERISTIC_ALREADY_SUBSCRIBED"/>
  <int value="99" label="RFH_OWNER_PROPERTY"/>
  <int value="100" label="BDH_EMPTY_OR_INVALID_FILTERS"/>
  <int value="101" label="WC_CONTENT_WITH_CERT_ERRORS_BAD_SECURITY_INFO"/>
  <int value="102" label="RFMF_RENDERER_FAKED_ITS_OWN_DEATH"/>
  <int value="103" label="DWNLD_INVALID_SAVABLE_RESOURCE_LINKS_RESPONSE"/>
  <int value="104" label="DWNLD_INVALID_SERIALIZE_AS_MHTML_RESPONSE"/>
  <int value="105" label="BDH_DEVICE_NOT_ALLOWED_FOR_ORIGIN"/>
  <int value="106" label="ACI_WRONG_STORAGE_PARTITION"/>
  <int value="107" label="RDHI_WRONG_STORAGE_PARTITION"/>
  <int value="108" label="RDH_INVALID_REQUEST_ID"/>
  <int value="109" label="BDH_SERVICE_NOT_ALLOWED_FOR_ORIGIN"/>
  <int value="110" label="WSI_UNEXPECTED_ADD_CHANNEL_REQUEST"/>
  <int value="111" label="WSI_UNEXPECTED_SEND_FRAME"/>
  <int value="112" label="RFH_UNEXPECTED_LOAD_START"/>
  <int value="113" label="NMF_INVALID_ARGUMENT"/>
  <int value="114" label="RFH_INVALID_ORIGIN_ON_COMMIT"/>
  <int value="115" label="BDH_UUID_REGISTERED"/>
  <int value="116" label="BDH_CONSTRUCTION_FAILED"/>
  <int value="117" label="BDH_INVALID_REFCOUNT_OPERATION"/>
  <int value="118" label="BDH_INVALID_URL_OPERATION"/>
  <int value="119" label="IDBDH_INVALID_ORIGIN"/>
  <int value="120" label="RFH_FAIL_PROVISIONAL_LOAD_NO_HANDLE"/>
  <int value="121" label="RFH_FAIL_PROVISIONAL_LOAD_NO_ERROR"/>
  <int value="122" label="NI_IN_PAGE_NAVIGATION"/>
  <int value="123" label="RPH_MOJO_PROCESS_ERROR"/>
  <int value="124" label="DBMF_INVALID_ORIGIN_ON_GET_SPACE"/>
  <int value="125" label="DBMF_INVALID_ORIGIN_ON_MODIFIED"/>
  <int value="126" label="DBMF_INVALID_ORIGIN_ON_CLOSED"/>
  <int value="127" label="WSI_INVALID_HEADER_VALUE"/>
  <int value="128" label="SWDH_SET_HOSTED_VERSION_INVALID_HOST"/>
  <int value="129" label="SWDH_SET_HOSTED_VERSION_PROCESS_MISMATCH"/>
  <int value="130" label="MSDH_INVALID_FRAME_ID"/>
  <int value="131" label="SDH_INVALID_PORT_RANGE"/>
  <int value="132" label="SCO_INVALID_ARGUMENT"/>
  <int value="133" label="RFH_INCONSISTENT_DEVTOOLS_MESSAGE"/>
  <int value="134" label="DSH_DUPLICATE_CONNECTION_ID"/>
  <int value="135" label="DSH_NOT_CREATED_SESSION_ID"/>
  <int value="136" label="DSH_NOT_ALLOCATED_SESSION_ID"/>
  <int value="137" label="DSH_DELETED_SESSION_ID"/>
  <int value="138" label="DSH_WRONG_STORAGE_PARTITION"/>
  <int value="139" label="BDH_DISALLOWED_ORIGIN"/>
  <int value="140" label="ARH_CREATED_STREAM_WITHOUT_AUTHORIZATION"/>
  <int value="141" label="MDDH_INVALID_DEVICE_TYPE_REQUEST"/>
  <int value="142" label="MDDH_UNAUTHORIZED_ORIGIN"/>
  <int value="143" label="SWDH_ENABLE_NAVIGATION_PRELOAD_NO_HOST"/>
  <int value="144" label="SWDH_ENABLE_NAVIGATION_PRELOAD_INVALID_ORIGIN"/>
  <int value="145" label="SWDH_ENABLE_NAVIGATION_PRELOAD_BAD_REGISTRATION_ID"/>
  <int value="146" label="RDH_TRANSFERRING_REQUEST_NOT_FOUND"/>
  <int value="147" label="RDH_TRANSFERRING_NONNAVIGATIONAL_REQUEST"/>
  <int value="148" label="SWDH_GET_NAVIGATION_PRELOAD_STATE_NO_HOST"/>
  <int value="149" label="SWDH_GET_NAVIGATION_PRELOAD_STATE_INVALID_ORIGIN"/>
  <int value="150"
      label="SWDH_GET_NAVIGATION_PRELOAD_STATE_BAD_REGISTRATION_ID"/>
  <int value="151" label="SWDH_SET_NAVIGATION_PRELOAD_HEADER_NO_HOST"/>
  <int value="152" label="SWDH_SET_NAVIGATION_PRELOAD_HEADER_INVALID_ORIGIN"/>
  <int value="153"
      label="SWDH_SET_NAVIGATION_PRELOAD_HEADER_BAD_REGISTRATION_ID"/>
  <int value="154" label="SWDH_SET_NAVIGATION_PRELOAD_HEADER_BAD_VALUE"/>
  <int value="155" label="MDDH_INVALID_SUBSCRIPTION_REQUEST"/>
  <int value="156" label="MDDH_INVALID_UNSUBSCRIPTION_REQUEST"/>
  <int value="157" label="AOAH_NONSENSE_DEVICE_ID"/>
  <int value="158" label="BDH_INVALID_OPTIONS"/>
  <int value="159" label="RFH_DID_ADD_CONSOLE_MESSAGE_BAD_SEVERITY"/>
  <int value="160" label="AIRH_VOLUME_OUT_OF_RANGE"/>
  <int value="161" label="BDH_INVALID_DESCRIPTOR_ID"/>
  <int value="162" label="RWH_INVALID_BEGIN_FRAME_ACK_DID_NOT_SWAP"/>
  <int value="163" label="RWH_INVALID_BEGIN_FRAME_ACK_COMPOSITOR_FRAME"/>
  <int value="164" label="BFSI_INVALID_TAG"/>
  <int value="165" label="BFSI_INVALID_REQUESTS"/>
  <int value="166" label="BFSI_INVALID_TITLE"/>
  <int value="167" label="RWH_INVALID_FRAME_TOKEN"/>
</enum>

<enum name="BadMessageReasonExtensions" type="int">
<!-- Generated from extensions/browser/bad_message.h -->

  <int value="0" label="EOG_BAD_ORIGIN"/>
  <int value="1" label="EVG_BAD_ORIGIN"/>
  <int value="2" label="BH_BLOB_NOT_OWNED"/>
  <int value="3" label="EH_BAD_EVENT_ID"/>
  <int value="4" label="AVG_BAD_INST_ID"/>
  <int value="5" label="AVG_BAD_EXT_ID"/>
  <int value="6" label="AVG_NULL_AVG"/>
  <int value="7" label="ESWMF_INVALID_DECREMENT_ACTIVITY"/>
  <int value="8" label="EFD_BAD_MESSAGE"/>
  <int value="9" label="EFD_BAD_MESSAGE_WORKER"/>
</enum>

<enum name="BadMessageReasonNaCl" type="int">
<!-- Generated from components/nacl/browser/bad_message.h -->

  <int value="0" label="NFH_OPEN_EXECUTABLE_BAD_ROUTING_ID"/>
  <int value="1" label="NHMF_LAUNCH_CONTINUATION_BAD_ROUTING_ID"/>
  <int value="2" label="NHMF_GET_NEXE_FD_BAD_URL"/>
</enum>

<enum name="BadMessageReasonPasswordManager" type="int">
<!-- Generated from components/password_manager/content/browser/bad_message.h -->

  <int value="1" label="CPMD_BAD_ORIGIN_FORMS_PARSED"/>
  <int value="2" label="CPMD_BAD_ORIGIN_FORMS_RENDERED"/>
  <int value="3" label="CPMD_BAD_ORIGIN_FORM_SUBMITTED"/>
  <int value="4" label="CPMD_BAD_ORIGIN_FOCUSED_PASSWORD_FORM_FOUND"/>
  <int value="5" label="CPMD_BAD_ORIGIN_IN_PAGE_NAVIGATION"/>
  <int value="6" label="CPMD_BAD_ORIGIN_PASSWORD_NO_LONGER_GENERATED"/>
  <int value="7" label="CPMD_BAD_ORIGIN_PRESAVE_GENERATED_PASSWORD"/>
  <int value="8"
      label="CPMD_BAD_ORIGIN_SAVE_GENERATION_FIELD_DETECTED_BY_CLASSIFIER"/>
</enum>

<enum name="BadSyncDataReason" type="int">
  <int value="0" label="Bad extension ID"/>
  <int value="1" label="Bad version"/>
  <int value="2" label="Bad update URL"/>
  <int value="3" label="No ExtensionSpecifics"/>
  <int value="4" label="Bad disable reasons"/>
</enum>

<enum name="BaseRelocationType" type="int">
  <int value="0" label="IMAGE_REL_BASED_ABSOLUTE"/>
  <int value="1" label="IMAGE_REL_BASED_HIGH"/>
  <int value="2" label="IMAGE_REL_BASED_LOW"/>
  <int value="3" label="IMAGE_REL_BASED_HIGHLOW"/>
  <int value="4" label="IMAGE_REL_BASED_HIGHADJ"/>
  <int value="5" label="IMAGE_REL_BASED_MACHINE_SPECIFIC_5"/>
  <int value="6" label="IMAGE_REL_BASED_RESERVED"/>
  <int value="7" label="IMAGE_REL_BASED_MACHINE_SPECIFIC_7"/>
  <int value="8" label="IMAGE_REL_BASED_MACHINE_SPECIFIC_8"/>
  <int value="9" label="IMAGE_REL_BASED_MACHINE_SPECIFIC_9"/>
  <int value="10" label="IMAGE_REL_BASED_DIR64"/>
</enum>

<enum name="BatteryInfoSampleResult" type="int">
  <int value="0" label="Read"/>
  <int value="1" label="Good"/>
  <int value="2" label="Bad"/>
</enum>

<enum name="BatteryStatusNumberBatteries" type="int">
  <int value="5" label="5+"/>
</enum>

<enum name="BatteryStatusNumberBatteriesWin" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="0"/>
  <int value="2" label="1+"/>
</enum>

<enum name="BiquadFilterType" type="int">
  <int value="0" label="lowpass"/>
  <int value="1" label="highpass"/>
  <int value="2" label="bandpass"/>
  <int value="3" label="lowshelf"/>
  <int value="4" label="highshelf"/>
  <int value="5" label="peaking"/>
  <int value="6" label="notch"/>
  <int value="7" label="allpass"/>
</enum>

<enum name="BlacklistedVideoCaptureDeviceNames" type="int">
  <int value="0" label="Google GTalk Camera Adapter"/>
  <int value="1" label="IP Camera"/>
  <int value="2" label="Cyberlink YouCam Webcam Splitter"/>
  <int value="3" label="EpocCam Smartphone Wireless Camera"/>
</enum>

<enum name="BlacklistSetup" type="int">
  <int value="0" label="Blacklist enabled"/>
  <int value="1" label="Blacklist ran successfully."/>
  <int value="2" label="Blacklist failed."/>
  <int value="3" label="Blacklist thunk setup failed."/>
  <int value="4" label="Blacklist interception failed."/>
  <int value="5" label="Blacklist disabled."/>
</enum>

<enum name="BlobBrokenReason" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="There is not enough memory to store this blob"/>
  <int value="2" label="File write failed"/>
  <int value="3" label="Source died in transit"/>
  <int value="4" label="Blob dereferenced while building"/>
  <int value="5" label="Referenced blob broken"/>
</enum>

<enum name="BlobStorageDiskSpaceAdjustment" type="int">
  <summary>
    When the blob storage system adjusts its max disk space, it can be frozen,
    adjusted (near min external disk availability), or normal. These values
    record the transitions between those states.
  </summary>
  <int value="0"
      label="Disk usage frozen because minimum disk availability was reached."/>
  <int value="1"
      label="Max disk usage reduced from a normal state because disk space is
             approaching minimum disk availability."/>
  <int value="2"
      label="Max disk usage increased from a frozen state to adjusted, as
             minimum external disk availability is still close."/>
  <int value="3"
      label="Max disk usage restored to desired limit after being adjusted or
             frozen."/>
</enum>

<enum name="BluetoothAvailability" type="int">
  <int value="0" label="Unexpected error"/>
  <int value="1" label="Not available"/>
  <int value="2" label="Available without LE"/>
  <int value="3" label="Available with LE"/>
  <int value="4" label="Available unknown LE"/>
</enum>

<enum name="BluetoothDiscoveryOutcomes" type="int">
  <int value="0" label="Success"/>
  <int value="1"
      label="Unknown error; used when we could add code to get more detail"/>
  <int value="2" label="Function not implemented on this platform"/>
  <int value="3" label="Adapter not present"/>
  <int value="4" label="Adapter removed since call chain started"/>
  <int value="5" label="Discovery session not active"/>
  <int value="6"
      label="Attempted to remove a discovery session with another pending
             request"/>
  <int value="7"
      label="Active BluetoothDiscoverySession wasn't found in
             BluetoothAdapter"/>
  <int value="8" label="Failed without a more specific reason"/>
  <int value="9" label="(BlueZ) DBus failed to find the adapter"/>
  <int value="10" label="(BlueZ) DBus didn't return an error code"/>
  <int value="11" label="(BlueZ) org.bluez.Error.InProgress"/>
  <int value="12" label="(BlueZ) org.bluez.Error.NotReady"/>
  <int value="13"
      label="(BlueZ) org.bluez.Error.Failed inside SetDiscoveryFilter, maybe
             indicating an unsupported transport"/>
  <int value="14"
      label="(BlueZ) org.bluez.Error.NotSupported inside SetDiscoverFilter,
             indicating a kernel that does not support Start Service
             Discovery."/>
</enum>

<enum name="BluetoothGATTErrors" type="int">
  <obsolete>
    As of 08/2015 this has been replaced with WebBluetoothGATTOperationOutcome.
  </obsolete>
  <int value="0" label="Unknown"/>
  <int value="1" label="Failed"/>
  <int value="2" label="In Progress"/>
  <int value="3" label="Not Paired"/>
</enum>

<enum name="BluetoothPairingMethod" type="int">
  <int value="0" label="No user interaction required"/>
  <int value="1" label="PIN Code requested from user"/>
  <int value="2" label="Passkey requested from user"/>
  <int value="3" label="PIN Code entered into device"/>
  <int value="4" label="Passkey entered into device"/>
  <int value="5" label="Passkey confirmed on both devices"/>
</enum>

<enum name="BluetoothPairingResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Connection already in-progress"/>
  <int value="2" label="Failed for non-specific reason"/>
  <int value="3" label="Authentication failed"/>
  <int value="4" label="Authentication canceled"/>
  <int value="5" label="Authentication rejected"/>
  <int value="6" label="Authentication timed out"/>
  <int value="7" label="Unsupported device"/>
  <int value="8" label="Unknown or unhandler error"/>
</enum>

<enum name="BluetoothStatus" type="int">
  <int value="0" label="Disabled"/>
  <int value="1" label="Enabled"/>
  <int value="2" label="Unknown"/>
</enum>

<enum name="BookmarkLaunchLocation" type="int">
  <int value="0" label="Attached bookmark bar"/>
  <int value="1" label="Detached (floating) bookmark bar"/>
  <int value="2" label="Bookmark bar subfolder"/>
  <int value="3" label="Context menu"/>
  <int value="4" label="Wrench menu"/>
  <int value="5" label="Bookmark manager"/>
  <int value="6" label="Omnibox suggestion"/>
</enum>

<enum name="BookmarksEntryPoint" type="int">
  <int value="0" label="Accelerator(Ctrl+D)"/>
  <int value="1" label="Gesture"/>
  <int value="2" label="Space or Enter"/>
  <int value="3" label="Mouse click"/>
</enum>

<enum name="BookmarksExperimentState" type="int">
  <int value="0" label="No experiment"/>
  <int value="1" label="Experiment enabled (sync)"/>
  <int value="2" label="Experiment disabled (sync opt out)"/>
  <int value="3" label="Experiment enabled (finch)"/>
  <int value="4" label="Experiment disabled (finch opt out)"/>
  <int value="5" label="Experiment disabled (finch but signed in)"/>
  <int value="6" label="Experiment enabled (sync unknown)"/>
</enum>

<enum name="BookmarksOpenAction" type="int">
  <int value="0" label="Open in current tab"/>
  <int value="1" label="Open in new tab"/>
  <int value="2" label="Open in incognito tab"/>
</enum>

<enum name="Boolean" type="int">
  <int value="0" label="False"/>
  <int value="1" label="True"/>
</enum>

<enum name="BooleanAbsent" type="int">
  <int value="0" label="Not Absent"/>
  <int value="1" label="Absent"/>
</enum>

<enum name="BooleanAccepted" type="int">
  <int value="0" label="Not Accepted"/>
  <int value="1" label="Accepted"/>
</enum>

<enum name="BooleanAccountChange" type="int">
  <int value="0" label="Service"/>
  <int value="1" label="Broadcast"/>
</enum>

<enum name="BooleanActivation" type="int">
  <int value="0" label="Deactivated"/>
  <int value="1" label="Activated"/>
</enum>

<enum name="BooleanActive" type="int">
  <int value="0" label="Inactive"/>
  <int value="1" label="Active"/>
</enum>

<enum name="BooleanAllowed" type="int">
  <int value="0" label="Not Allowed"/>
  <int value="1" label="Allowed"/>
</enum>

<enum name="BooleanAttempted" type="int">
  <int value="0" label="Not Attempted"/>
  <int value="1" label="Attempted"/>
</enum>

<enum name="BooleanAvailable" type="int">
  <int value="0" label="Not Available"/>
  <int value="1" label="Available"/>
</enum>

<enum name="BooleanAvoidedNullPointerException" type="int">
  <int value="0" label="Had NullPointerException"/>
  <int value="1" label="No exception"/>
</enum>

<enum name="BooleanBlocked" type="int">
  <int value="0" label="Not Blocked"/>
  <int value="1" label="Blocked"/>
</enum>

<enum name="BooleanBringToForegroundReason" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="Notification click (within last 5 seconds)"/>
</enum>

<enum name="BooleanBroken" type="int">
  <int value="0" label="Not Broken"/>
  <int value="1" label="Broken"/>
</enum>

<enum name="BooleanCacheHit" type="int">
  <int value="0" label="Miss"/>
  <int value="1" label="Hit"/>
</enum>

<enum name="BooleanCanceled" type="int">
  <int value="0" label="Not Canceled"/>
  <int value="1" label="Canceled"/>
</enum>

<enum name="BooleanCanCheckUrl" type="int">
  <int value="0" label="Skipped"/>
  <int value="1" label="Can check"/>
</enum>

<enum name="BooleanCanvasExpanded" type="int">
  <int value="0" label="Original canvas dimensions were sufficient"/>
  <int value="1" label="First image frame dimension were needed"/>
</enum>

<enum name="BooleanChanged" type="int">
  <int value="0" label="Not changed"/>
  <int value="1" label="Changed"/>
</enum>

<enum name="BooleanChecked" type="int">
  <int value="0" label="Not checked"/>
  <int value="1" label="Checked"/>
</enum>

<enum name="BooleanCleared" type="int">
  <int value="0" label="Not cleared"/>
  <int value="1" label="Cleared"/>
</enum>

<enum name="BooleanClicked" type="int">
  <int value="0" label="Not Clicked"/>
  <int value="1" label="Clicked"/>
</enum>

<enum name="BooleanCloned" type="int">
  <int value="0" label="Not cloned"/>
  <int value="1" label="Cloned"/>
</enum>

<enum name="BooleanCloseTimeout" type="int">
  <int value="0" label="Closed normally"/>
  <int value="1" label="Timed out"/>
</enum>

<enum name="BooleanCommonNameMatch" type="int">
  <int value="0" label="subjectAltName used"/>
  <int value="1" label="Common Name used"/>
</enum>

<enum name="BooleanCompatibilityMode" type="int">
  <int value="0" label="Not in compatibility mode"/>
  <int value="1" label="In compatibility mode"/>
</enum>

<enum name="BooleanCompleted" type="int">
  <int value="0" label="Not Completed"/>
  <int value="1" label="Completed"/>
</enum>

<enum name="BooleanConnected" type="int">
  <int value="0" label="Not Connected"/>
  <int value="1" label="Connected"/>
</enum>

<enum name="BooleanContainedMeCard" type="int">
  <int value="0" label="Did not contain me card."/>
  <int value="1" label="Contained me card."/>
</enum>

<enum name="BooleanCorrupt" type="int">
  <int value="0" label="Not Corrupt"/>
  <int value="1" label="Corrupt"/>
</enum>

<enum name="BooleanCouldFireImmediately" type="int">
  <int value="0" label="Could not fire immediately"/>
  <int value="1" label="Could fire immediately"/>
</enum>

<enum name="BooleanCovered" type="int">
  <int value="0" label="Not Covered"/>
  <int value="1" label="Covered"/>
</enum>

<enum name="BooleanCreated" type="int">
  <int value="0" label="Not created"/>
  <int value="1" label="Created"/>
</enum>

<enum name="BooleanCredentialsLost" type="int">
  <int value="0" label="Found Credentials"/>
  <int value="1" label="Missing Credentials"/>
</enum>

<enum name="BooleanDataReductionProxy" type="int">
  <int value="0" label="Not Data Reduction Proxy"/>
  <int value="1" label="Data Reduction Proxy"/>
</enum>

<enum name="BooleanDefault" type="int">
  <int value="0" label="Not Default"/>
  <int value="1" label="Default"/>
</enum>

<enum name="BooleanDeferred" type="int">
  <int value="0" label="Not deferred"/>
  <int value="1" label="Deferred"/>
</enum>

<enum name="BooleanDelete" type="int">
  <int value="0" label="Ignored"/>
  <int value="1" label="Deleted"/>
</enum>

<enum name="BooleanDeletedOrNot" type="int">
  <int value="0" label="Not deleted"/>
  <int value="1" label="Deleted"/>
</enum>

<enum name="BooleanDeprecatedCiphers" type="int">
  <int value="0" label="Deprecated ciphers disabled"/>
  <int value="1" label="Deprecated ciphers enabled"/>
</enum>

<enum name="BooleanDidEvict" type="int">
  <int value="0" label="Did not evict"/>
  <int value="1" label="Did evict"/>
</enum>

<enum name="BooleanDidFallBack" type="int">
  <int value="0" label="Did not fall back"/>
  <int value="1" label="Did fall back"/>
</enum>

<enum name="BooleanDidScalePage" type="int">
  <int value="0" label="User did not change scale"/>
  <int value="1" label="User did change scale"/>
</enum>

<enum name="BooleanDuplicate" type="int">
  <int value="0" label="Not Duplicate"/>
  <int value="1" label="Duplicate"/>
</enum>

<enum name="BooleanEmpty" type="int">
  <int value="0" label="Not Empty"/>
  <int value="1" label="Empty"/>
</enum>

<enum name="BooleanEnabled" type="int">
  <int value="0" label="Disabled"/>
  <int value="1" label="Enabled"/>
</enum>

<enum name="BooleanEqual" type="int">
  <int value="0" label="Not Equal"/>
  <int value="1" label="Equal"/>
</enum>

<enum name="BooleanError" type="int">
  <int value="0" label="No Error"/>
  <int value="1" label="Error"/>
</enum>

<enum name="BooleanEverWorked" type="int">
  <int value="0" label="Has never worked"/>
  <int value="1" label="Has worked at least once"/>
</enum>

<enum name="BooleanExpired" type="int">
  <int value="0" label="Unexpired"/>
  <int value="1" label="Expired"/>
</enum>

<enum name="BooleanForced" type="int">
  <int value="0" label="Not forced"/>
  <int value="1" label="Forced"/>
</enum>

<enum name="BooleanForceDisabled" type="int">
  <int value="0" label="Not Force Disabled"/>
  <int value="1" label="Force Disabled"/>
</enum>

<enum name="BooleanForeground" type="int">
  <int value="0" label="Background"/>
  <int value="1" label="Foreground"/>
</enum>

<enum name="BooleanForegroundNotification" type="int">
  <int value="0" label="Background Notification"/>
  <int value="1" label="Foreground Notification"/>
</enum>

<enum name="BooleanForemost" type="int">
  <int value="0" label="Tab was not foremost"/>
  <int value="1" label="Tab was foremost"/>
</enum>

<enum name="BooleanFormatChanged" type="int">
  <int value="0" label="Any Codec Initialized"/>
  <int value="1" label="Missing FORMAT_CHANGED message"/>
</enum>

<enum name="BooleanFormManager" type="int">
  <int value="0" label="Has Form Manager"/>
  <int value="1" label="Lacks Form Manager"/>
</enum>

<enum name="BooleanFrameAsOverlay" type="int">
  <int value="0" label="Frame was not allow_overlay"/>
  <int value="1" label="Frame was allow_overlay"/>
</enum>

<enum name="BooleanFromAddressBook" type="int">
  <int value="0" label="Not From Address Book"/>
  <int value="1" label="From Address Book"/>
</enum>

<enum name="BooleanFromHTTPCache" type="int">
  <int value="0" label="Downloaded from network"/>
  <int value="1" label="HTTP cache hit"/>
</enum>

<enum name="BooleanGAIAWebViewFlow" type="int">
  <int value="0" label="iframe-based flow"/>
  <int value="1" label="WebView-based flow"/>
</enum>

<enum name="BooleanHadAddress" type="int">
  <int value="0" label="Did not have address."/>
  <int value="1" label="Had address."/>
</enum>

<enum name="BooleanHadBlankText" type="int">
  <int value="0" label="Did not have blank text"/>
  <int value="1" label="Had blank text"/>
</enum>

<enum name="BooleanHadEmail" type="int">
  <int value="0" label="Did not have email."/>
  <int value="1" label="Had email."/>
</enum>

<enum name="BooleanHadName" type="int">
  <int value="0" label="Did not have name."/>
  <int value="1" label="Had name."/>
</enum>

<enum name="BooleanHadPhoneNumber" type="int">
  <int value="0" label="Did not have phone number."/>
  <int value="1" label="Had phone number."/>
</enum>

<enum name="BooleanHadPredictions" type="int">
  <int value="0" label="No predictions"/>
  <int value="1" label="Has predictions"/>
</enum>

<enum name="BooleanHandshakeConfirmed" type="int">
  <int value="0" label="Handshake not confirmed"/>
  <int value="1" label="Handshake confirmed"/>
</enum>

<enum name="BooleanHardwareAccelerated" type="int">
  <int value="0" label="Not hardware accelerated"/>
  <int value="1" label="Hardware accelerated"/>
</enum>

<enum name="BooleanHasCollapseKey" type="int">
  <int value="0" label="No collapse_key"/>
  <int value="1" label="Has collapse_key"/>
</enum>

<enum name="BooleanHasCrc" type="int">
  <int value="0" label="No CRC"/>
  <int value="1" label="Has CRC"/>
</enum>

<enum name="BooleanHasDistilledData" type="int">
  <int value="0" label="No distilled data"/>
  <int value="1" label="Has distilled data"/>
</enum>

<enum name="BooleanHasPath" type="int">
  <int value="0" label="No path"/>
  <int value="1" label="Has path"/>
</enum>

<enum name="BooleanHasPlayed" type="int">
  <int value="0" label="Never played"/>
  <int value="1" label="Played"/>
</enum>

<enum name="BooleanHasSeekPenalty" type="int">
  <int value="0" label="Has no seek penalty (e.g. is flash memory)"/>
  <int value="1" label="Has seek penalty (e.g. spinning disk)"/>
</enum>

<enum name="BooleanHit" type="int">
  <int value="0" label="Not_reached"/>
  <int value="1" label="Hit"/>
</enum>

<enum name="BooleanHttps" type="int">
  <int value="0" label="HTTP"/>
  <int value="1" label="HTTPS"/>
</enum>

<enum name="BooleanIgnored" type="int">
  <int value="0" label="Not ignored"/>
  <int value="1" label="Ignored"/>
</enum>

<enum name="BooleanInappropriateFallback" type="int">
  <int value="0" label="Handshake successful"/>
  <int value="1" label="inappropriate_fallback alert"/>
</enum>

<enum name="BooleanIncognito" type="int">
  <int value="0" label="Not Incognito"/>
  <int value="1" label="Incognito"/>
</enum>

<enum name="BooleanInForeground" type="int">
  <int value="0" label="Background"/>
  <int value="1" label="Foreground"/>
</enum>

<enum name="BooleanInvalid" type="int">
  <int value="0" label="Valid"/>
  <int value="1" label="Invalid"/>
</enum>

<enum name="BooleanIsLastSharedAppInfoRetrieved" type="int">
  <int value="0" label="Not retrieved"/>
  <int value="1" label="Retrieved"/>
</enum>

<enum name="BooleanIsMalware" type="int">
  <int value="0" label="Not malware"/>
  <int value="1" label="Is malware"/>
</enum>

<enum name="BooleanIsMobileOptimized" type="int">
  <int value="0" label="Not mobile optimized web page"/>
  <int value="1" label="Mobile optimized web page"/>
</enum>

<enum name="BooleanIsPhishing" type="int">
  <int value="0" label="Not phishing"/>
  <int value="1" label="Is phishing"/>
</enum>

<enum name="BooleanIsShared" type="int">
  <int value="0" label="Not Shared"/>
  <int value="1" label="Is Shared"/>
</enum>

<enum name="BooleanLoaded" type="int">
  <int value="0" label="Not loaded"/>
  <int value="1" label="Loaded"/>
</enum>

<enum name="BooleanMainFrame" type="int">
  <int value="0" label="Subframe"/>
  <int value="1" label="Main frame"/>
</enum>

<enum name="BooleanMatched" type="int">
  <int value="0" label="Not matched"/>
  <int value="1" label="Matched"/>
</enum>

<enum name="BooleanMatchedBadIp" type="int">
  <int value="0" label="Not matched"/>
  <int value="1" label="Matched"/>
</enum>

<enum name="BooleanMigrated" type="int">
  <int value="0" label="Not migrated"/>
  <int value="1" label="Migrated"/>
</enum>

<enum name="BooleanMissingFromDiskCache" type="int">
  <int value="0" label="Has data in disk cache"/>
  <int value="1" label="Missing data in disk cache"/>
</enum>

<enum name="BooleanNavPreloadFinishedFirst" type="int">
  <int value="0" label="Worker preparation finished first"/>
  <int value="1" label="Navigation preload response arrived first"/>
</enum>

<enum name="BooleanNeedsClearing" type="int">
  <int value="0" label="Doesn't need clearing"/>
  <int value="1" label="Needs to be clearred"/>
</enum>

<enum name="BooleanNullStream" type="int">
  <int value="0" label="Stream is not a nullptr"/>
  <int value="1" label="Stream is a nullptr"/>
</enum>

<enum name="BooleanNullVisitor" type="int">
  <int value="0" label="Connection's visitor is not a nullptr"/>
  <int value="1" label="Connection's visitor is a nullptr"/>
</enum>

<enum name="BooleanOnBattery" type="int">
  <int value="0" label="Not on battery"/>
  <int value="1" label="On Battery"/>
</enum>

<enum name="BooleanOrphan" type="int">
  <int value="0" label="Non-orphan"/>
  <int value="1" label="Orphan"/>
</enum>

<enum name="BooleanOverlaySupported" type="int">
  <int value="0" label="No overlays supported"/>
  <int value="1" label="Supports overlays"/>
</enum>

<enum name="BooleanOverlayUsage" type="int">
  <int value="0" label="No overlay"/>
  <int value="1" label="Overlay"/>
</enum>

<enum name="BooleanPanelWasOpen" type="int">
  <int value="0" label="Panel was closed"/>
  <int value="1" label="Panel was open"/>
</enum>

<enum name="BooleanPending" type="int">
  <int value="0" label="Decided"/>
  <int value="1" label="Pending"/>
</enum>

<enum name="BooleanPersisted" type="int">
  <int value="0" label="Not persisted"/>
  <int value="1" label="Persisted"/>
</enum>

<enum name="BooleanPinned" type="int">
  <int value="0" label="Not Pinned"/>
  <int value="1" label="Pinned"/>
</enum>

<enum name="BooleanPopulated" type="int">
  <int value="0" label="Not populated"/>
  <int value="1" label="Populated"/>
</enum>

<enum name="BooleanPreferred" type="int">
  <int value="0" label="Not Preferred"/>
  <int value="1" label="Preferred"/>
</enum>

<enum name="BooleanPresent" type="int">
  <int value="0" label="Not Present"/>
  <int value="1" label="Present"/>
</enum>

<enum name="BooleanProfileSignedIn" type="int">
  <int value="0" label="Profile was not Signed In"/>
  <int value="1" label="Profile was Signed In"/>
</enum>

<enum name="BooleanRaced" type="int">
  <int value="0" label="Did Not Race"/>
  <int value="1" label="Raced"/>
</enum>

<enum name="BooleanRebooted" type="int">
  <int value="0" label="Has not rebooted"/>
  <int value="1" label="Rebooted"/>
</enum>

<enum name="BooleanReceived" type="int">
  <int value="0" label="Not Received"/>
  <int value="1" label="Received"/>
</enum>

<enum name="BooleanRecorded" type="int">
  <int value="0" label="Not Recorded"/>
  <int value="1" label="Recorded"/>
</enum>

<enum name="BooleanRegistered" type="int">
  <int value="0" label="Not Registered"/>
  <int value="1" label="Registered"/>
</enum>

<enum name="BooleanRegistrationIsDuplicate" type="int">
  <int value="0" label="Registration is not a duplicate"/>
  <int value="1" label="Registration is a duplicate"/>
</enum>

<enum name="BooleanReported" type="int">
  <int value="0" label="Not reported"/>
  <int value="1" label="Reported"/>
</enum>

<enum name="BooleanRequested" type="int">
  <int value="0" label="Not requested"/>
  <int value="1" label="Requested"/>
</enum>

<enum name="BooleanRequired" type="int">
  <int value="0" label="Not required"/>
  <int value="1" label="Required"/>
</enum>

<enum name="BooleanReset" type="int">
  <int value="0" label="Not reset"/>
  <int value="1" label="Reset"/>
</enum>

<enum name="BooleanRestoredURL" type="int">
  <int value="0" label="Default frame src URL"/>
  <int value="1" label="Different URL"/>
</enum>

<enum name="BooleanReused" type="int">
  <int value="0" label="Not Reused"/>
  <int value="1" label="Reused"/>
</enum>

<enum name="BooleanRevoked" type="int">
  <int value="0" label="Not revoked"/>
  <int value="1" label="Revoked"/>
</enum>

<enum name="BooleanSecure" type="int">
  <int value="0" label="Insecure"/>
  <int value="1" label="Secure"/>
</enum>

<enum name="BooleanSelected" type="int">
  <int value="0" label="No selection"/>
  <int value="1" label="Selected"/>
</enum>

<enum name="BooleanShareGroup" type="int">
  <int value="0" label="No share group"/>
  <int value="1" label="Using share group"/>
</enum>

<enum name="BooleanShown" type="int">
  <int value="0" label="Not Shown"/>
  <int value="1" label="Shown"/>
</enum>

<enum name="BooleanSkipped" type="int">
  <int value="0" label="Not skipped"/>
  <int value="1" label="Skipped"/>
</enum>

<enum name="BooleanStale" type="int">
  <int value="0" label="Fresh"/>
  <int value="1" label="Stale"/>
</enum>

<enum name="BooleanStartedCompleted" type="int">
  <int value="0" label="Started"/>
  <int value="1" label="Completed"/>
</enum>

<enum name="BooleanStreamed" type="int">
  <int value="0" label="Not streamed"/>
  <int value="1" label="Streamed"/>
</enum>

<enum name="BooleanSuccess" type="int">
  <int value="0" label="Failure"/>
  <int value="1" label="Success"/>
</enum>

<enum name="BooleanSupported" type="int">
  <int value="0" label="Not Supported"/>
  <int value="1" label="Supported"/>
</enum>

<enum name="BooleanSuppressed" type="int">
  <int value="0" label="No suppressions"/>
  <int value="1" label="Suppressed"/>
</enum>

<enum name="BooleanTabDiscard" type="int">
  <int value="0" label="Memory OK, no discards"/>
  <int value="1" label="Memory low, tabs discarded"/>
</enum>

<enum name="BooleanTablet" type="int">
  <int value="0" label="Non tablet"/>
  <int value="1" label="Tablet"/>
</enum>

<enum name="BooleanTerminated" type="int">
  <int value="0" label="Not terminated"/>
  <int value="1" label="Terminated"/>
</enum>

<enum name="BooleanTiled" type="int">
  <int value="0" label="Not tiled"/>
  <int value="1" label="Tiled"/>
</enum>

<enum name="BooleanTimedOut" type="int">
  <int value="0" label="Did not time out"/>
  <int value="1" label="Timed out"/>
</enum>

<enum name="BooleanTooMany" type="int">
  <int value="0" label="Correct"/>
  <int value="1" label="Too many"/>
</enum>

<enum name="BooleanTranslate" type="int">
  <int value="0" label="Not Translated"/>
  <int value="1" label="Translated"/>
</enum>

<enum name="BooleanUnknown" type="int">
  <int value="0" label="Known"/>
  <int value="1" label="Unknown"/>
</enum>

<enum name="BooleanUsage" type="int">
  <int value="0" label="Not Used"/>
  <int value="1" label="Used"/>
</enum>

<enum name="BooleanValid" type="int">
  <int value="0" label="Invalid"/>
  <int value="1" label="Valid"/>
</enum>

<enum name="BooleanValidHashSum" type="int">
  <int value="0" label="Invalid hash sum"/>
  <int value="1" label="Valid hash sum"/>
</enum>

<enum name="BooleanValidKeyExists" type="int">
  <int value="0" label="No Valid Cached Key Found"/>
  <int value="1" label="Valid Cached Key Found"/>
</enum>

<enum name="BooleanVirtualContext" type="int">
  <int value="0" label="Real context encountered"/>
  <int value="1" label="Virtual context encountered"/>
</enum>

<enum name="BooleanVisible" type="int">
  <int value="0" label="Not visible"/>
  <int value="1" label="Visible"/>
</enum>

<enum name="BooleanWasFast" type="int">
  <int value="0" label="Slow"/>
  <int value="1" label="Fast"/>
</enum>

<enum name="BooleanWasted" type="int">
  <int value="0" label="Not wasted"/>
  <int value="1" label="Wasted"/>
</enum>

<enum name="BooleanWiped" type="int">
  <int value="0" label="Re-enabled"/>
  <int value="1" label="Wiped out"/>
</enum>

<enum name="BoringSSLReasonCode" type="int">
  <obsolete>
    Removed in March 2016.
  </obsolete>
  <details>
    See include/openssl/ssl.h at the corresponding BoringSSL revision for the
    corresponding values.
  </details>
</enum>

<enum name="BrokenAlternateProtocolLocation" type="int">
  <int value="0" label="HTTP_STREAM_FACTORY_IMPL_JOB"/>
  <int value="1" label="QUIC_STREAM_FACTORY"/>
  <int value="2" label="HTTP_STREAM_FACTORY_IMPL_JOB_ALT"/>
  <int value="3" label="HTTP_STREAM_FACTORY_IMPL_JOB_MAIN"/>
  <int value="4" label="QUIC_HTTP_STREAM"/>
</enum>

<enum name="BrotliFilterDecodingStatus" type="int">
  <int value="0" label="In progress"/>
  <int value="1" label="Done"/>
  <int value="2" label="Error"/>
</enum>

<enum name="BrotliFilterErrorCode" type="int">
  <int value="0" label="NO_ERROR"/>
  <int value="1" label="FORMAT_EXUBERANT_NIBBLE"/>
  <int value="2" label="FORMAT_RESERVED"/>
  <int value="3" label="FORMAT_EXUBERANT_META_NIBBLE"/>
  <int value="4" label="FORMAT_SIMPLE_HUFFMAN_ALPHABET"/>
  <int value="5" label="FORMAT_SIMPLE_HUFFMAN_SAME"/>
  <int value="6" label="FORMAT_CL_SPACE"/>
  <int value="7" label="FORMAT_HUFFMAN_SPACE"/>
  <int value="8" label="FORMAT_CONTEXT_MAP_REPEAT"/>
  <int value="9" label="FORMAT_BLOCK_LENGTH_1"/>
  <int value="10" label="FORMAT_BLOCK_LENGTH_2"/>
  <int value="11" label="FORMAT_TRANSFORM"/>
  <int value="12" label="FORMAT_DICTIONARY"/>
  <int value="13" label="FORMAT_WINDOW_BITS"/>
  <int value="14" label="FORMAT_PADDING_1"/>
  <int value="15" label="FORMAT_PADDING_2"/>
  <int value="16" label="Reserved (16)"/>
  <int value="17" label="Reserved (17)"/>
  <int value="18" label="Reserved (18)"/>
  <int value="19" label="Reserved (19)"/>
  <int value="20" label="Reserved (20)"/>
  <int value="21" label="ALLOC_CONTEXT_MODES"/>
  <int value="22" label="ALLOC_TREE_GROUPS"/>
  <int value="23" label="Reserved (23)"/>
  <int value="24" label="Reserved (24)"/>
  <int value="25" label="ALLOC_CONTEXT_MAP"/>
  <int value="26" label="ALLOC_RING_BUFFER_1"/>
  <int value="27" label="ALLOC_RING_BUFFER_2"/>
  <int value="28" label="Reserved (28)"/>
  <int value="29" label="Reserved (29)"/>
  <int value="30" label="ALLOC_BLOCK_TYPE_TREES"/>
  <int value="31" label="UNREACHABLE_1"/>
  <int value="32" label="UNREACHABLE_2"/>
  <int value="33" label="UNREACHABLE_3"/>
  <int value="34" label="UNREACHABLE_4"/>
  <int value="35" label="UNREACHABLE_5"/>
  <int value="36" label="UNREACHABLE_6"/>
</enum>

<enum name="BubbleType" type="int">
  <int value="0" label="Unknown Bubble"/>
  <int value="1" label="Mock Bubble"/>
  <int value="10" label="Extension Installed Bubble"/>
  <int value="20" label="Translate Bubble"/>
  <int value="30" label="Permissions Bubble"/>
  <int value="31" label="Chooser Permissions Bubble"/>
</enum>

<enum name="CacheResult" type="int">
  <int value="0" label="MEMORY_CACHE_HIT"/>
  <int value="1" label="DISK_CACHE_HIT"/>
  <int value="2" label="DISK_CACHE_ENTRY_CORRUPT"/>
  <int value="3" label="DISK_CACHE_ERROR"/>
  <int value="4" label="CACHE_MISS"/>
</enum>

<enum name="CALayerResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Unknown failure"/>
  <int value="2" label="IOSurface resource not overlay candidate"/>
  <int value="3" label="StreamVideo resource not overlay candidate"/>
  <int value="4" label="StreamVideo texture not identity"/>
  <int value="5" label="Texture resource not overlay candidate"/>
  <int value="6" label="Texture resource Y flipping not supported"/>
  <int value="7" label="Tile resource not overlay candidate"/>
  <int value="8" label="Unsupported quad blend mode"/>
  <int value="9" label="Unsupported quad transform"/>
  <int value="10" label="Unsupported quad clipping"/>
  <int value="11" label="DebugBorder quads not supported"/>
  <int value="12" label="PictureContent quads not supported"/>
  <int value="13" label="RenderPass quads not supported"/>
  <int value="14" label="SurfaceContent quads not supported"/>
  <int value="15" label="YUVVideo quads not supported"/>
  <int value="16"
      label="Different clip settings in a sorting context is not supported."/>
  <int value="17"
      label="Different vertex opacities for a single texture is not supported"/>
  <int value="18" label="RenderPassDrawQuad has a filter scale."/>
  <int value="19" label="RenderPassDrawQuad has background filters."/>
  <int value="20" label="RenderPassDrawQuad has a mask."/>
  <int value="21" label="RenderPassDrawQuad has unconvertable filters."/>
  <int value="22" label="RenderPassDrawQuad has a sorting context id."/>
  <int value="23" label="Too many RenderPassDrawQuads."/>
</enum>

<enum name="CanMakePaymentUsage" type="int">
  <int value="0" label="Used"/>
  <int value="1" label="Not Used"/>
</enum>

<enum name="CanvasContextType" type="int">
  <int value="0" label="2d"/>
  <int value="1" label="(obsolete) webkit-3d"/>
  <int value="2" label="experimental-webgl"/>
  <int value="3" label="webgl"/>
  <int value="4" label="webgl2"/>
  <int value="5" label="bitmaprenderer"/>
</enum>

<enum name="CanvasContextUsage" type="int">
  <int value="0" label="CanvasCreated"/>
  <int value="1" label="GPUAccelerated2DCanvasImageBufferCreated"/>
  <int value="2" label="DisplayList2DCanvasImageBufferCreated"/>
  <int value="3" label="Unaccelerated2DCanvasImageBufferCreated"/>
  <int value="4" label="Accelerated2DCanvasGPUContextLost"/>
  <int value="5" label="Unaccelerated2DCanvasImageBufferCreationFailed"/>
  <int value="6" label="GPUAccelerated2DCanvasImageBufferCreationFailed"/>
  <int value="7" label="DisplayList2DCanvasFallbackToRaster"/>
  <int value="8" label="GPUAccelerated2DCanvasDeferralDisabled"/>
  <int value="10" label="GPUAccelerated2DCanvasSurfaceCreationFailed"/>
</enum>

<enum name="CanvasDisplayListFallbackReason" type="int">
  <int value="0" label="Unknown (Should not be seen in production)."/>
  <int value="1" label="Canvas not cleared between consecutive frames."/>
  <int value="2"
      label="Canvas state stack too large (unbalanced save/restore?)."/>
  <int value="3" label="Direct pixel write."/>
  <int value="4" label="Flush for initial clear."/>
  <int value="5" label="Flush after drawing from a WebGL canvas."/>
  <int value="6" label="Acquiring snapshot for getImageData()."/>
  <int value="7"
      label="Acquiring snapshot for WebGL texture upload. (obsolete)"/>
  <int value="8"
      label="Acquiring snapshot for direct painting of canvas contents."/>
  <int value="9" label="Acquiring snapshot for toDataURL()"/>
  <int value="10" label="Acquiring snapshot for toBlob()."/>
  <int value="11" label="Acquiring snapshot for capturing to a stream."/>
  <int value="12" label="Acquiring snapshot for drawImage() source."/>
  <int value="13" label="Acquiring snapshot for createPattern()."/>
  <int value="14" label="Expensive overdraw heuristic."/>
  <int value="15" label="Drawing a texture-backed pattern."/>
  <int value="16" label="Drawing a video."/>
  <int value="17" label="Drawing an animated 2D canvas."/>
  <int value="18" label="Sub-pixel text anti-aliasing support."/>
  <int value="19" label="Drawing a texture-backed image."/>
  <int value="20"
      label="Calling
             OffscreenCanvasRenderingContext2D::transferToImageBitmap()."/>
  <int value="21"
      label="Acquiring snapshot in unit tests (should not be seen in
             production)."/>
  <int value="22" label="Acquiring snapshot for copiedImage()."/>
  <int value="23" label="Acquiring snapshot for drawImageIntoBuffer()."/>
  <int value="24" label="Acquiring snapshot for WebGL texImage2D()."/>
  <int value="25" label="Acquiring snapshot for WebGL texSubImage2D()."/>
  <int value="26" label="Acquiring snapshot for WebGL texImage3D()."/>
  <int value="27" label="Acquiring snapshot for WebGL texSubImage3D()."/>
  <int value="28" label="Acquiring snapshot for copy to clipboard."/>
  <int value="29" label="Acquiring snapshot for createImageBitmap()."/>
</enum>

<enum name="CanvasGPUAccelerated2DCanvasDisableDeferralReason" type="int">
  <int value="0" label="Unknown (Should not be seen in production)."/>
  <int value="1" label="Canvas not cleared between consecutive frames."/>
  <int value="2"
      label="Canvas state stack too large (unbalanced save/restore?)."/>
  <int value="3" label="Direct pixel write."/>
  <int value="4" label="Draw image of animated 2d canvas"/>
  <int value="5" label="Sub-pixel text anti-aliasing support (expect 0)"/>
</enum>

<enum name="CanvasHibernationEvent" type="int">
  <int value="0" label="HibernationScheduled"/>
  <int value="1"
      label="HibernationAbortedDueToDestructionWhileHibernatePending"/>
  <int value="2" label="HibernationAbortedDueToPendingDestruction"/>
  <int value="3" label="HibernationAbortedDueToVisibilityChange"/>
  <int value="4" label="HibernationAbortedDueGpuContextLoss"/>
  <int value="5" label="HibernationAbortedDueToSwitchToUnacceleratedRendering"/>
  <int value="6" label="HibernationAbortedDueToAllocationFailure"/>
  <int value="7" label="HibernationEndedNormally"/>
  <int value="8" label="HibernationEndedWithSwitchToBackgroundRendering"/>
  <int value="9" label="HibernationEndedWithFallbackToSW"/>
  <int value="10" label="HibernationEndedWithTeardown"/>
  <int value="11" label="HibernationAbortedBecauseNoSurface"/>
</enum>

<enum name="CAPSUpdaterStep" type="int">
  <obsolete>
    Deprecated 08/2016 with removal of Chrome Crash Service component.
  </obsolete>
  <int value="0" label="CAPS component ready"/>
  <int value="1" label="CAPS component missing"/>
  <int value="2" label="CAPS Service failed to start"/>
  <int value="3" label="CAPS Service started"/>
</enum>

<enum name="CaptivePortalBlockingPageEvent" type="int">
  <int value="0" label="SHOW_ALL"/>
  <int value="1" label="OPEN_LOGIN_PAGE"/>
</enum>

<enum name="CaptivePortalDetectResult" type="int">
  <int value="0" label="INTERNET_CONNECTED"/>
  <int value="1" label="NO_RESPONSE"/>
  <int value="2" label="BEHIND_CAPTIVE_PORTAL"/>
  <int value="3" label="NO_RESPONSE_HTTPS_LANDING_URL"/>
  <int value="4" label="BEHIND_CAPTIVE_PORTAL_HTTPS_LANDING_URL"/>
  <int value="5" label="NO_RESPONSE_IP_ADDRESS"/>
  <int value="6" label="BEHIND_CAPTIVE_PORTAL_IP_ADDRESS"/>
  <int value="7" label="NO_RESPONSE_HTTPS_LANDING_URL_IP_ADDRESS"/>
  <int value="8" label="BEHIND_CAPTIVE_PORTAL_HTTPS_LANDING_URL_IP_ADDRESS"/>
</enum>

<enum name="CaptivePortalNotificationStatus" type="int">
  <int value="0" label="DISPLAYED"/>
  <int value="1" label="ERROR"/>
</enum>

<enum name="CaptivePortalNotificationUserAction" type="int">
  <int value="0" label="CLICKED"/>
  <int value="1" label="CLOSED"/>
  <int value="2" label="IGNORED"/>
</enum>

<enum name="CaptivePortalStatus" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="OFFLINE"/>
  <int value="2" label="ONLINE"/>
  <int value="3" label="PORTAL"/>
  <int value="4" label="PROXY_AUTH_REQUIRED"/>
</enum>

<enum name="CaptureApiMac" type="int">
  <obsolete>
    Deprecated as of 04/2016.
  </obsolete>
  <int value="0" label="QTKit used due to Mac OS X previous to 10.7.x Lion"/>
  <int value="1" label="QTKit forced, on OS X supporting AVFoundation"/>
  <int value="2" label="QTKit used due to no flag specified"/>
  <int value="3" label="QTKit used: AVFoundation enabled but failed loading"/>
  <int value="4" label="AVFoundation is enabled and is loaded succesfully"/>
</enum>

<enum name="CapturePixelFormat" type="int">
  <obsolete>
    Deprecated as of 08/2015.
  </obsolete>
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="I420"/>
  <int value="2" label="YUY2"/>
  <int value="3" label="UYVY"/>
  <int value="4" label="RGB24"/>
  <int value="5" label="ARGB"/>
  <int value="6" label="MJPEG"/>
  <int value="7" label="NV21"/>
  <int value="8" label="YV12"/>
  <int value="9" label="TEXTURE"/>
</enum>

<enum name="CaptureStartupResult" type="int">
  <obsolete>
    Deprecated as of 02/2017.
  </obsolete>
  <int value="0" label="No data callback"/>
  <int value="1" label="OK"/>
  <int value="2" label="Failed to create high latency stream"/>
  <int value="3" label="Failed to open high latency stream"/>
  <int value="4" label="Never received any data"/>
  <int value="5" label="No data received and capture stopped within 500ms"/>
  <int value="6" label="Failed to create low latency stream"/>
  <int value="7" label="Failed to open low latency stream"/>
</enum>

<enum name="CastCertificateStatus" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="InvalidCrl"/>
  <int value="2" label="CertVerificationFailed"/>
  <int value="3" label="CertRevoked"/>
</enum>

<enum name="CastNonceStatus" type="int">
  <int value="0" label="Match"/>
  <int value="1" label="Mismatch"/>
  <int value="2" label="Missing"/>
</enum>

<enum name="CastOverlayEvents" type="int">
  <int value="0" label="Created"/>
  <int value="1" label="Shown"/>
  <int value="2" label="Clicked"/>
</enum>

<enum name="CastPlayBackState" type="int">
  <int value="0" label="YT_PLAYER_SUCCESS"/>
  <int value="1" label="YT_PLAYER_FAILURE"/>
  <int value="2" label="DEFAULT_PLAYER_SUCCESS"/>
  <int value="3" label="DEFAULT_PLAYER_FAILURE"/>
</enum>

<enum name="CatSixtyFour" type="int">
  <int value="0" label="Saber-Toothed Cat (&lt;10.6), 32-bit (?)"/>
  <int value="1" label="Saber-Toothed Cat (&lt;10.6), 64-bit (?)"/>
  <int value="2" label="Snow Leopard (10.6), 32-bit"/>
  <int value="3" label="Snow Leopard (10.6), 64-bit"/>
  <int value="4" label="Lion (10.7), 32-bit (?)"/>
  <int value="5" label="Lion (10.7), 64-bit"/>
  <int value="6" label="Mountain Lion (10.8), 32-bit (?)"/>
  <int value="7" label="Mountain Lion (10.8), 64-bit"/>
  <int value="8" label="Mavericks (10.9), 32-bit (?)"/>
  <int value="9" label="Mavericks (10.9), 64-bit"/>
  <int value="10" label="Saber-Toothed Cat (&lt;10.6), 8-bit (?)"/>
  <int value="11" label="Snow Leopard (10.6), 8-bit (?)"/>
  <int value="12" label="Lion (10.7), 8-bit (?)"/>
  <int value="13" label="Mountain Lion (10.8), 8-bit (?)"/>
  <int value="14" label="Mavericks (10.9), 8-bit (?)"/>
  <int value="15" label="Yosemite (10.10), 32-bit (?)"/>
  <int value="16" label="Yosemite (10.10), 64-bit"/>
  <int value="17" label="Yosemite (10.10), 8-bit (?)"/>
  <int value="18" label="FutureCat (&gt;10.10), 32-bit (?)"/>
  <int value="19" label="FutureCat (&gt;10.10), 64-bit"/>
  <int value="20" label="FutureCat (&gt;10.10), 8-bit (?)"/>
</enum>

<enum name="CdmPromiseResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="NotSupportedError"/>
  <int value="2" label="InvalidStateError"/>
  <int value="3" label="InvalidAccessError"/>
  <int value="4" label="QuotaExceededError"/>
  <int value="5" label="UnknownError"/>
  <int value="6" label="ClientError"/>
  <int value="7" label="OutputError"/>
</enum>

<enum name="CertificateChainPosition" type="int">
  <obsolete>
    Deprecated as of 01/2016. CertCacheTrial has been removed.
    https://crbug.com/522312
  </obsolete>
  <int value="0" label="Root Certificate"/>
</enum>

<enum name="CertificateTransparencyDnsQueryStatus" type="int">
  <int value="0" label="SUCCESS"/>
  <int value="1" label="FAILED_UNKNOWN"/>
  <int value="2" label="FAILED_NAME_RESOLUTION"/>
  <int value="3" label="FAILED_LEAF_INDEX_MALFORMED"/>
  <int value="4" label="FAILED_INCLUSION_PROOF_MALFORMED"/>
</enum>

<enum name="ChannelLayout" type="int">
  <int value="0" label="CHANNEL_LAYOUT_NONE"/>
  <int value="1" label="CHANNEL_LAYOUT_UNSUPPORTED"/>
  <int value="2" label="CHANNEL_LAYOUT_MONO"/>
  <int value="3" label="CHANNEL_LAYOUT_STEREO"/>
  <int value="4" label="CHANNEL_LAYOUT_2_1"/>
  <int value="5" label="CHANNEL_LAYOUT_SURROUND"/>
  <int value="6" label="CHANNEL_LAYOUT_4POINT0"/>
  <int value="7" label="CHANNEL_LAYOUT_2_2"/>
  <int value="8" label="CHANNEL_LAYOUT_QUAD"/>
  <int value="9" label="CHANNEL_LAYOUT_5POINT0"/>
  <int value="10" label="CHANNEL_LAYOUT_5POINT1"/>
  <int value="11" label="CHANNEL_LAYOUT_5POINT0_BACK"/>
  <int value="12" label="CHANNEL_LAYOUT_5POINT1_BACK"/>
  <int value="13" label="CHANNEL_LAYOUT_7POINT0"/>
  <int value="14" label="CHANNEL_LAYOUT_7POINT1"/>
  <int value="15" label="CHANNEL_LAYOUT_7POINT1_WIDE"/>
  <int value="16" label="CHANNEL_LAYOUT_STEREO_DOWNMIX"/>
  <int value="17" label="CHANNEL_LAYOUT_2POINT1"/>
  <int value="18" label="CHANNEL_LAYOUT_3_1"/>
  <int value="19" label="CHANNEL_LAYOUT_4_1"/>
  <int value="20" label="CHANNEL_LAYOUT_6_0"/>
  <int value="21" label="CHANNEL_LAYOUT_6_0_FRONT"/>
  <int value="22" label="CHANNEL_LAYOUT_HEXAGONAL"/>
  <int value="23" label="CHANNEL_LAYOUT_6_1"/>
  <int value="24" label="CHANNEL_LAYOUT_6_1_BACK"/>
  <int value="25" label="CHANNEL_LAYOUT_6_1_FRONT"/>
  <int value="26" label="CHANNEL_LAYOUT_7_0_FRONT"/>
  <int value="27" label="CHANNEL_LAYOUT_7_1_WIDE_BACK"/>
  <int value="28" label="CHANNEL_LAYOUT_OCTAGONAL"/>
  <int value="29" label="CHANNEL_LAYOUT_DISCRETE"/>
</enum>

<enum name="CheckCRCResult" type="int">
  <int value="0" label="Stream was never read to end"/>
  <int value="1" label="CRC check not done"/>
  <int value="2" label="CRC check done"/>
  <int value="3" label="Stream was never read at all"/>
</enum>

<enum name="ChromeChannelForHistogram" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="CANARY"/>
  <int value="2" label="DEV"/>
  <int value="3" label="BETA"/>
  <int value="4" label="STABLE"/>
</enum>

<enum name="ChromeDownloadCountType" type="int">
  <int value="0" label="Initiated by Navigation (Obsolete)"/>
  <int value="1" label="Initiated by Context Menu (Obsolete)"/>
  <int value="2" label="Initiated by WebStore Installer (Obsolete)"/>
  <int value="3" label="Initiated by ImageBurner (Obsolete)"/>
  <int value="4" label="Blocked by Throttling"/>
</enum>

<enum name="ChromeDownloadSource" type="int">
  <int value="0" label="Initiated by Navigation"/>
  <int value="1" label="Initiated by Context Menu"/>
  <int value="2" label="Initiated by WebStore Installer"/>
  <int value="3" label="Initiated by ImageBurner"/>
  <int value="4" label="Initiated by Plugin Installer"/>
</enum>

<enum name="ChromeHomeOpenReason" type="int">
  <int value="0" label="Swipe"/>
  <int value="1" label="Omnibox Focus"/>
  <int value="2" label="New Tab Creation"/>
</enum>

<enum name="ChromeNotifierServiceActionType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="First service enabled"/>
  <int value="2" label="First service disabled"/>
</enum>

<enum name="ChromeOSColorProfile" type="int">
  <summary>See ui/display/display_constants.h for the variation.</summary>
  <int value="0" label="Standard"/>
  <int value="1" label="Dynamic"/>
  <int value="2" label="Movie"/>
  <int value="3" label="Reading"/>
</enum>

<enum name="ChromeOSMachineIdReason" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Network"/>
  <int value="2" label="Periodic"/>
</enum>

<enum name="ChromeOSPlatformVerificationExpiryStatus" type="int">
  <summary>
    Possible results of a platform verification expiry check. See
    chrome/browser/chromeos/attestation/platform_verification.cc.
  </summary>
  <int value="0" label="Ok"/>
  <int value="1" label="Expiring Soon"/>
  <int value="2" label="Expired"/>
  <int value="3" label="Invalid PEM Chain"/>
  <int value="4" label="Invalid X.509"/>
</enum>

<enum name="ChromeOSPlatformVerificationResult" type="int">
  <summary>
    Possible results of a platform verification attempt. See
    chrome/browser/chromeos/attestation/platform_verification.h.
  </summary>
  <int value="0" label="Success"/>
  <int value="1" label="Internal Error"/>
  <int value="2" label="Platform Not Verified"/>
  <int value="3" label="Rejected by User"/>
  <int value="4" label="Rejected by Policy"/>
  <int value="5" label="Timeout"/>
</enum>

<enum name="ChromeOSUserImageId" type="int">
  <summary>
    Indices of the default images as defined in
    chrome/browser/chromeos/login/default_user_images.cc. The last three values
    are for taken photo, downloaded file and the image previously used by user.
  </summary>
  <int value="0" label="Default, Beaker"/>
  <int value="1" label="Default, Bee"/>
  <int value="2" label="Default, Briefcase"/>
  <int value="3" label="Default, Circles"/>
  <int value="4" label="Default, Cloud"/>
  <int value="5" label="Default, Cupcake"/>
  <int value="6" label="Default, Day"/>
  <int value="7" label="Default, Flower"/>
  <int value="8" label="Default, Globe"/>
  <int value="9" label="Default, Hot air"/>
  <int value="10" label="Default, Ladybug"/>
  <int value="11" label="Default, Leaf"/>
  <int value="12" label="Default, Night"/>
  <int value="13" label="Default, Plane"/>
  <int value="14" label="Default, Robot body"/>
  <int value="15" label="Default, Robot head"/>
  <int value="16" label="Default, Toolbox"/>
  <int value="17" label="Default, User color"/>
  <int value="18" label="Default, User enterprise"/>
  <int value="19" label="Photo taken"/>
  <int value="20" label="Downloaded file"/>
  <int value="21" label="Old image"/>
  <int value="22" label="Profile image"/>
</enum>

<enum name="ChromiumAndroidLinkerBrowserState" type="int">
  <int value="0" label="Normal, Random Address Load"/>
  <int value="1" label="Low memory, Fixed Address Load Success"/>
  <int value="2" label="Low memory, Fixed Address Load Failure"/>
</enum>

<enum name="ChromiumAndroidLinkerRendererState" type="int">
  <int value="0" label="Fixed Address Load Success"/>
  <int value="1" label="Fixed Address Load Failure"/>
  <int value="2" label="Fixed Address Load Not Attempted"/>
</enum>

<enum name="CLD2LanguageCode" type="int">
  <summary>
    See Language in third_party/cld_2/src/internal/generated_language.h.
  </summary>
  <int value="0" label="ENGLISH"/>
  <int value="1" label="DANISH"/>
  <int value="2" label="DUTCH"/>
  <int value="3" label="FINNISH"/>
  <int value="4" label="FRENCH"/>
  <int value="5" label="GERMAN"/>
  <int value="6" label="HEBREW"/>
  <int value="7" label="ITALIAN"/>
  <int value="8" label="JAPANESE"/>
  <int value="9" label="KOREAN"/>
  <int value="10" label="NORWEGIAN"/>
  <int value="11" label="POLISH"/>
  <int value="12" label="PORTUGUESE"/>
  <int value="13" label="RUSSIAN"/>
  <int value="14" label="SPANISH"/>
  <int value="15" label="SWEDISH"/>
  <int value="16" label="CHINESE"/>
  <int value="17" label="CZECH"/>
  <int value="18" label="GREEK"/>
  <int value="19" label="ICELANDIC"/>
  <int value="20" label="LATVIAN"/>
  <int value="21" label="LITHUANIAN"/>
  <int value="22" label="ROMANIAN"/>
  <int value="23" label="HUNGARIAN"/>
  <int value="24" label="ESTONIAN"/>
  <int value="25" label="TG_UNKNOWN_LANGUAGE"/>
  <int value="26" label="UNKNOWN_LANGUAGE"/>
  <int value="27" label="BULGARIAN"/>
  <int value="28" label="CROATIAN"/>
  <int value="29" label="SERBIAN"/>
  <int value="30" label="IRISH"/>
  <int value="31" label="GALICIAN"/>
  <int value="32" label="TAGALOG"/>
  <int value="33" label="TURKISH"/>
  <int value="34" label="UKRAINIAN"/>
  <int value="35" label="HINDI"/>
  <int value="36" label="MACEDONIAN"/>
  <int value="37" label="BENGALI"/>
  <int value="38" label="INDONESIAN"/>
  <int value="39" label="LATIN"/>
  <int value="40" label="MALAY"/>
  <int value="41" label="MALAYALAM"/>
  <int value="42" label="WELSH"/>
  <int value="43" label="NEPALI"/>
  <int value="44" label="TELUGU"/>
  <int value="45" label="ALBANIAN"/>
  <int value="46" label="TAMIL"/>
  <int value="47" label="BELARUSIAN"/>
  <int value="48" label="JAVANESE"/>
  <int value="49" label="OCCITAN"/>
  <int value="50" label="URDU"/>
  <int value="51" label="BIHARI"/>
  <int value="52" label="GUJARATI"/>
  <int value="53" label="THAI"/>
  <int value="54" label="ARABIC"/>
  <int value="55" label="CATALAN"/>
  <int value="56" label="ESPERANTO"/>
  <int value="57" label="BASQUE"/>
  <int value="58" label="INTERLINGUA"/>
  <int value="59" label="KANNADA"/>
  <int value="60" label="PUNJABI"/>
  <int value="61" label="SCOTS_GAELIC"/>
  <int value="62" label="SWAHILI"/>
  <int value="63" label="SLOVENIAN"/>
  <int value="64" label="MARATHI"/>
  <int value="65" label="MALTESE"/>
  <int value="66" label="VIETNAMESE"/>
  <int value="67" label="FRISIAN"/>
  <int value="68" label="SLOVAK"/>
  <int value="69" label="CHINESE_T"/>
  <int value="70" label="FAROESE"/>
  <int value="71" label="SUNDANESE"/>
  <int value="72" label="UZBEK"/>
  <int value="73" label="AMHARIC"/>
  <int value="74" label="AZERBAIJANI"/>
  <int value="75" label="GEORGIAN"/>
  <int value="76" label="TIGRINYA"/>
  <int value="77" label="PERSIAN"/>
  <int value="78" label="BOSNIAN"/>
  <int value="79" label="SINHALESE"/>
  <int value="80" label="NORWEGIAN_N"/>
  <int value="81" label="X_81"/>
  <int value="82" label="X_82"/>
  <int value="83" label="XHOSA"/>
  <int value="84" label="ZULU"/>
  <int value="85" label="GUARANI"/>
  <int value="86" label="SESOTHO"/>
  <int value="87" label="TURKMEN"/>
  <int value="88" label="KYRGYZ"/>
  <int value="89" label="BRETON"/>
  <int value="90" label="TWI"/>
  <int value="91" label="YIDDISH"/>
  <int value="92" label="X_92"/>
  <int value="93" label="SOMALI"/>
  <int value="94" label="UIGHUR"/>
  <int value="95" label="KURDISH"/>
  <int value="96" label="MONGOLIAN"/>
  <int value="97" label="ARMENIAN"/>
  <int value="98" label="LAOTHIAN"/>
  <int value="99" label="SINDHI"/>
  <int value="100" label="RHAETO_ROMANCE"/>
  <int value="101" label="AFRIKAANS"/>
  <int value="102" label="LUXEMBOURGISH"/>
  <int value="103" label="BURMESE"/>
  <int value="104" label="KHMER"/>
  <int value="105" label="TIBETAN"/>
  <int value="106" label="DHIVEHI"/>
  <int value="107" label="CHEROKEE"/>
  <int value="108" label="SYRIAC"/>
  <int value="109" label="LIMBU"/>
  <int value="110" label="ORIYA"/>
  <int value="111" label="ASSAMESE"/>
  <int value="112" label="CORSICAN"/>
  <int value="113" label="INTERLINGUE"/>
  <int value="114" label="KAZAKH"/>
  <int value="115" label="LINGALA"/>
  <int value="116" label="X_116"/>
  <int value="117" label="PASHTO"/>
  <int value="118" label="QUECHUA"/>
  <int value="119" label="SHONA"/>
  <int value="120" label="TAJIK"/>
  <int value="121" label="TATAR"/>
  <int value="122" label="TONGA"/>
  <int value="123" label="YORUBA"/>
  <int value="124" label="X_124"/>
  <int value="125" label="X_125"/>
  <int value="126" label="X_126"/>
  <int value="127" label="X_127"/>
  <int value="128" label="MAORI"/>
  <int value="129" label="WOLOF"/>
  <int value="130" label="ABKHAZIAN"/>
  <int value="131" label="AFAR"/>
  <int value="132" label="AYMARA"/>
  <int value="133" label="BASHKIR"/>
  <int value="134" label="BISLAMA"/>
  <int value="135" label="DZONGKHA"/>
  <int value="136" label="FIJIAN"/>
  <int value="137" label="GREENLANDIC"/>
  <int value="138" label="HAUSA"/>
  <int value="139" label="HAITIAN_CREOLE"/>
  <int value="140" label="INUPIAK"/>
  <int value="141" label="INUKTITUT"/>
  <int value="142" label="KASHMIRI"/>
  <int value="143" label="KINYARWANDA"/>
  <int value="144" label="MALAGASY"/>
  <int value="145" label="NAURU"/>
  <int value="146" label="OROMO"/>
  <int value="147" label="RUNDI"/>
  <int value="148" label="SAMOAN"/>
  <int value="149" label="SANGO"/>
  <int value="150" label="SANSKRIT"/>
  <int value="151" label="SISWANT"/>
  <int value="152" label="TSONGA"/>
  <int value="153" label="TSWANA"/>
  <int value="154" label="VOLAPUK"/>
  <int value="155" label="ZHUANG"/>
  <int value="156" label="KHASI"/>
  <int value="157" label="SCOTS"/>
  <int value="158" label="GANDA"/>
  <int value="159" label="MANX"/>
  <int value="160" label="MONTENEGRIN"/>
  <int value="161" label="AKAN"/>
  <int value="162" label="IGBO"/>
  <int value="163" label="MAURITIAN_CREOLE"/>
  <int value="164" label="HAWAIIAN"/>
  <int value="165" label="CEBUANO"/>
  <int value="166" label="EWE"/>
  <int value="167" label="GA"/>
  <int value="168" label="HMONG"/>
  <int value="169" label="KRIO"/>
  <int value="170" label="LOZI"/>
  <int value="171" label="LUBA_LULUA"/>
  <int value="172" label="LUO_KENYA_AND_TANZANIA"/>
  <int value="173" label="NEWARI"/>
  <int value="174" label="NYANJA"/>
  <int value="175" label="OSSETIAN"/>
  <int value="176" label="PAMPANGA"/>
  <int value="177" label="PEDI"/>
  <int value="178" label="RAJASTHANI"/>
  <int value="179" label="SESELWA"/>
  <int value="180" label="TUMBUKA"/>
  <int value="181" label="VENDA"/>
  <int value="182" label="WARAY_PHILIPPINES"/>
  <int value="183" label="X_183"/>
  <int value="184" label="X_184"/>
  <int value="185" label="X_185"/>
  <int value="186" label="X_186"/>
  <int value="187" label="X_187"/>
  <int value="188" label="X_188"/>
  <int value="189" label="X_189"/>
  <int value="190" label="X_190"/>
  <int value="191" label="X_191"/>
  <int value="192" label="X_192"/>
  <int value="193" label="X_193"/>
  <int value="194" label="X_194"/>
  <int value="195" label="X_195"/>
  <int value="196" label="X_196"/>
  <int value="197" label="X_197"/>
  <int value="198" label="X_198"/>
  <int value="199" label="X_199"/>
  <int value="200" label="X_200"/>
  <int value="201" label="X_201"/>
  <int value="202" label="X_202"/>
  <int value="203" label="X_203"/>
  <int value="204" label="X_204"/>
  <int value="205" label="X_205"/>
  <int value="206" label="X_206"/>
  <int value="207" label="X_207"/>
  <int value="208" label="X_208"/>
  <int value="209" label="X_209"/>
  <int value="210" label="X_210"/>
  <int value="211" label="X_211"/>
  <int value="212" label="X_212"/>
  <int value="213" label="X_213"/>
  <int value="214" label="X_214"/>
  <int value="215" label="X_215"/>
  <int value="216" label="X_216"/>
  <int value="217" label="X_217"/>
  <int value="218" label="X_218"/>
  <int value="219" label="X_219"/>
  <int value="220" label="X_220"/>
  <int value="221" label="X_221"/>
  <int value="222" label="X_222"/>
  <int value="223" label="X_223"/>
  <int value="224" label="X_224"/>
  <int value="225" label="X_225"/>
  <int value="226" label="X_226"/>
  <int value="227" label="X_227"/>
  <int value="228" label="X_228"/>
  <int value="229" label="X_229"/>
  <int value="230" label="X_230"/>
  <int value="231" label="X_231"/>
  <int value="232" label="X_232"/>
  <int value="233" label="X_233"/>
  <int value="234" label="X_234"/>
  <int value="235" label="X_235"/>
  <int value="236" label="X_236"/>
  <int value="237" label="X_237"/>
  <int value="238" label="X_238"/>
  <int value="239" label="X_239"/>
  <int value="240" label="X_240"/>
  <int value="241" label="X_241"/>
  <int value="242" label="X_242"/>
  <int value="243" label="X_243"/>
  <int value="244" label="X_244"/>
  <int value="245" label="X_245"/>
  <int value="246" label="X_246"/>
  <int value="247" label="X_247"/>
  <int value="248" label="X_248"/>
  <int value="249" label="X_249"/>
  <int value="250" label="X_250"/>
  <int value="251" label="X_251"/>
  <int value="252" label="X_252"/>
  <int value="253" label="X_253"/>
  <int value="254" label="X_254"/>
  <int value="255" label="X_255"/>
  <int value="256" label="X_256"/>
  <int value="257" label="X_257"/>
  <int value="258" label="X_258"/>
  <int value="259" label="X_259"/>
  <int value="260" label="X_260"/>
  <int value="261" label="X_261"/>
  <int value="262" label="X_262"/>
  <int value="263" label="X_263"/>
  <int value="264" label="X_264"/>
  <int value="265" label="X_265"/>
  <int value="266" label="X_266"/>
  <int value="267" label="X_267"/>
  <int value="268" label="X_268"/>
  <int value="269" label="X_269"/>
  <int value="270" label="X_270"/>
  <int value="271" label="X_271"/>
  <int value="272" label="X_272"/>
  <int value="273" label="X_273"/>
  <int value="274" label="X_274"/>
  <int value="275" label="X_275"/>
  <int value="276" label="X_276"/>
  <int value="277" label="X_277"/>
  <int value="278" label="X_278"/>
  <int value="279" label="X_279"/>
  <int value="280" label="X_280"/>
  <int value="281" label="X_281"/>
  <int value="282" label="X_282"/>
  <int value="283" label="X_283"/>
  <int value="284" label="X_284"/>
  <int value="285" label="X_285"/>
  <int value="286" label="X_286"/>
  <int value="287" label="X_287"/>
  <int value="288" label="X_288"/>
  <int value="289" label="X_289"/>
  <int value="290" label="X_290"/>
  <int value="291" label="X_291"/>
  <int value="292" label="X_292"/>
  <int value="293" label="X_293"/>
  <int value="294" label="X_294"/>
  <int value="295" label="X_295"/>
  <int value="296" label="X_296"/>
  <int value="297" label="X_297"/>
  <int value="298" label="X_298"/>
  <int value="299" label="X_299"/>
  <int value="300" label="X_300"/>
  <int value="301" label="X_301"/>
  <int value="302" label="X_302"/>
  <int value="303" label="X_303"/>
  <int value="304" label="X_304"/>
  <int value="305" label="X_305"/>
  <int value="306" label="X_306"/>
  <int value="307" label="X_307"/>
  <int value="308" label="X_308"/>
  <int value="309" label="X_309"/>
  <int value="310" label="X_310"/>
  <int value="311" label="X_311"/>
  <int value="312" label="X_312"/>
  <int value="313" label="X_313"/>
  <int value="314" label="X_314"/>
  <int value="315" label="X_315"/>
  <int value="316" label="X_316"/>
  <int value="317" label="X_317"/>
  <int value="318" label="X_318"/>
  <int value="319" label="X_319"/>
  <int value="320" label="X_320"/>
  <int value="321" label="X_321"/>
  <int value="322" label="X_322"/>
  <int value="323" label="X_323"/>
  <int value="324" label="X_324"/>
  <int value="325" label="X_325"/>
  <int value="326" label="X_326"/>
  <int value="327" label="X_327"/>
  <int value="328" label="X_328"/>
  <int value="329" label="X_329"/>
  <int value="330" label="X_330"/>
  <int value="331" label="X_331"/>
  <int value="332" label="X_332"/>
  <int value="333" label="X_333"/>
  <int value="334" label="X_334"/>
  <int value="335" label="X_335"/>
  <int value="336" label="X_336"/>
  <int value="337" label="X_337"/>
  <int value="338" label="X_338"/>
  <int value="339" label="X_339"/>
  <int value="340" label="X_340"/>
  <int value="341" label="X_341"/>
  <int value="342" label="X_342"/>
  <int value="343" label="X_343"/>
  <int value="344" label="X_344"/>
  <int value="345" label="X_345"/>
  <int value="346" label="X_346"/>
  <int value="347" label="X_347"/>
  <int value="348" label="X_348"/>
  <int value="349" label="X_349"/>
  <int value="350" label="X_350"/>
  <int value="351" label="X_351"/>
  <int value="352" label="X_352"/>
  <int value="353" label="X_353"/>
  <int value="354" label="X_354"/>
  <int value="355" label="X_355"/>
  <int value="356" label="X_356"/>
  <int value="357" label="X_357"/>
  <int value="358" label="X_358"/>
  <int value="359" label="X_359"/>
  <int value="360" label="X_360"/>
  <int value="361" label="X_361"/>
  <int value="362" label="X_362"/>
  <int value="363" label="X_363"/>
  <int value="364" label="X_364"/>
  <int value="365" label="X_365"/>
  <int value="366" label="X_366"/>
  <int value="367" label="X_367"/>
  <int value="368" label="X_368"/>
  <int value="369" label="X_369"/>
  <int value="370" label="X_370"/>
  <int value="371" label="X_371"/>
  <int value="372" label="X_372"/>
  <int value="373" label="X_373"/>
  <int value="374" label="X_374"/>
  <int value="375" label="X_375"/>
  <int value="376" label="X_376"/>
  <int value="377" label="X_377"/>
  <int value="378" label="X_378"/>
  <int value="379" label="X_379"/>
  <int value="380" label="X_380"/>
  <int value="381" label="X_381"/>
  <int value="382" label="X_382"/>
  <int value="383" label="X_383"/>
  <int value="384" label="X_384"/>
  <int value="385" label="X_385"/>
  <int value="386" label="X_386"/>
  <int value="387" label="X_387"/>
  <int value="388" label="X_388"/>
  <int value="389" label="X_389"/>
  <int value="390" label="X_390"/>
  <int value="391" label="X_391"/>
  <int value="392" label="X_392"/>
  <int value="393" label="X_393"/>
  <int value="394" label="X_394"/>
  <int value="395" label="X_395"/>
  <int value="396" label="X_396"/>
  <int value="397" label="X_397"/>
  <int value="398" label="X_398"/>
  <int value="399" label="X_399"/>
  <int value="400" label="X_400"/>
  <int value="401" label="X_401"/>
  <int value="402" label="X_402"/>
  <int value="403" label="X_403"/>
  <int value="404" label="X_404"/>
  <int value="405" label="X_405"/>
  <int value="406" label="X_406"/>
  <int value="407" label="X_407"/>
  <int value="408" label="X_408"/>
  <int value="409" label="X_409"/>
  <int value="410" label="X_410"/>
  <int value="411" label="X_411"/>
  <int value="412" label="X_412"/>
  <int value="413" label="X_413"/>
  <int value="414" label="X_414"/>
  <int value="415" label="X_415"/>
  <int value="416" label="X_416"/>
  <int value="417" label="X_417"/>
  <int value="418" label="X_418"/>
  <int value="419" label="X_419"/>
  <int value="420" label="X_420"/>
  <int value="421" label="X_421"/>
  <int value="422" label="X_422"/>
  <int value="423" label="X_423"/>
  <int value="424" label="X_424"/>
  <int value="425" label="X_425"/>
  <int value="426" label="X_426"/>
  <int value="427" label="X_427"/>
  <int value="428" label="X_428"/>
  <int value="429" label="X_429"/>
  <int value="430" label="X_430"/>
  <int value="431" label="X_431"/>
  <int value="432" label="X_432"/>
  <int value="433" label="X_433"/>
  <int value="434" label="X_434"/>
  <int value="435" label="X_435"/>
  <int value="436" label="X_436"/>
  <int value="437" label="X_437"/>
  <int value="438" label="X_438"/>
  <int value="439" label="X_439"/>
  <int value="440" label="X_440"/>
  <int value="441" label="X_441"/>
  <int value="442" label="X_442"/>
  <int value="443" label="X_443"/>
  <int value="444" label="X_444"/>
  <int value="445" label="X_445"/>
  <int value="446" label="X_446"/>
  <int value="447" label="X_447"/>
  <int value="448" label="X_448"/>
  <int value="449" label="X_449"/>
  <int value="450" label="X_450"/>
  <int value="451" label="X_451"/>
  <int value="452" label="X_452"/>
  <int value="453" label="X_453"/>
  <int value="454" label="X_454"/>
  <int value="455" label="X_455"/>
  <int value="456" label="X_456"/>
  <int value="457" label="X_457"/>
  <int value="458" label="X_458"/>
  <int value="459" label="X_459"/>
  <int value="460" label="X_460"/>
  <int value="461" label="X_461"/>
  <int value="462" label="X_462"/>
  <int value="463" label="X_463"/>
  <int value="464" label="X_464"/>
  <int value="465" label="X_465"/>
  <int value="466" label="X_466"/>
  <int value="467" label="X_467"/>
  <int value="468" label="X_468"/>
  <int value="469" label="X_469"/>
  <int value="470" label="X_470"/>
  <int value="471" label="X_471"/>
  <int value="472" label="X_472"/>
  <int value="473" label="X_473"/>
  <int value="474" label="X_474"/>
  <int value="475" label="X_475"/>
  <int value="476" label="X_476"/>
  <int value="477" label="X_477"/>
  <int value="478" label="X_478"/>
  <int value="479" label="X_479"/>
  <int value="480" label="X_480"/>
  <int value="481" label="X_481"/>
  <int value="482" label="X_482"/>
  <int value="483" label="X_483"/>
  <int value="484" label="X_484"/>
  <int value="485" label="X_485"/>
  <int value="486" label="X_486"/>
  <int value="487" label="X_487"/>
  <int value="488" label="X_488"/>
  <int value="489" label="X_489"/>
  <int value="490" label="X_490"/>
  <int value="491" label="X_491"/>
  <int value="492" label="X_492"/>
  <int value="493" label="X_493"/>
  <int value="494" label="X_494"/>
  <int value="495" label="X_495"/>
  <int value="496" label="X_496"/>
  <int value="497" label="X_497"/>
  <int value="498" label="X_498"/>
  <int value="499" label="X_499"/>
  <int value="500" label="X_500"/>
  <int value="501" label="X_501"/>
  <int value="502" label="X_502"/>
  <int value="503" label="X_503"/>
  <int value="504" label="X_504"/>
  <int value="505" label="X_505"/>
  <int value="506" label="NDEBELE"/>
  <int value="507" label="X_BORK_BORK_BORK"/>
  <int value="508" label="X_PIG_LATIN"/>
  <int value="509" label="X_HACKER"/>
  <int value="510" label="X_KLINGON"/>
  <int value="511" label="X_ELMER_FUDD"/>
  <int value="512" label="X_Common"/>
  <int value="513" label="X_Latin"/>
  <int value="514" label="X_Greek"/>
  <int value="515" label="X_Cyrillic"/>
  <int value="516" label="X_Armenian"/>
  <int value="517" label="X_Hebrew"/>
  <int value="518" label="X_Arabic"/>
  <int value="519" label="X_Syriac"/>
  <int value="520" label="X_Thaana"/>
  <int value="521" label="X_Devanagari"/>
  <int value="522" label="X_Bengali"/>
  <int value="523" label="X_Gurmukhi"/>
  <int value="524" label="X_Gujarati"/>
  <int value="525" label="X_Oriya"/>
  <int value="526" label="X_Tamil"/>
  <int value="527" label="X_Telugu"/>
  <int value="528" label="X_Kannada"/>
  <int value="529" label="X_Malayalam"/>
  <int value="530" label="X_Sinhala"/>
  <int value="531" label="X_Thai"/>
  <int value="532" label="X_Lao"/>
  <int value="533" label="X_Tibetan"/>
  <int value="534" label="X_Myanmar"/>
  <int value="535" label="X_Georgian"/>
  <int value="536" label="X_Hangul"/>
  <int value="537" label="X_Ethiopic"/>
  <int value="538" label="X_Cherokee"/>
  <int value="539" label="X_Canadian_Aboriginal"/>
  <int value="540" label="X_Ogham"/>
  <int value="541" label="X_Runic"/>
  <int value="542" label="X_Khmer"/>
  <int value="543" label="X_Mongolian"/>
  <int value="544" label="X_Hiragana"/>
  <int value="545" label="X_Katakana"/>
  <int value="546" label="X_Bopomofo"/>
  <int value="547" label="X_Han"/>
  <int value="548" label="X_Yi"/>
  <int value="549" label="X_Old_Italic"/>
  <int value="550" label="X_Gothic"/>
  <int value="551" label="X_Deseret"/>
  <int value="552" label="X_Inherited"/>
  <int value="553" label="X_Tagalog"/>
  <int value="554" label="X_Hanunoo"/>
  <int value="555" label="X_Buhid"/>
  <int value="556" label="X_Tagbanwa"/>
  <int value="557" label="X_Limbu"/>
  <int value="558" label="X_Tai_Le"/>
  <int value="559" label="X_Linear_B"/>
  <int value="560" label="X_Ugaritic"/>
  <int value="561" label="X_Shavian"/>
  <int value="562" label="X_Osmanya"/>
  <int value="563" label="X_Cypriot"/>
  <int value="564" label="X_Braille"/>
  <int value="565" label="X_Buginese"/>
  <int value="566" label="X_Coptic"/>
  <int value="567" label="X_New_Tai_Lue"/>
  <int value="568" label="X_Glagolitic"/>
  <int value="569" label="X_Tifinagh"/>
  <int value="570" label="X_Syloti_Nagri"/>
  <int value="571" label="X_Old_Persian"/>
  <int value="572" label="X_Kharoshthi"/>
  <int value="573" label="X_Balinese"/>
  <int value="574" label="X_Cuneiform"/>
  <int value="575" label="X_Phoenician"/>
  <int value="576" label="X_Phags_Pa"/>
  <int value="577" label="X_Nko"/>
  <int value="578" label="X_Sundanese"/>
  <int value="579" label="X_Lepcha"/>
  <int value="580" label="X_Ol_Chiki"/>
  <int value="581" label="X_Vai"/>
  <int value="582" label="X_Saurashtra"/>
  <int value="583" label="X_Kayah_Li"/>
  <int value="584" label="X_Rejang"/>
  <int value="585" label="X_Lycian"/>
  <int value="586" label="X_Carian"/>
  <int value="587" label="X_Lydian"/>
  <int value="588" label="X_Cham"/>
  <int value="589" label="X_Tai_Tham"/>
  <int value="590" label="X_Tai_Viet"/>
  <int value="591" label="X_Avestan"/>
  <int value="592" label="X_Egyptian_Hieroglyphs"/>
  <int value="593" label="X_Samaritan"/>
  <int value="594" label="X_Lisu"/>
  <int value="595" label="X_Bamum"/>
  <int value="596" label="X_Javanese"/>
  <int value="597" label="X_Meetei_Mayek"/>
  <int value="598" label="X_Imperial_Aramaic"/>
  <int value="599" label="X_Old_South_Arabian"/>
  <int value="600" label="X_Inscriptional_Parthian"/>
  <int value="601" label="X_Inscriptional_Pahlavi"/>
  <int value="602" label="X_Old_Turkic"/>
  <int value="603" label="X_Kaithi"/>
  <int value="604" label="X_Batak"/>
  <int value="605" label="X_Brahmi"/>
  <int value="606" label="X_Mandaic"/>
  <int value="607" label="X_Chakma"/>
  <int value="608" label="X_Meroitic_Cursive"/>
  <int value="609" label="X_Meroitic_Hieroglyphs"/>
  <int value="610" label="X_Miao"/>
  <int value="611" label="X_Sharada"/>
  <int value="612" label="X_Sora_Sompeng"/>
  <int value="613" label="X_Takri"/>
</enum>

<enum name="CLD3LanguageCode" type="int">
  <summary>
    Hash values for the languages supported by CLD3. Each of these values is
    computed by casting the output of base::HashMetricName(language_string_id)
    to base::HistogramBase::Sample.
  </summary>
  <int value="-2132740958" label="gl"/>
  <int value="-2112894028" label="haw"/>
  <int value="-2092490813" label="fa"/>
  <int value="-2084324285" label="iw"/>
  <int value="-2070680532" label="hi"/>
  <int value="-2070250592" label="zu"/>
  <int value="-2042178987" label="si"/>
  <int value="-2041104386" label="mi"/>
  <int value="-2014954614" label="so"/>
  <int value="-2005166181" label="ja-Latn"/>
  <int value="-1999171202" label="lv"/>
  <int value="-1994870905" label="lt"/>
  <int value="-1855113037" label="vi"/>
  <int value="-1828586117" label="de"/>
  <int value="-1823968882" label="zh"/>
  <int value="-1791051166" label="ha"/>
  <int value="-1760672594" label="mr"/>
  <int value="-1696927720" label="la"/>
  <int value="-1690250140" label="ja"/>
  <int value="-1566592213" label="hi-Latn"/>
  <int value="-1532548885" label="pa"/>
  <int value="-1515310228" label="ps"/>
  <int value="-1284862637" label="ru"/>
  <int value="-1273588087" label="kn"/>
  <int value="-1211529228" label="gd"/>
  <int value="-1117024738" label="zh-Latn"/>
  <int value="-1100371650" label="sn"/>
  <int value="-1048980531" label="ur"/>
  <int value="-1042449480" label="cy"/>
  <int value="-1033645590" label="fil"/>
  <int value="-1025520269" label="az"/>
  <int value="-1010619188" label="ru-Latn"/>
  <int value="-1000295094" label="no"/>
  <int value="-887258309" label="hu"/>
  <int value="-862298602" label="st"/>
  <int value="-851607677" label="sm"/>
  <int value="-838275151" label="xh"/>
  <int value="-750267977" label="bg"/>
  <int value="-742603342" label="ca"/>
  <int value="-740941224" label="ku"/>
  <int value="-734032818" label="km"/>
  <int value="-717751759" label="lb"/>
  <int value="-659007214" label="el"/>
  <int value="-647197922" label="ceb"/>
  <int value="-645438410" label="my"/>
  <int value="-644560085" label="su"/>
  <int value="-598481752" label="et"/>
  <int value="-442590807" label="sd"/>
  <int value="-441493751" label="el-Latn"/>
  <int value="-426630965" label="ga"/>
  <int value="-415677801" label="it"/>
  <int value="-403118581" label="sw"/>
  <int value="-349113427" label="am"/>
  <int value="-342591258" label="sq"/>
  <int value="-226066958" label="bg-Latn"/>
  <int value="-219674420" label="ta"/>
  <int value="-181870943" label="bn"/>
  <int value="-110306666" label="sr"/>
  <int value="-78164291" label="kk"/>
  <int value="-74147910" label="en"/>
  <int value="-35182995" label="fi"/>
  <int value="-5034744" label="ny"/>
  <int value="42532257" label="id"/>
  <int value="64053359" label="eu"/>
  <int value="114573335" label="es"/>
  <int value="121688617" label="eo"/>
  <int value="124739394" label="lo"/>
  <int value="132594104" label="be"/>
  <int value="134866094" label="ka"/>
  <int value="142313505" label="ro"/>
  <int value="145030010" label="gu"/>
  <int value="162326141" label="sl"/>
  <int value="183952636" label="mg"/>
  <int value="191168946" label="mk"/>
  <int value="350748440" label="und"/>
  <int value="357286655" label="af"/>
  <int value="461111861" label="mt"/>
  <int value="462869158" label="hy"/>
  <int value="470982931" label="sv"/>
  <int value="522435458" label="hr"/>
  <int value="526531379" label="ml"/>
  <int value="538270200" label="uk"/>
  <int value="596295208" label="bs"/>
  <int value="673577439" label="cs"/>
  <int value="796588925" label="yo"/>
  <int value="804120371" label="jv"/>
  <int value="873647701" label="th"/>
  <int value="910795716" label="ne"/>
  <int value="925733725" label="ms"/>
  <int value="1092864716" label="ht"/>
  <int value="1110169461" label="hmn"/>
  <int value="1119752109" label="te"/>
  <int value="1140816756" label="ar"/>
  <int value="1166708194" label="is"/>
  <int value="1214473765" label="unknown"/>
  <int value="1311313702" label="pt"/>
  <int value="1312638242" label="pl"/>
  <int value="1437205305" label="uz"/>
  <int value="1482920614" label="yi"/>
  <int value="1483760478" label="tg"/>
  <int value="1552733612" label="da"/>
  <int value="1638257274" label="sk"/>
  <int value="1670494558" label="ko"/>
  <int value="1704087523" label="ky"/>
  <int value="1704315002" label="fr"/>
  <int value="1717583602" label="co"/>
  <int value="1754979806" label="fy"/>
  <int value="1853848431" label="tr"/>
  <int value="2039992295" label="ig"/>
  <int value="2087142539" label="mn"/>
  <int value="2119087611" label="nl"/>
</enum>

<enum name="ClearDataSiteBlacklistCrossedReason" type="int">
  <int value="0" label="Durable"/>
  <int value="1" label="Notifications"/>
  <int value="2" label="Engagement"/>
  <int value="3" label="Notifications and Engagement"/>
  <int value="4" label="Durable and Engagement"/>
  <int value="5" label="Notifications and Durable"/>
  <int value="6" label="Notifications, Durable, and Engagement"/>
  <int value="7" label="Unknown"/>
</enum>

<enum name="ClearServerDataEvents" type="int">
  <int value="0" label="Clear server data started"/>
  <int value="1" label="Catchup configuration failed"/>
  <int value="2" label="Catchup configuration retried after browser restart"/>
  <int value="3" label="Clear server data succeeded"/>
  <int value="4" label="RESET_LOCAL_SYNC_DATA received"/>
</enum>

<enum name="ClearSiteDataParameters" type="int">
  <int value="0" label="No datatypes"/>
  <int value="1" label="Cookies"/>
  <int value="2" label="Storage"/>
  <int value="3" label="Cookies and Storage"/>
  <int value="4" label="Cache"/>
  <int value="5" label="Cookies and Cache"/>
  <int value="6" label="Storage and Cache"/>
  <int value="7" label="Cookies, Storage, and Cache"/>
</enum>

<enum name="ClientAppId" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="Gmail"/>
  <int value="2" label="Facebook"/>
  <int value="3" label="Plus"/>
  <int value="4" label="Twitter"/>
  <int value="5" label="Chrome"/>
  <int value="6" label="Hangouts"/>
  <int value="7" label="Messenger"/>
  <int value="8" label="News"/>
  <int value="9" label="Line"/>
  <int value="10" label="Whatsapp"/>
  <int value="11" label="Gsa"/>
</enum>

<enum name="ClipboardAction" type="int">
  <int value="0" label="Write from non-Incognito"/>
  <int value="1" label="Write from Incognito"/>
  <int value="2" label="Read Text"/>
</enum>

<enum name="ClockStates" type="int">
  <int value="0"
      label="CLOCK_STATE_UNKNOWN: accuracy of system clock is unknown"/>
  <int value="1" label="CLOCK_STATE_OK: system clock is roughly accurate"/>
  <int value="2" label="CLOCK_STATE_PAST: system clock is in the past"/>
  <int value="3" label="CLOCK_STATE_FUTURE: system clock is in the future"/>
</enum>

<enum name="CloudImportUserAction" type="int">
  <int value="0" label="IMPORT_INITIATED"/>
</enum>

<enum name="CloudPrintAuthEventType" type="int">
  <int value="0" label="AUTH_EVENT_ROBO_CREATE"/>
  <int value="1" label="AUTH_EVENT_ROBO_SUCCEEDED"/>
  <int value="2" label="AUTH_EVENT_ROBO_FAILED"/>
  <int value="3" label="AUTH_EVENT_ROBO_JSON_ERROR"/>
  <int value="4" label="AUTH_EVENT_ROBO_AUTH_ERROR"/>
  <int value="5" label="AUTH_EVENT_AUTH_WITH_TOKEN"/>
  <int value="6" label="AUTH_EVENT_AUTH_WITH_CODE"/>
  <int value="7" label="AUTH_EVENT_TOKEN_RESPONSE"/>
  <int value="8" label="AUTH_EVENT_REFRESH_REQUEST"/>
  <int value="9" label="AUTH_EVENT_REFRESH_RESPONSE"/>
  <int value="10" label="AUTH_EVENT_AUTH_ERROR"/>
  <int value="11" label="AUTH_EVENT_NET_ERROR"/>
</enum>

<enum name="CloudPrintJobHandlerEventType" type="int">
  <int value="0" label="JOB_HANDLER_CHECK_FOR_JOBS"/>
  <int value="1" label="JOB_HANDLER_START"/>
  <int value="2" label="JOB_HANDLER_PENDING_TASK"/>
  <int value="3" label="JOB_HANDLER_PRINTER_UPDATE"/>
  <int value="4" label="JOB_HANDLER_JOB_CHECK"/>
  <int value="5" label="JOB_HANDLER_JOB_STARTED"/>
  <int value="6" label="JOB_HANDLER_VALID_TICKET"/>
  <int value="7" label="JOB_HANDLER_DATA"/>
  <int value="8" label="JOB_HANDLER_SET_IN_PROGRESS"/>
  <int value="9" label="JOB_HANDLER_SET_START_PRINTING"/>
  <int value="10" label="JOB_HANDLER_START_SPOOLING"/>
  <int value="11" label="JOB_HANDLER_SPOOLED"/>
  <int value="12" label="JOB_HANDLER_JOB_COMPLETED"/>
  <int value="13" label="JOB_HANDLER_INVALID_TICKET"/>
  <int value="14" label="JOB_HANDLER_INVALID_DATA"/>
</enum>

<enum name="CloudPrintJobStatusType" type="int">
  <int value="0" label="JOB_SUCCESS"/>
  <int value="1" label="JOB_DOWNLOAD_FAILED"/>
  <int value="2" label="JOB_VALIDATE_TICKET_FAILED"/>
  <int value="3" label="JOB_FAILED"/>
</enum>

<enum name="CloudPrintNativeJobStatusType" type="int">
  <int value="0" label="PRINT_JOB_STATUS_INVALID"/>
  <int value="1" label="PRINT_JOB_STATUS_IN_PROGRESS"/>
  <int value="2" label="PRINT_JOB_STATUS_ERROR"/>
  <int value="3" label="PRINT_JOB_STATUS_COMPLETED"/>
</enum>

<enum name="CloudPrintUrlFetcherRequestType" type="int">
  <int value="0" label="REQUEST_AUTH_CODE"/>
  <int value="1" label="REQUEST_REGISTER"/>
  <int value="2" label="REQUEST_UNREGISTER"/>
  <int value="3" label="REQUEST_UPDATE_PRINTER"/>
  <int value="4" label="REQUEST_UPDATE_JOB"/>
  <int value="5" label="REQUEST_USER_MESSAGE"/>
  <int value="6" label="REQUEST_TICKET"/>
  <int value="7" label="REQUEST_DATA"/>
  <int value="8" label="REQUEST_JOB_FETCH"/>
</enum>

<enum name="CoalescePotentialPackets" type="int">
  <int value="0" label="No Advantage"/>
  <int value="1" label="Header packets Only"/>
  <int value="30" label="More Than 30"/>
</enum>

<enum name="ColorSpaceExtractedRawDataResult" type="int">
  <int value="0" label="Failed to extract."/>
  <int value="1" label="Successfully extracted."/>
</enum>

<enum name="ColorSpaceMatrixResult" type="int">
  <int value="0" label="Failed to extract toXYZD50 matrix."/>
  <int value="1" label="Successfully extracted toXYZD50 matrix."/>
</enum>

<enum name="ColorSpaceNonlinearFitConverged" type="int">
  <int value="0" label="Did not converge."/>
  <int value="1" label="Converged."/>
</enum>

<enum name="ColorSpaceNumericalResult" type="int">
  <int value="0" label="Failed to extract."/>
  <int value="1" label="Successfully extracted."/>
</enum>

<enum name="CombinedHttpResponseAndNetErrorCode" type="int">
<!-- Generated from net/base/net_error_list.h -->

  <int value="-806" label="DNS_SORT_ERROR"/>
  <int value="-805" label="DNS_SEARCH_EMPTY"/>
  <int value="-804" label="DNS_CACHE_MISS"/>
  <int value="-803" label="DNS_TIMED_OUT"/>
  <int value="-802" label="DNS_SERVER_FAILED"/>
  <int value="-801" label="DNS_SERVER_REQUIRES_TCP"/>
  <int value="-800" label="DNS_MALFORMED_RESPONSE"/>
  <int value="-715" label="CHANNEL_ID_IMPORT_FAILED"/>
  <int value="-714" label="CERT_DATABASE_CHANGED"/>
  <int value="-713" label="SELF_SIGNED_CERT_GENERATION_FAILED"/>
  <int value="-712" label="PRIVATE_KEY_EXPORT_FAILED"/>
  <int value="-711" label="ORIGIN_BOUND_CERT_GENERATION_FAILED"/>
  <int value="-710" label="KEY_GENERATION_FAILED"/>
  <int value="-709" label="PKCS12_IMPORT_UNSUPPORTED"/>
  <int value="-708" label="PKCS12_IMPORT_INVALID_FILE"/>
  <int value="-707" label="PKCS12_IMPORT_INVALID_MAC"/>
  <int value="-706" label="IMPORT_SERVER_CERT_FAILED"/>
  <int value="-705" label="IMPORT_CA_CERT_FAILED"/>
  <int value="-704" label="IMPORT_CERT_ALREADY_EXISTS"/>
  <int value="-703" label="IMPORT_CA_CERT_NOT_CA"/>
  <int value="-702" label="PKCS12_IMPORT_FAILED"/>
  <int value="-701" label="PKCS12_IMPORT_BAD_PASSWORD"/>
  <int value="-607" label="FTP_BAD_COMMAND_SEQUENCE"/>
  <int value="-606" label="FTP_COMMAND_NOT_SUPPORTED"/>
  <int value="-605" label="FTP_SYNTAX_ERROR"/>
  <int value="-604" label="FTP_FILE_BUSY"/>
  <int value="-603" label="FTP_TRANSFER_ABORTED"/>
  <int value="-602" label="FTP_SERVICE_UNAVAILABLE"/>
  <int value="-601" label="FTP_FAILED"/>
  <int value="-503" label="ADD_USER_CERT_FAILED"/>
  <int value="-502" label="NO_PRIVATE_KEY_FOR_CERT"/>
  <int value="-501" label="INSECURE_RESPONSE"/>
  <int value="-410" label="CACHE_AUTH_FAILURE_AFTER_READ"/>
  <int value="-409" label="CACHE_LOCK_TIMEOUT"/>
  <int value="-408" label="CACHE_CHECKSUM_MISMATCH"/>
  <int value="-407" label="CACHE_CHECKSUM_READ_FAILURE"/>
  <int value="-406" label="CACHE_RACE"/>
  <int value="-405" label="CACHE_CREATE_FAILURE"/>
  <int value="-404" label="CACHE_OPEN_FAILURE"/>
  <int value="-403" label="CACHE_OPERATION_NOT_SUPPORTED"/>
  <int value="-402" label="CACHE_WRITE_FAILURE"/>
  <int value="-401" label="CACHE_READ_FAILURE"/>
  <int value="-400" label="CACHE_MISS"/>
  <int value="-372" label="SPDY_RST_STREAM_NO_ERROR_RECEIVED"/>
  <int value="-371" label="CONTENT_DECODING_INIT_FAILED"/>
  <int value="-370" label="INVALID_HTTP_RESPONSE"/>
  <int value="-369" label="TEMPORARY_BACKOFF"/>
  <int value="-368" label="ALTERNATIVE_CERT_NOT_VALID_FOR_ORIGIN"/>
  <int value="-367" label="PAC_SCRIPT_TERMINATED"/>
  <int value="-366" label="PROXY_HTTP_1_1_REQUIRED"/>
  <int value="-365" label="HTTP_1_1_REQUIRED"/>
  <int value="-364" label="PROXY_AUTH_REQUESTED_WITH_NO_CONNECTION"/>
  <int value="-363" label="SPDY_COMPRESSION_ERROR"/>
  <int value="-362" label="SPDY_FRAME_SIZE_ERROR"/>
  <int value="-361" label="SPDY_FLOW_CONTROL_ERROR"/>
  <int value="-360" label="SPDY_INADEQUATE_TRANSPORT_SECURITY"/>
  <int value="-359" label="REQUEST_FOR_SECURE_RESOURCE_OVER_INSECURE_QUIC"/>
  <int value="-358" label="QUIC_HANDSHAKE_FAILED"/>
  <int value="-357" label="RESPONSE_HEADERS_TRUNCATED"/>
  <int value="-356" label="QUIC_PROTOCOL_ERROR"/>
  <int value="-355" label="INCOMPLETE_CHUNKED_ENCODING"/>
  <int value="-354" label="CONTENT_LENGTH_MISMATCH"/>
  <int value="-352" label="SPDY_PING_FAILED"/>
  <int value="-351" label="SPDY_SERVER_REFUSED_STREAM"/>
  <int value="-350" label="RESPONSE_HEADERS_MULTIPLE_LOCATION"/>
  <int value="-349" label="RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION"/>
  <int value="-348" label="PAC_NOT_IN_DHCP"/>
  <int value="-347" label="INCOMPLETE_SPDY_HEADERS"/>
  <int value="-346" label="RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH"/>
  <int value="-345" label="RESPONSE_BODY_TOO_BIG_TO_DRAIN"/>
  <int value="-344" label="UNDOCUMENTED_SECURITY_LIBRARY_STATUS"/>
  <int value="-343" label="MISCONFIGURED_AUTH_ENVIRONMENT"/>
  <int value="-342" label="UNEXPECTED_SECURITY_LIBRARY_STATUS"/>
  <int value="-341" label="MISSING_AUTH_CREDENTIALS"/>
  <int value="-340" label="ENCODING_DETECTION_FAILED"/>
  <int value="-339" label="UNSUPPORTED_AUTH_SCHEME"/>
  <int value="-338" label="INVALID_AUTH_CREDENTIALS"/>
  <int value="-337" label="SPDY_PROTOCOL_ERROR"/>
  <int value="-336" label="NO_SUPPORTED_PROXIES"/>
  <int value="-335" label="INVALID_SPDY_STREAM"/>
  <int value="-334" label="UNRECOGNIZED_FTP_DIRECTORY_LISTING_FORMAT"/>
  <int value="-333" label="ENCODING_CONVERSION_FAILED"/>
  <int value="-332" label="SYN_REPLY_NOT_RECEIVED"/>
  <int value="-331" label="NETWORK_IO_SUSPENDED"/>
  <int value="-330" label="CONTENT_DECODING_FAILED"/>
  <int value="-329" label="MALFORMED_IDENTITY"/>
  <int value="-328" label="REQUEST_RANGE_NOT_SATISFIABLE"/>
  <int value="-327" label="PAC_SCRIPT_FAILED"/>
  <int value="-326" label="PAC_STATUS_NOT_OK"/>
  <int value="-325" label="RESPONSE_HEADERS_TOO_BIG"/>
  <int value="-324" label="EMPTY_RESPONSE"/>
  <int value="-323" label="UNEXPECTED_PROXY_AUTH"/>
  <int value="-322" label="METHOD_NOT_SUPPORTED"/>
  <int value="-321" label="INVALID_CHUNKED_ENCODING"/>
  <int value="-320" label="INVALID_RESPONSE"/>
  <int value="-312" label="UNSAFE_PORT"/>
  <int value="-311" label="UNSAFE_REDIRECT"/>
  <int value="-310" label="TOO_MANY_REDIRECTS"/>
  <int value="-302" label="UNKNOWN_URL_SCHEME"/>
  <int value="-301" label="DISALLOWED_URL_SCHEME"/>
  <int value="-300" label="INVALID_URL"/>
  <int value="-215" label="CERT_END"/>
  <int value="-214" label="CERTIFICATE_TRANSPARENCY_REQUIRED"/>
  <int value="-213" label="CERT_VALIDITY_TOO_LONG"/>
  <int value="-212" label="CERT_NAME_CONSTRAINT_VIOLATION"/>
  <int value="-211" label="CERT_WEAK_KEY"/>
  <int value="-210" label="CERT_NON_UNIQUE_NAME"/>
  <int value="-208" label="CERT_WEAK_SIGNATURE_ALGORITHM"/>
  <int value="-207" label="CERT_INVALID"/>
  <int value="-206" label="CERT_REVOKED"/>
  <int value="-205" label="CERT_UNABLE_TO_CHECK_REVOCATION"/>
  <int value="-204" label="CERT_NO_REVOCATION_MECHANISM"/>
  <int value="-203" label="CERT_CONTAINS_ERRORS"/>
  <int value="-202" label="CERT_AUTHORITY_INVALID"/>
  <int value="-201" label="CERT_DATE_INVALID"/>
  <int value="-200" label="CERT_COMMON_NAME_INVALID"/>
  <int value="-175" label="SSL_VERSION_INTERFERENCE"/>
  <int value="-174" label="READ_IF_READY_NOT_IMPLEMENTED"/>
  <int value="-173" label="WS_UPGRADE"/>
  <int value="-172" label="SSL_OBSOLETE_CIPHER"/>
  <int value="-171" label="CT_CONSISTENCY_PROOF_PARSING_FAILED"/>
  <int value="-170" label="UNABLE_TO_REUSE_CONNECTION_FOR_PROXY_AUTH"/>
  <int value="-169" label="CT_STH_INCOMPLETE"/>
  <int value="-168" label="CT_STH_PARSING_FAILED"/>
  <int value="-167" label="SSL_SERVER_CERT_BAD_FORMAT"/>
  <int value="-166" label="ICANN_NAME_COLLISION"/>
  <int value="-165" label="SSL_FALLBACK_BEYOND_MINIMUM_VERSION"/>
  <int value="-164" label="SSL_CLIENT_AUTH_CERT_BAD_FORMAT"/>
  <int value="-163" label="SOCKET_SEND_BUFFER_SIZE_UNCHANGEABLE"/>
  <int value="-162" label="SOCKET_RECEIVE_BUFFER_SIZE_UNCHANGEABLE"/>
  <int value="-161" label="SOCKET_SET_SEND_BUFFER_SIZE_ERROR"/>
  <int value="-160" label="SOCKET_SET_RECEIVE_BUFFER_SIZE_ERROR"/>
  <int value="-159" label="SSL_UNRECOGNIZED_NAME_ALERT"/>
  <int value="-158" label="CT_NO_SCTS_VERIFIED_OK"/>
  <int value="-157" label="SSL_INAPPROPRIATE_FALLBACK"/>
  <int value="-156" label="SSL_SERVER_CERT_CHANGED"/>
  <int value="-154" label="WS_THROTTLE_QUEUE_TOO_LARGE"/>
  <int value="-153" label="SSL_DECRYPT_ERROR_ALERT"/>
  <int value="-152" label="ORIGIN_BOUND_CERT_GENERATION_TYPE_MISMATCH"/>
  <int value="-151" label="CLIENT_AUTH_CERT_TYPE_UNSUPPORTED"/>
  <int value="-150" label="SSL_PINNED_KEY_NOT_IN_CERT_CHAIN"/>
  <int value="-149" label="SSL_BAD_PEER_PUBLIC_KEY"/>
  <int value="-148" label="SSL_HANDSHAKE_NOT_COMPLETED"/>
  <int value="-147" label="ADDRESS_IN_USE"/>
  <int value="-145" label="WS_PROTOCOL_ERROR"/>
  <int value="-143" label="SPDY_SESSION_ALREADY_EXISTS"/>
  <int value="-142" label="MSG_TOO_BIG"/>
  <int value="-141" label="SSL_CLIENT_AUTH_SIGNATURE_FAILED"/>
  <int value="-140" label="HTTPS_PROXY_TUNNEL_RESPONSE"/>
  <int value="-139" label="TEMPORARILY_THROTTLED"/>
  <int value="-138" label="NETWORK_ACCESS_DENIED"/>
  <int value="-137" label="NAME_RESOLUTION_FAILED"/>
  <int value="-136" label="PROXY_CERTIFICATE_INVALID"/>
  <int value="-135" label="SSL_CLIENT_AUTH_CERT_NO_PRIVATE_KEY"/>
  <int value="-134" label="SSL_CLIENT_AUTH_PRIVATE_KEY_ACCESS_DENIED"/>
  <int value="-133" label="PRECONNECT_MAX_SOCKET_LIMIT"/>
  <int value="-131" label="MANDATORY_PROXY_CONFIGURATION_FAILED"/>
  <int value="-130" label="PROXY_CONNECTION_FAILED"/>
  <int value="-129" label="SSL_WEAK_SERVER_EPHEMERAL_DH_KEY"/>
  <int value="-128" label="SSL_UNSAFE_NEGOTIATION"/>
  <int value="-127" label="PROXY_AUTH_REQUESTED"/>
  <int value="-126" label="SSL_BAD_RECORD_MAC_ALERT"/>
  <int value="-125" label="SSL_DECOMPRESSION_FAILURE_ALERT"/>
  <int value="-124" label="WINSOCK_UNEXPECTED_WRITTEN_BYTES"/>
  <int value="-123" label="SSL_NO_RENEGOTIATION"/>
  <int value="-122" label="ALPN_NEGOTIATION_FAILED"/>
  <int value="-121" label="SOCKS_CONNECTION_HOST_UNREACHABLE"/>
  <int value="-120" label="SOCKS_CONNECTION_FAILED"/>
  <int value="-119" label="HOST_RESOLVER_QUEUE_TOO_LARGE"/>
  <int value="-118" label="CONNECTION_TIMED_OUT"/>
  <int value="-117" label="BAD_SSL_CLIENT_AUTH_CERT"/>
  <int value="-116" label="CERT_ERROR_IN_SSL_RENEGOTIATION"/>
  <int value="-115" label="PROXY_AUTH_UNSUPPORTED"/>
  <int value="-114" label="SSL_RENEGOTIATION_REQUESTED"/>
  <int value="-113" label="SSL_VERSION_OR_CIPHER_MISMATCH"/>
  <int value="-112" label="NO_SSL_VERSIONS_ENABLED"/>
  <int value="-111" label="TUNNEL_CONNECTION_FAILED"/>
  <int value="-110" label="SSL_CLIENT_AUTH_CERT_NEEDED"/>
  <int value="-109" label="ADDRESS_UNREACHABLE"/>
  <int value="-108" label="ADDRESS_INVALID"/>
  <int value="-107" label="SSL_PROTOCOL_ERROR"/>
  <int value="-106" label="INTERNET_DISCONNECTED"/>
  <int value="-105" label="NAME_NOT_RESOLVED"/>
  <int value="-104" label="CONNECTION_FAILED"/>
  <int value="-103" label="CONNECTION_ABORTED"/>
  <int value="-102" label="CONNECTION_REFUSED"/>
  <int value="-101" label="CONNECTION_RESET"/>
  <int value="-100" label="CONNECTION_CLOSED"/>
  <int value="-29" label="CLEARTEXT_NOT_PERMITTED"/>
  <int value="-28" label="BLOCKED_BY_XSS_AUDITOR"/>
  <int value="-27" label="BLOCKED_BY_RESPONSE"/>
  <int value="-26" label="CONTEXT_SHUT_DOWN"/>
  <int value="-25" label="UPLOAD_STREAM_REWIND_NOT_SUPPORTED"/>
  <int value="-24" label="BLOCKED_ENROLLMENT_CHECK_PENDING"/>
  <int value="-23" label="SOCKET_IS_CONNECTED"/>
  <int value="-22" label="BLOCKED_BY_ADMINISTRATOR"/>
  <int value="-21" label="NETWORK_CHANGED"/>
  <int value="-20" label="BLOCKED_BY_CLIENT"/>
  <int value="-19" label="FILE_VIRUS_INFECTED"/>
  <int value="-18" label="FILE_NO_SPACE"/>
  <int value="-17" label="FILE_PATH_TOO_LONG"/>
  <int value="-16" label="FILE_EXISTS"/>
  <int value="-15" label="SOCKET_NOT_CONNECTED"/>
  <int value="-14" label="UPLOAD_FILE_CHANGED"/>
  <int value="-13" label="OUT_OF_MEMORY"/>
  <int value="-12" label="INSUFFICIENT_RESOURCES"/>
  <int value="-11" label="NOT_IMPLEMENTED"/>
  <int value="-10" label="ACCESS_DENIED"/>
  <int value="-9" label="UNEXPECTED"/>
  <int value="-8" label="FILE_TOO_BIG"/>
  <int value="-7" label="TIMED_OUT"/>
  <int value="-6" label="FILE_NOT_FOUND"/>
  <int value="-5" label="INVALID_HANDLE"/>
  <int value="-4" label="INVALID_ARGUMENT"/>
  <int value="-3" label="ABORTED"/>
  <int value="-2" label="FAILED"/>
  <int value="-1" label="IO_PENDING"/>
  <int value="100" label="100: Continue"/>
  <int value="101" label="101: Switching Protocols"/>
  <int value="200" label="200: OK"/>
  <int value="201" label="201: Created"/>
  <int value="202" label="202: Accepted"/>
  <int value="203" label="203: Non-Authoritative Information"/>
  <int value="204" label="204: No Content"/>
  <int value="205" label="205: Reset Content"/>
  <int value="206" label="206: Partial Content"/>
  <int value="300" label="300: Multiple Choices"/>
  <int value="301" label="301: Moved Permanently"/>
  <int value="302" label="302: Found"/>
  <int value="303" label="303: See Other"/>
  <int value="304" label="304: Not Modified"/>
  <int value="305" label="305: Use Proxy"/>
  <int value="306" label="306: (Unused)"/>
  <int value="307" label="307: Temporary Redirect"/>
  <int value="400" label="400: Bad Request"/>
  <int value="401" label="401: Unauthorized"/>
  <int value="402" label="402: Payment Required"/>
  <int value="403" label="403: Forbidden"/>
  <int value="404" label="404: Not Found"/>
  <int value="405" label="405: Method Not Allowed"/>
  <int value="406" label="406: Not Acceptable"/>
  <int value="407" label="407: Proxy Authentication Required"/>
  <int value="408" label="408: Request Timeout"/>
  <int value="409" label="409: Conflict"/>
  <int value="410" label="410: Gone"/>
  <int value="411" label="411: Length Required"/>
  <int value="412" label="412: Precondition Failed"/>
  <int value="413" label="413: Request Entity Too Large"/>
  <int value="414" label="414: Request-URI Too Long"/>
  <int value="415" label="415: Unsupported Media Type"/>
  <int value="416" label="416: Requested Range Not Satisfiable"/>
  <int value="417" label="417: Expectation Failed"/>
  <int value="500" label="500: Internal Server Error"/>
  <int value="501" label="501: Not Implemented"/>
  <int value="502" label="502: Bad Gateway"/>
  <int value="503" label="503: Service Unavailable"/>
  <int value="504" label="504: Gateway Timeout"/>
  <int value="505" label="505: HTTP Version Not Supported"/>
</enum>

<enum name="CommittedLoadEvent" type="int">
  <obsolete>
    Deprecated in favor of PageLoad.Timing2.NavigationToCommit and
    PageLoad.AbortTiming.
  </obsolete>
  <int value="0" label="Committed load started"/>
  <int value="1" label="Committed load failed before first layout"/>
  <int value="2" label="Successful first layout"/>
</enum>

<enum name="ComponentUpdaterCalls" type="int">
  <int value="0" label="Install"/>
  <int value="1" label="Update"/>
</enum>

<enum name="CompositedScrolling" type="int">
  <int value="0" label="Is scrollable area"/>
  <int value="1" label="Needs to be stacking container"/>
  <int value="2" label="Will use composited scrolling"/>
</enum>

<enum name="CompositorScrollResult" type="int">
  <int value="0" label="ScrollOnMainThread"/>
  <int value="1" label="ScrollStarted"/>
  <int value="2" label="ScrollIgnored"/>
  <int value="3" label="ScrollUnknown"/>
</enum>

<enum name="CompositorType" type="int">
  <int value="0" label="Software compositor"/>
  <int value="1" label="GPU compositor"/>
</enum>

<enum name="CompressibleStringCountType" type="int">
  <obsolete>
    Dprecated as of Aug 2016. CompressibleString has been reverted once at
    https://crrev.com/2227933002.
  </obsolete>
  <int value="0" label="Compressed in a background tab"/>
  <int value="1" label="Decompressed in a background or a foreground tab"/>
</enum>

<enum name="ComputeCurrentSigninStatus" type="int">
  <obsolete>
    Deprecated as of Jun 2016. The enum was added for debugging purpose and is
    not needed anymore.
  </obsolete>
  <int value="0" label="Tried to compute current signin status."/>
  <int value="1" label="Error: No profiles found."/>
  <int value="2" label="No opened browser found."/>
  <int value="3" label="User signed in when the signin status is unknown."/>
  <int value="4" label="User signed out when the signin status is unknown."/>
  <int value="5" label="Try to override the status when its valus is error."/>
</enum>

<enum name="ConnectionDiagnosticsIssue" type="int">
  <int value="0" label="IP collision detected."/>
  <int value="1" label="Routing problem detected."/>
  <int value="2" label="HTTP issues or broken portal."/>
  <int value="3"
      label="DNS servers sending invalid responses -- might be misconfigured."/>
  <int value="4" label="DNS servers pingable but not responding to requests."/>
  <int value="5" label="No DNS servers configured for this connection."/>
  <int value="6" label="All configured DNS server addresses are invalid."/>
  <int value="7" label="No connection issue detected."/>
  <int value="8" label="Trapped in captive portal."/>
  <int value="9" label="Gateway issue or upstream connectivity problem."/>
  <int value="10"
      label="Gateway appears to be on network, but is not pingable."/>
  <int value="11"
      label="Web server appears to be on network, but is not pingable."/>
  <int value="12" label="No ARP entry for the gateway."/>
  <int value="13" label="No ARP entry for the webserver."/>
  <int value="14" label="Internal failure in connection diagnostics."/>
  <int value="15" label="No neighbor table entry for the gateway."/>
  <int value="16" label="No neighbor table entry for the web server."/>
  <int value="17"
      label="Neighbor table entry for the gateway not in a connected state."/>
  <int value="18"
      label="Neighbor table entry for the web server not in a connected
             state."/>
  <int value="19" label="Placeholder 1."/>
  <int value="20" label="Placeholder 2."/>
  <int value="21" label="Placeholder 3."/>
  <int value="22" label="Placeholder 4."/>
</enum>

<enum name="ConnectionFailureReason" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Bad Passphrase"/>
  <int value="2" label="Bad WEP Key"/>
  <int value="3" label="Failed to Connect"/>
  <int value="4" label="DHCP Failure"/>
  <int value="5" label="DNS Lookup Failure"/>
  <int value="6" label="EAP Authentication"/>
  <int value="7" label="EAP Local TLS"/>
  <int value="8" label="EAP Remote TLS"/>
  <int value="9" label="Out-of-range"/>
  <int value="10" label="Pin Missing"/>
</enum>

<enum name="ConnectionInfo" type="int">
  <summary>
    Application protocol used for HTTP response as defined in
    net::HttpResponseInfo::ConnectionInfo.
  </summary>
  <int value="0" label="unknown"/>
  <int value="1" label="HTTP/1.1"/>
  <int value="2" label="SPDY/2 (deprecated)"/>
  <int value="3" label="SPDY/3"/>
  <int value="4" label="HTTP/2"/>
  <int value="5" label="QUIC (unknown version)"/>
  <int value="6" label="HTTP/2 draft-14"/>
  <int value="7" label="HTTP/2 draft-15"/>
  <int value="8" label="HTTP/0.9"/>
  <int value="9" label="HTTP/1.0"/>
  <int value="10" label="QUIC/32"/>
  <int value="11" label="QUIC/33"/>
  <int value="12" label="QUIC/34"/>
  <int value="13" label="QUIC/35"/>
  <int value="14" label="QUIC/36"/>
  <int value="15" label="QUIC/37"/>
  <int value="16" label="QUIC/38"/>
</enum>

<enum name="ConnectionResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Failure"/>
  <int value="2" label="Aborted"/>
</enum>

<enum name="ConnectionStatus" type="int">
  <int value="0" label="Offline"/>
  <int value="1" label="Connected"/>
  <int value="2" label="Online"/>
</enum>

<enum name="ConnectionSubtype" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="NONE"/>
  <int value="2" label="OTHER"/>
  <int value="3" label="GSM"/>
  <int value="4" label="IDEN"/>
  <int value="5" label="CDMA"/>
  <int value="6" label="1XRTT"/>
  <int value="7" label="GPRS"/>
  <int value="8" label="EDGE"/>
  <int value="9" label="UMTS"/>
  <int value="10" label="EVDO_REV_0"/>
  <int value="11" label="EVDO_REV_A"/>
  <int value="12" label="HSPA"/>
  <int value="13" label="EVDO_REV_B"/>
  <int value="14" label="HSDPA"/>
  <int value="15" label="HSUPA"/>
  <int value="16" label="EHRPD"/>
  <int value="17" label="HSPAP"/>
  <int value="18" label="LTE"/>
  <int value="19" label="LTE_ADVANCED"/>
  <int value="20" label="BLUETOOTH_1_2"/>
  <int value="21" label="BLUETOOTH_2_1"/>
  <int value="22" label="BLUETOOTH_3_0"/>
  <int value="23" label="BLUETOOTH_4_0"/>
  <int value="24" label="ETHERNET"/>
  <int value="25" label="FAST_ETHERNET"/>
  <int value="26" label="GIGABIT_ETHERNET"/>
  <int value="27" label="10_GIGABIT_ETHERNET"/>
  <int value="28" label="WIFI_B"/>
  <int value="29" label="WIFI_G"/>
  <int value="30" label="WIFI_N"/>
  <int value="31" label="WIFI_AC"/>
  <int value="32" label="WIFI_AD"/>
</enum>

<enum name="ConnectionType" type="int">
  <obsolete>
    Removed May 2016.
  </obsolete>
  <summary>
    Connection type as defined in net/base/connection_type_histograms.h
  </summary>
  <int value="0" label="Any">Any connection (SSL, HTTP, SPDY, etc.)</int>
  <int value="1" label="SSL">An SSL connection</int>
  <int value="2" label="SSL-MD5">
    An SSL connection with an MD5 certificate in the certificate chain
    (excluding root)
  </int>
  <int value="3" label="SSL-MD2">
    An SSL connection with an MD2 certificate in the certificate chain
    (excluding root)
  </int>
  <int value="4" label="SSL-MD4">
    An SSL connection with an MD4 certificate in the certificate chain
    (excluding root)
  </int>
  <int value="5" label="SSL-MD5(CA)">
    An SSL connection with an MD5 CA certificate in the certificate chain
    (excluding root)
  </int>
  <int value="6" label="SSL-MD2(CA)">
    An SSL connection with an MD2 CA certificate in the cerfificate chain
    (excluding root)
  </int>
  <int value="7" label="HTTP">An HTTP connection</int>
  <int value="8" label="SPDY">A SPDY connection</int>
  <int value="9" label="SSL-2.0">An SSL connection that uses SSL 2.0</int>
  <int value="10" label="SSL-3.0">An SSL connection that uses SSL 3.0</int>
  <int value="11" label="TLS-1.0">An SSL connection that uses TLS 1.0</int>
  <int value="12" label="TLS-1.1">An SSL connection that uses TLS 1.1</int>
  <int value="13" label="TLS-1.2">An SSL connection that uses TLS 1.2</int>
</enum>

<enum name="ConnectivityDiagnosticsTestVerdict" type="int">
  <int value="0" label="NO_PROBLEM"/>
  <int value="1" label="POTENTIAL_PROBLEM"/>
  <int value="2" label="PROBLEM"/>
  <int value="3" label="TEST_FAILURE_OCCURRED"/>
  <int value="4" label="TEST_NOT_RUN"/>
</enum>

<enum name="ContentResourceType" type="int">
  <obsolete>
    Superseded by ContentResourceType in December 2015 when SUB_RESOURCE was
    split into RESOURCE_TYPE_SUB_RESOURCE and RESOURCE_TYPE_PLUGIN_RESOURCE, and
    PING was split into RESOURCE_TYPE_PING and RESOURCE_TYPE_CSP_REPORT.
  </obsolete>
  <int value="0" label="MAIN_FRAME"/>
  <int value="1" label="SUB_FRAME"/>
  <int value="2" label="STYLESHEET"/>
  <int value="3" label="SCRIPT"/>
  <int value="4" label="IMAGE"/>
  <int value="5" label="FONT_RESOURCE"/>
  <int value="6" label="SUB_RESOURCE"/>
  <int value="7" label="OBJECT"/>
  <int value="8" label="MEDIA"/>
  <int value="9" label="WORKER"/>
  <int value="10" label="SHARED_WORKER"/>
  <int value="11" label="PREFETCH"/>
  <int value="12" label="FAVICON"/>
  <int value="13" label="XHR"/>
  <int value="14" label="PING"/>
  <int value="15" label="RESOURCE_TYPE_SERVICE_WORKER"/>
</enum>

<enum name="ContentResourceType2" type="int">
  <int value="0" label="RESOURCE_TYPE_MAIN_FRAME"/>
  <int value="1" label="RESOURCE_TYPE_SUB_FRAME"/>
  <int value="2" label="RESOURCE_TYPE_STYLESHEET"/>
  <int value="3" label="RESOURCE_TYPE_SCRIPT"/>
  <int value="4" label="RESOURCE_TYPE_IMAGE"/>
  <int value="5" label="RESOURCE_TYPE_FONT_RESOURCE"/>
  <int value="6" label="RESOURCE_TYPE_SUB_RESOURCE"/>
  <int value="7" label="RESOURCE_TYPE_OBJECT"/>
  <int value="8" label="RESOURCE_TYPE_MEDIA"/>
  <int value="9" label="RESOURCE_TYPE_WORKER"/>
  <int value="10" label="RESOURCE_TYPE_SHARED_WORKER"/>
  <int value="11" label="RESOURCE_TYPE_PREFETCH"/>
  <int value="12" label="RESOURCE_TYPE_FAVICON"/>
  <int value="13" label="RESOURCE_TYPE_XHR"/>
  <int value="14" label="RESOURCE_TYPE_PING"/>
  <int value="15" label="RESOURCE_TYPE_SERVICE_WORKER"/>
  <int value="16" label="RESOURCE_TYPE_CSP_REPORT"/>
  <int value="17" label="RESOURCE_TYPE_PLUGIN_RESOURCE"/>
</enum>

<enum name="ContentSetting" type="int">
  <int value="0" label="DEFAULT"/>
  <int value="1" label="ALLOW"/>
  <int value="2" label="BLOCK"/>
  <int value="3" label="ASK"/>
  <int value="4" label="SESSION_ONLY"/>
  <int value="5" label="DETECT_IMPORTANT_CONTENT"/>
</enum>

<enum name="ContentSettingMixedScriptAction" type="int">
  <int value="0" label="Displayed shield"/>
  <int value="1" label="Displayed bubble"/>
  <int value="2" label="Clicked 'Load unsafe scripts'"/>
  <int value="3" label="Clicked 'Learn more'"/>
</enum>

<enum name="ContentSettingPluginsAction" type="int">
  <int value="0" label="Total number of navigations"/>
  <int value="1" label="Displayed plugin-blocked icon in Omnibox"/>
  <int value="2" label="Displayed bubble"/>
  <int value="3" label="Clicked 'Run all plugins this time'"/>
  <int value="4" label="Clicked 'Always allow plugins on this origin'"/>
  <int value="5" label="Clicked 'Manage plugin blocking'"/>
  <int value="6" label="Clicked 'Learn more'"/>
</enum>

<enum name="ContentSettingPopupAction" type="int">
  <int value="0" label="Displayed popup-blocked icon in Omnibox"/>
  <int value="1" label="Displayed bubble"/>
  <int value="2" label="Clicked 'Always allow pop-ups from'"/>
  <int value="3" label="Clicked one of the list items"/>
  <int value="4" label="Clicked 'Manage pop-up blocking'"/>
  <int value="5" label="Displayed popup-blocked infobar on mobile"/>
  <int value="6" label="Clicked 'Always show on mobile'"/>
</enum>

<enum name="ContentSettingScheme" type="int">
  <int value="0" label="(wildcard)"/>
  <int value="1" label="(other)"/>
  <int value="2" label="http"/>
  <int value="3" label="https"/>
  <int value="4" label="file"/>
  <int value="5" label="chrome-extension"/>
</enum>

<enum name="ContentSuggestionsCategory" type="int">
  <int value="0" label="Experimental"/>
  <int value="1" label="Recent Tabs"/>
  <int value="2" label="Downloads"/>
  <int value="3" label="Bookmarks"/>
  <int value="4" label="Physical Web Pages"/>
  <int value="5" label="Foreign Tabs"/>
  <int value="6" label="Articles"/>
</enum>

<enum name="ContentSuggestionsNotificationsAction" type="int">
  <int value="0" label="Tap"/>
  <int value="1" label="Dismissal"/>
  <int value="2" label="Hidden (Notification deadline passed)"/>
  <int value="3" label="Hidden (Suggestion expired)"/>
  <int value="4" label="Hidden (Chrome became frontmost)"/>
  <int value="5" label="Hidden (Category disabled)"/>
  <int value="6" label="Hidden (Content Suggestion Service shut down)"/>
  <int value="7" label="Settings"/>
</enum>

<enum name="ContentSuggestionsNotificationsImpression" type="int">
  <int value="0" label="Article"/>
  <int value="1" label="Non-Article"/>
</enum>

<enum name="ContentSuggestionsNotificationsOptOut" type="int">
  <int value="0" label="Implicit"/>
  <int value="1" label="Explicit"/>
</enum>

<enum name="ContentSuggestionsUIUpdateResult" type="int">
  <obsolete>
    Superseded by ContentSuggestionsUIUpdateResult2 in January 2017.
  </obsolete>
  <int value="0" label="Success (appended)"/>
  <int value="1" label="Success (no suggestion seen)"/>
  <int value="2" label="Success (1 suggestion seen)"/>
  <int value="3" label="Success (2 suggestions seen)"/>
  <int value="4" label="Success (3 suggestions seen)"/>
  <int value="5" label="Success (more than 3 suggestions seen)"/>
  <int value="6" label="Fail (all suggestions seen)"/>
  <int value="7" label="Fail (updates disabled)"/>
</enum>

<enum name="ContentSuggestionsUIUpdateResult2" type="int">
  <int value="0" label="Success (appended)"/>
  <int value="1" label="Success (some suggestions replaced)"/>
  <int value="2" label="Fail (all suggestions seen)"/>
  <int value="3" label="Fail (updates disabled)"/>
</enum>

<enum name="ContentType" type="int">
  <int value="-1" label="Invalid setting"/>
  <int value="0" label="Cookies setting"/>
  <int value="1" label="Images setting"/>
  <int value="2" label="JavaScript setting"/>
  <int value="3" label="Plugins setting"/>
  <int value="4" label="Popups setting"/>
  <int value="5" label="Location setting"/>
  <int value="6" label="Notifications setting"/>
  <int value="7" label="Auto Select Cert setting"/>
  <int value="8" label="Fullscreen setting [removed]"/>
  <int value="9" label="Mouselock setting [removed]"/>
  <int value="10" label="Mixed Script setting"/>
  <int value="11" label="Media setting (mic + camera) [removed]"/>
  <int value="12" label="Media setting (mic)"/>
  <int value="13" label="Media setting (camera)"/>
  <int value="14" label="Protocol Handler setting"/>
  <int value="15" label="PPAPI Broker setting"/>
  <int value="16" label="Automatic downloads setting"/>
  <int value="17" label="MIDI sysex setting"/>
  <int value="18" label="Push messaging setting [removed]"/>
  <int value="19" label="SSL Certificate Decisions setting"/>
  <int value="20" label="Metro switch-to-desktop setting [removed]"/>
  <int value="21"
      label="Protected media identifier setting (Android/ChromeOS only)"/>
  <int value="22" label="App banner setting (Android only)"/>
  <int value="23" label="Site engagement setting"/>
  <int value="24" label="Durable storage setting"/>
  <int value="25" label="Key generation setting [removed]"/>
  <int value="26" label="Bluetooth guard setting"/>
  <int value="27" label="Background sync setting"/>
  <int value="28" label="Autoplay setting"/>
  <int value="30" label="Important site info setting"/>
  <int value="31" label="Permission autoblocker data setting"/>
  <int value="32" label="Subresource filter setting"/>
</enum>

<enum name="ContentTypeParseableResult" type="int">
  <int value="0" label="IsSupported returned and MIME type parseable"/>
  <int value="1" label="MayBeSupported returned and MIME type parseable"/>
  <int value="2" label="IsNotSupported returned and MIME type parseable"/>
  <int value="3"
      label="IsSupported returned and MIME type not parseable (should fail)"/>
  <int value="4"
      label="MayBeSupported returned and MIME type not parseable (should
             fail)"/>
  <int value="5"
      label="IsNotSupported returned and MIME type not parseable (acceptable)"/>
</enum>

<enum name="ContextLostReason" type="int">
  <summary>The reason for losing a GPU context.</summary>
  <int value="0" label="CONTEXT_INIT_FAILED"/>
  <int value="1" label="CONTEXT_LOST_GPU_CHANNEL_ERROR"/>
  <int value="2" label="CONTEXT_PARSE_ERROR_INVALID_SIZE"/>
  <int value="3" label="CONTEXT_PARSE_ERROR_OUT_OF_BOUNDS"/>
  <int value="4" label="CONTEXT_PARSE_ERROR_UNKNOWN_COMMAND"/>
  <int value="5" label="CONTEXT_PARSE_ERROR_INVALID_ARGS"/>
  <int value="6" label="CONTEXT_PARSE_ERROR_GENERIC_ERROR"/>
  <int value="7" label="CONTEXT_LOST_GUILTY"/>
  <int value="8" label="CONTEXT_LOST_INNOCENT"/>
  <int value="9" label="CONTEXT_LOST_UNKNOWN"/>
  <int value="10" label="CONTEXT_LOST_OUT_OF_MEMORY"/>
  <int value="11" label="CONTEXT_LOST_MAKECURRENT_FAILED"/>
  <int value="12" label="CONTEXT_LOST_INVALID_GPU_MESSAGE"/>
</enum>

<enum name="ContextMenuOption" type="int">
  <summary>The item selected from a context menu</summary>
  <int value="0" label="Open in new tab"/>
  <int value="1" label="Open in incognito tab"/>
  <int value="2" label="Copy link address"/>
  <int value="3" label="Copy email address"/>
  <int value="4" label="Copy link text"/>
  <int value="5" label="Save link"/>
  <int value="6" label="Save image"/>
  <int value="7" label="Open image"/>
  <int value="8" label="Open image in new tab"/>
  <int value="9" label="Copy image"/>
  <int value="10" label="Copy image URL"/>
  <int value="11" label="Search by image"/>
  <int value="12" label="Load images"/>
  <int value="13" label="Load original image"/>
  <int value="14" label="Save video"/>
  <int value="15" label="Open link in a new window"/>
  <int value="16" label="Print"/>
  <int value="17" label="Search web for..."/>
  <int value="18" label="Save media as"/>
  <int value="19" label="Share image"/>
  <int value="20" label="Open in new/other window"/>
  <int value="21" label="Open (JavaScript evaluation)"/>
  <int value="22" label="Read Later"/>
  <int value="23" label="Send email"/>
  <int value="24" label="Add to contacts"/>
  <int value="25" label="Spellcheck suggestion"/>
  <int value="26" label="Add to dictionary"/>
  <int value="27" label="Context spelling toggle (Ask Google for suggestions)"/>
  <int value="28" label="Cut text"/>
  <int value="29" label="Paste text"/>
  <int value="30" label="Call"/>
  <int value="31" label="Send text message"/>
  <int value="32" label="Copy phone number"/>
  <int value="33" label="Open in new Chrome tab (CCT)"/>
  <int value="34" label="Open in Chrome incognito tab (CCT)"/>
  <int value="35" label="Open in browser (CCT)"/>
  <int value="36" label="Open in Chrome (Fullscreen)"/>
</enum>

<enum name="ContextMenuSaveLinkType" type="int">
  <summary>
    The content type when user chooses save link context menu option
  </summary>
  <int value="0" label="Unknown"/>
  <int value="1" label="Text"/>
  <int value="2" label="Image"/>
  <int value="3" label="Audio"/>
  <int value="4" label="Video"/>
  <int value="5" label="Pdf"/>
</enum>

<enum name="ContextProviderPhase" type="int">
  <int value="0" label="Acquired"/>
  <int value="1" label="Released"/>
</enum>

<enum name="ContextualSearchBarOverlapSeen" type="int">
  <int value="0" label="Overlap seen from Tap"/>
  <int value="1" label="Overlap not seen from Tap"/>
  <int value="2" label="No overlap seen from Tap"/>
  <int value="3" label="No overlap not seen from Tap"/>
  <int value="4" label="Overlap seen from Longpress"/>
  <int value="5" label="Overlap not seen from Longpress"/>
  <int value="6" label="No overlap seen from Longpress"/>
  <int value="7" label="No overlap not seen from Longpress"/>
</enum>

<enum name="ContextualSearchBasePageProtocol" type="int">
  <int value="0" label="Is HTTP"/>
  <int value="1" label="Not HTTP"/>
</enum>

<enum name="ContextualSearchBlacklistSeen" type="int">
  <int value="0" label="None, Seen"/>
  <int value="1" label="None, Not Seen"/>
  <int value="2" label="Number, Seen"/>
  <int value="3" label="Number, Not Seen"/>
  <int value="4" label="Determiner, Seen"/>
  <int value="5" label="Determiner, Not Seen"/>
  <int value="6" label="Preposition, Seen"/>
  <int value="7" label="Preposition, Not Seen"/>
  <int value="8" label="Navigation, Seen"/>
  <int value="9" label="Navigation, Not Seen"/>
  <int value="10" label="Misc, Seen"/>
  <int value="11" label="Misc, Not Seen"/>
</enum>

<enum name="ContextualSearchEnterClosedStateChange" type="int">
  <int value="0" label="From Other"/>
  <int value="1" label="From Peeked (back press)"/>
  <int value="2" label="From Peeked (base page scroll)"/>
  <int value="3" label="From Peeked (text select tap)"/>
  <int value="4" label="From Expanded (back press)"/>
  <int value="5" label="From Expanded (base page tap)"/>
  <int value="6" label="From Expanded (fling)"/>
  <int value="7" label="From Maximized (back press)"/>
  <int value="8" label="From Maximized (fling)"/>
  <int value="9" label="From Maximized (tab promotion)"/>
  <int value="10" label="From Maximized (SERP navigation)"/>
</enum>

<enum name="ContextualSearchEnterExpandedStateChange" type="int">
  <int value="0" label="From Other"/>
  <int value="1" label="From Peeked (search bar tap)"/>
  <int value="2" label="From Peeked (swipe)"/>
  <int value="3" label="From Peeked (fling)"/>
  <int value="4" label="From Maximized (swipe)"/>
  <int value="5" label="From Maximized (fling)"/>
</enum>

<enum name="ContextualSearchEnterMaximizedStateChange" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="From Peeked (swipe)"/>
  <int value="2" label="From Peeked (fling)"/>
  <int value="3" label="From Expanded (swipe)"/>
  <int value="4" label="From Expanded (fling)"/>
  <int value="5" label="From Expanded (SERP navigation)"/>
</enum>

<enum name="ContextualSearchEnterPeekedStateChange" type="int">
  <int value="0" label="From Other"/>
  <int value="1" label="From Closed (text select tap)"/>
  <int value="2" label="From Closed (text select long press)"/>
  <int value="3" label="From Peeked (text select tap)"/>
  <int value="4" label="From Peeked (text select long press)"/>
  <int value="5" label="From Expanded (search bar tap)"/>
  <int value="6" label="From Expanded (swipe)"/>
  <int value="7" label="From Expanded (fling)"/>
  <int value="8" label="From Maximized (swipe)"/>
  <int value="9" label="From Maximized (fling)"/>
</enum>

<enum name="ContextualSearchExitClosedStateChange" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="Peek (text select tap)"/>
  <int value="2" label="Peek (text select long press)"/>
</enum>

<enum name="ContextualSearchExitExpandedStateChange" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="Close (back press)"/>
  <int value="2" label="Close (base page tap)"/>
  <int value="3" label="Close (fling)"/>
  <int value="4" label="Peek (search bar tap)"/>
  <int value="5" label="Peek (swipe)"/>
  <int value="6" label="Peek (fling)"/>
  <int value="7" label="Maximize (swipe)"/>
  <int value="8" label="Maximize (fling)"/>
  <int value="9" label="Maximize (SERP navigation)"/>
</enum>

<enum name="ContextualSearchExitMaximizedStateChange" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="Close (back press)"/>
  <int value="2" label="Close (fling)"/>
  <int value="3" label="Close (tab promotion)"/>
  <int value="4" label="Close (SERP navigation)"/>
  <int value="5" label="Peek (swipe)"/>
  <int value="6" label="Peek (fling)"/>
  <int value="7" label="Expand (swipe)"/>
  <int value="8" label="Expand (fling)"/>
</enum>

<enum name="ContextualSearchExitPeekedStateChange" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="Close (back press)"/>
  <int value="2" label="Close (base page scroll)"/>
  <int value="3" label="Close (text select tap)"/>
  <int value="4" label="Peek (text select tap)"/>
  <int value="5" label="Peek (text select long press)"/>
  <int value="6" label="Expand (search bar tap)"/>
  <int value="7" label="Expand (swipe)"/>
  <int value="8" label="Expand (fling)"/>
  <int value="9" label="Maximize (swipe)"/>
  <int value="10" label="To Maximize (fling)"/>
</enum>

<enum name="ContextualSearchFirstRunPanelSeen" type="int">
  <int value="0" label="Seen"/>
  <int value="1" label="Unseen"/>
</enum>

<enum name="ContextualSearchIconSpriteAnimated" type="int">
  <int value="0" label="Animated, seen, from tap"/>
  <int value="1" label="Animated, not seen, from tap"/>
  <int value="2" label="Not animated, seen, from tap"/>
  <int value="3" label="Not animated, not seen, from tap"/>
  <int value="4" label="Animated, seen, from long press"/>
  <int value="5" label="Animated, not seen, from long press"/>
  <int value="6" label="Not animated, seen, from long press"/>
  <int value="7" label="Not animated, not seen, from long press"/>
</enum>

<enum name="ContextualSearchLoaded" type="int">
  <int value="0" label="Partially Loaded"/>
  <int value="1" label="Fully Loaded"/>
</enum>

<enum name="ContextualSearchOutcomeByGesture" type="int">
  <int value="0" label="Enabled, from Tap"/>
  <int value="1" label="Disabled, from Tap"/>
  <int value="2" label="Undecided from Tap"/>
  <int value="3" label="Enabled, from Long-press"/>
  <int value="4" label="Disabled, from Long-press"/>
  <int value="5" label="Undecided from Long-press"/>
</enum>

<enum name="ContextualSearchPeekPromoOutcome" type="int">
  <summary>The outcome of the Contextual Search Peek Promo.</summary>
  <int value="0" label="Peek Promo was seen, Panel was opened"/>
  <int value="1" label="Peek Promo was seen, Panel was not opened"/>
  <int value="2" label="Peek Promo was not seen, Panel was opened"/>
  <int value="3" label="Peek Promo was not seen, Panel was not opened"/>
</enum>

<enum name="ContextualSearchPreferenceState" type="int">
  <int value="0" label="Uninitialized"/>
  <int value="1" label="Enabled"/>
  <int value="2" label="Disabled"/>
</enum>

<enum name="ContextualSearchPrefetchSummary" type="int">
  <int value="0" label="Prefetched, partly loaded"/>
  <int value="1" label="Fully preloaded"/>
  <int value="2" label="Not prefetched"/>
</enum>

<enum name="ContextualSearchQuickActionCategory" type="int">
  <int value="0" label="None"/>
  <int value="1" label="Address"/>
  <int value="2" label="Email"/>
  <int value="3" label="Event"/>
  <int value="4" label="Phone"/>
  <int value="5" label="Website"/>
</enum>

<enum name="ContextualSearchQuickActionIntentResolution" type="int">
  <int value="0" label="No matching apps or resolve failed"/>
  <int value="1" label="One matching app"/>
  <int value="2" label="Multiple matching apps"/>
</enum>

<enum name="ContextualSearchQuickAnswerSeen" type="int">
  <int value="0" label="Activated, answered and seen"/>
  <int value="1" label="Activated and answered but not seen"/>
  <int value="2" label="Activated, not answered but seen"/>
  <int value="3" label="Activated, not answered nor seen"/>
  <int value="4" label="Not activated but seen"/>
  <int value="5" label="Not activated nor seen"/>
</enum>

<enum name="ContextualSearchResolvedTermWords" type="int">
  <int value="0" label="Single Word"/>
  <int value="1" label="Multi Word"/>
</enum>

<enum name="ContextualSearchResultsSeen" type="int">
  <int value="0" label="Seen"/>
  <int value="1" label="Unseen"/>
</enum>

<enum name="ContextualSearchSearchRequestStatus" type="int">
  <int value="0" label="Not Failed"/>
  <int value="1" label="Failed"/>
</enum>

<enum name="ContextualSearchSeenByGesture" type="int">
  <int value="0" label="Seen, from Tap"/>
  <int value="1" label="Not seen, from Tap"/>
  <int value="2" label="Seen, from Long-press"/>
  <int value="3" label="Not seen, from Long-press"/>
</enum>

<enum name="ContextualSearchSelectionValid" type="int">
  <int value="0" label="Valid"/>
  <int value="1" label="Invalid"/>
</enum>

<enum name="ContextualSearchShouldTranslate" type="int">
  <summary>
    Notes when a translation one-box should be forced by Contextual Search.
  </summary>
  <int value="0" label="Did force a translation"/>
  <int value="1" label="Would force a translation (if not disabled)"/>
</enum>

<enum name="ContextualSearchSuppressionResultsSeen" type="int">
  <int value="0" label="Seen, heuristic satisfied"/>
  <int value="1" label="Not seen, heuristic satisfied"/>
  <int value="2" label="Seen, heuristic not satisfied"/>
  <int value="3" label="Not seen, heuristic not satisfied"/>
</enum>

<enum name="ContextualSearchTapSuppression" type="int">
  <int value="0" label="Tap suppressed"/>
  <int value="1" label="Tap not suppressed"/>
</enum>

<enum name="CookieDeleteEquivalent" type="int">
  <int value="0"
      label="Attempt to delete an equivalent cookie during a set cookie
             operation"/>
  <int value="1" label="Equivalent cookie to delete was found"/>
  <int value="2"
      label="Secure cookie was skipped because of strict secure cookies rules"/>
  <int value="3"
      label="Secure cookie that was skipped because of strict secure cookie
             rules would have been deleted in non-strict secure cookie case"/>
</enum>

<enum name="CookieDeletionCause" type="int">
  <summary>Reason why a cookie was removed from the cookie store</summary>
  <int value="0" label="explicit">
    The user explicitly requested that we delete a cookie
  </int>
  <int value="1" label="overwrite">
    The value of the cookie was overwritten by a new value
  </int>
  <int value="2" label="expired">The cookie expiration time passed</int>
  <int value="3" label="evicted">
    The cookie was evicted during garbage collection (replaced by
    domain_evicted/global_evicted below)
  </int>
  <int value="4" label="store_dup">
    The backing store had two copies of the cookie so one was removed (i.e.
    problems writing the backing store database)
  </int>
  <int value="5" label="dont_record">
    The cookie deletion should not be recorded because it occurred, e.g., during
    shutdown (the fact that these values showed up in the histogram is a bug,
    since fixed)
  </int>
  <int value="6" label="domain_evicted">
    The cookie was evicted during per-domain/eTLD+1 garbage collection
  </int>
  <int value="7" label="global_evicted">
    The cookie was evicted during whole store garbage collection.
  </int>
  <int value="8" label="domain_evicted_pre_safe">
    The cookie evicted during per-domain/eTLD+1 garbage collection, and would
    have been evicted by the global garbage collection process (because they
    hadn't been accessed recently enough).
  </int>
  <int value="9" label="domain_evicted_post_safe">
    The cookie evicted during per-domain/eTLD+1 garbage collection, and would
    not have been evicted by global metrics as well (because they had been
    accessed recently enough to save).
  </int>
  <int value="10" label="expired_overwrite">
    The cookie deletion occurred because the server overwrote it with an already
    expired cookie (this is a common idiom for server deletions of cookies).
  </int>
</enum>

<enum name="CookieOrCacheDeletion" type="int">
  <int value="0" label="Neither"/>
  <int value="1" label="Only cookies"/>
  <int value="2" label="Only cache"/>
  <int value="3" label="Both"/>
</enum>

<enum name="CookiePrefix" type="int">
  <int value="0" label="No special prefix"/>
  <int value="1" label="Secure prefix"/>
  <int value="2" label="Host prefix"/>
</enum>

<enum name="CookieSourceScheme" type="int">
  <int value="0" label="Secure cookie, source scheme is cryptographic"/>
  <int value="1" label="Secure cookie, source scheme is not cryptographic"/>
  <int value="2" label="Not Secure cookie, source scheme is cryptographic"/>
  <int value="3" label="Not Secure cookie, source scheme is not cryptographic"/>
</enum>

<enum name="CookieType" type="int">
  <summary>The type of a cookie when its added to the cookie store.</summary>
  <int value="0" label="Default"/>
  <int value="1" label="First-Party-Only"/>
  <int value="2" label="HttpOnly"/>
  <int value="3" label="First-Party-Only, HttpOnly"/>
  <int value="4" label="Secure"/>
  <int value="5" label="First-Party-Only, Secure"/>
  <int value="6" label="HttpOnly, Secure"/>
  <int value="7" label="First-Party-Only, HttpOnly, Secure"/>
</enum>

<enum name="CopylessCacheHit" type="int">
  <int value="0" label="Cache hit with entity"/>
  <int value="1" label="Cache hit without entity"/>
  <int value="2" label="Cache miss"/>
</enum>

<enum name="CorePageTransition" type="int">
  <summary>
    The core value of PageTransition. See ui/base/page_transition_types.h.
  </summary>
  <int value="0" label="LINK"/>
  <int value="1" label="TYPED"/>
  <int value="2" label="AUTO_BOOKMARK"/>
  <int value="3" label="AUTO_SUBFRAME"/>
  <int value="4" label="MANUAL_SUBFRAME"/>
  <int value="5" label="GENERATED"/>
  <int value="6" label="START_PAGE"/>
  <int value="7" label="FORM_SUBMIT"/>
  <int value="8" label="RELOAD"/>
  <int value="9" label="KEYWORD"/>
  <int value="10" label="KEYWORD_GENERATED"/>
</enum>

<enum name="CorruptExtensionDisabledReason" type="int">
  <summary>
    The reason why content verification flagged an extension as corrupted. See
    ContentVerifyJob::FailureReason in
    src/extensions/browser/content_verify_job.h.
  </summary>
  <int value="0" label="Unknown Reason"/>
  <int value="1" label="Missing All Hashes"/>
  <int value="2" label="Missing File Hash"/>
  <int value="3" label="Hash Mismatch"/>
</enum>

<enum name="CrashExitCodes" type="int">
  <int value="1" label="RESULT_CODE_KILLED"/>
  <int value="2" label="RESULT_CODE_HUNG"/>
  <int value="3" label="RESULT_CODE_KILLED_BAD_MESSAGE"/>
  <int value="4" label="RESULT_CODE_INVALID_CMDLINE_URL"/>
  <int value="5" label="RESULT_CODE_BAD_PROCESS_TYPE"/>
  <int value="6" label="RESULT_CODE_MISSING_DATA"/>
  <int value="7" label="RESULT_CODE_SHELL_INTEGRATION_FAILED"/>
  <int value="8" label="RESULT_CODE_MACHINE_LEVEL_INSTALL_EXISTS"/>
  <int value="9" label="RESULT_CODE_UNINSTALL_CHROME_ALIVE"/>
  <int value="10" label="RESULT_CODE_UNINSTALL_USER_CANCEL"/>
  <int value="11" label="RESULT_CODE_UNINSTALL_DELETE_PROFILE"/>
  <int value="12" label="RESULT_CODE_UNSUPPORTED_PARAM"/>
  <int value="13" label="RESULT_CODE_IMPORTER_HUNG"/>
  <int value="14" label="RESULT_CODE_RESPAWN_FAILED"/>
  <int value="15" label="RESULT_CODE_NORMAL_EXIT_EXP1"/>
  <int value="16" label="RESULT_CODE_NORMAL_EXIT_EXP2"/>
  <int value="17" label="RESULT_CODE_NORMAL_EXIT_EXP3"/>
  <int value="18" label="RESULT_CODE_NORMAL_EXIT_EXP4"/>
  <int value="19" label="RESULT_CODE_NORMAL_EXIT_CANCEL"/>
  <int value="20" label="RESULT_CODE_PROFILE_IN_USE"/>
  <int value="21" label="RESULT_CODE_PACK_EXTENSION_ERROR"/>
  <int value="22" label="RESULT_CODE_UNINSTALL_EXTENSION_ERROR"/>
  <int value="23" label="RESULT_CODE_NORMAL_EXIT_PROCESS_NOTIFIED"/>
  <int value="25" label="RESULT_CODE_INSTALL_FROM_WEBSTORE_ERROR_2"/>
  <int value="27" label="RESULT_CODE_EULA_REFUSED"/>
  <int value="28" label="RESULT_CODE_SXS_MIGRATION_FAILED"/>
  <int value="29" label="RESULT_CODE_ACTION_DISALLOWED_BY_POLICY"/>
  <int value="30" label="RESULT_CODE_INVALID_SANDBOX_STATE"/>
  <int value="258" label="WAIT_TIMEOUT"/>
  <int value="7006" label="SBOX_FATAL_INTEGRITY"/>
  <int value="7007" label="SBOX_FATAL_DROPTOKEN"/>
  <int value="7008" label="SBOX_FATAL_FLUSHANDLES"/>
  <int value="7009" label="SBOX_FATAL_CACHEDISABLE"/>
  <int value="7010" label="SBOX_FATAL_CLOSEHANDLES"/>
  <int value="7011" label="SBOX_FATAL_MITIGATION"/>
  <int value="7012" label="SBOX_FATAL_MEMORY_EXCEEDED"/>
  <int value="7013" label="SBOX_FATAL_WARMUP"/>
  <int value="36862" label="Crashpad_FailedToCaptureProcess"/>
  <int value="36863" label="Crashpad_HandlerDidNotRespond"/>
  <int value="85436397" label="Crashpad_SimulatedCrash"/>
  <int value="529697949" label="CPP_EH_EXCEPTION"/>
  <int value="533692099" label="STATUS_GUARD_PAGE_VIOLATION"/>
  <int value="536870904" label="Out of Memory"/>
  <int value="1073740791" label="STATUS_STACK_BUFFER_OVERRUN"/>
  <int value="1073740940" label="STATUS_HEAP_CORRUPTION"/>
  <int value="1073741502" label="STATUS_DLL_INIT_FAILED"/>
  <int value="1073741510" label="STATUS_CONTROL_C_EXIT"/>
  <int value="1073741515" label="STATUS_DLL_NOT_FOUND"/>
  <int value="1073741571" label="STATUS_STACK_OVERFLOW"/>
  <int value="1073741659" label="STATUS_BAD_IMPERSONATION_LEVEL"/>
  <int value="1073741674" label="STATUS_PRIVILEGED_INSTRUCTION"/>
  <int value="1073741675" label="STATUS_INTEGER_OVERFLOW"/>
  <int value="1073741676" label="STATUS_INTEGER_DIVIDE_BY_ZERO"/>
  <int value="1073741677" label="STATUS_FLOAT_UNDERFLOW"/>
  <int value="1073741678" label="STATUS_FLOAT_STACK_CHECK"/>
  <int value="1073741679" label="STATUS_FLOAT_OVERFLOW"/>
  <int value="1073741680" label="STATUS_FLOAT_INVALID_OPERATION"/>
  <int value="1073741681" label="STATUS_FLOAT_INEXACT_RESULT"/>
  <int value="1073741682" label="STATUS_FLOAT_DIVIDE_BY_ZERO"/>
  <int value="1073741683" label="STATUS_FLOAT_DENORMAL_OPERAND"/>
  <int value="1073741684" label="STATUS_ARRAY_BOUNDS_EXCEEDED"/>
  <int value="1073741783" label="STATUS_INVALID_UNWIND_TARGET"/>
  <int value="1073741786" label="STATUS_INVALID_DISPOSITION"/>
  <int value="1073741787" label="STATUS_NONCONTINUABLE_EXCEPTION"/>
  <int value="1073741790" label="STATUS_ACCESS_DENIED"/>
  <int value="1073741794" label="STATUS_INVALID_LOCK_SEQUENCE"/>
  <int value="1073741795" label="STATUS_ILLEGAL_INSTRUCTION"/>
  <int value="1073741800" label="STATUS_CONFLICTING_ADDRESSES"/>
  <int value="1073741801" label="STATUS_NO_MEMORY"/>
  <int value="1073741811" label="STATUS_INVALID_PARAMETER"/>
  <int value="1073741816" label="STATUS_INVALID_HANDLE"/>
  <int value="1073741818" label="STATUS_IN_PAGE_ERROR"/>
  <int value="1073741819" label="STATUS_ACCESS_VIOLATION"/>
  <int value="1073741829" label="STATUS_SEGMENT_NOTIFICATION"/>
  <int value="1073741845" label="STATUS_FATAL_APP_EXIT"/>
  <int value="2147483644" label="STATUS_SINGLE_STEP"/>
  <int value="2147483645" label="STATUS_BREAKPOINT"/>
  <int value="2147483646" label="STATUS_DATATYPE_MISALIGNMENT"/>
</enum>

<enum name="CrashpadExceptionCaptureResult" type="int">
  <int value="0" label="kSuccess"/>
  <int value="1" label="kUnexpectedExceptionBehavior"/>
  <int value="2" label="kFailedDueToSuspendSelf"/>
  <int value="3" label="kSnapshotFailed"/>
  <int value="4" label="kExceptionInitializationFailed"/>
  <int value="5" label="kPrepareNewCrashReportFailed"/>
  <int value="6" label="kMinidumpWriteFailed"/>
  <int value="7" label="kFinishWritingCrashReportFailed"/>
</enum>

<enum name="CrashpadExceptionProcessingState" type="int">
  <int value="0" label="kStarted"/>
  <int value="1" label="kFinished"/>
</enum>

<enum name="CrashpadLifetimeMilestone" type="int">
  <int value="0" label="kStarted"/>
  <int value="1" label="kExitedNormally"/>
  <int value="2" label="kExitedEarly"/>
  <int value="3" label="kFailed"/>
  <int value="4" label="kTerminated"/>
  <int value="5" label="kCrashed"/>
</enum>

<enum name="CrashpadMacExceptionCodes" type="int">
  <int value="1" label="EXC_BAD_ACCESS"/>
  <int value="2" label="EXC_BAD_INSTRUCTION"/>
  <int value="3" label="EXC_ARITHMETIC"/>
  <int value="4" label="EXC_EMULATION"/>
  <int value="5" label="EXC_SOFTWARE"/>
  <int value="6" label="EXC_BREAKPOINT"/>
  <int value="7" label="EXC_SYSCALL"/>
  <int value="8" label="EXC_MACH_SYSCALL"/>
  <int value="9" label="EXC_RPC_ALERT"/>
  <int value="10" label="EXC_CRASH"/>
  <int value="11" label="EXC_RESOURCE"/>
  <int value="12" label="EXC_GUARD"/>
  <int value="13" label="EXC_CORPSE_NOTIFY"/>
  <int value="65537" label="EXC_BAD_ACCESS/KERN_INVALID_ADDRESS"/>
  <int value="65538" label="EXC_BAD_ACCESS/KERN_PROTECTION_FAILURE"/>
  <int value="65541" label="EXC_BAD_ACCESS/(VM_PROT_READ|VM_PROT_EXECUTE)"/>
  <int value="65549" label="EXC_BAD_ACCESS/EXC_I386_GPFLT"/>
  <int value="65586" label="EXC_BAD_ACCESS/KERN_CODESIGN_ERROR"/>
  <int value="131073" label="EXC_BAD_INSTRUCTION/EXC_I386_INVOP"/>
  <int value="131083" label="EXC_BAD_INSTRUCTION/EXC_I386_SEGNPFLT"/>
  <int value="131084" label="EXC_BAD_INSTRUCTION/EXC_I386_STKFLT"/>
  <int value="196609" label="EXC_ARITHMETIC/EXC_I386_DIV"/>
  <int value="196610" label="EXC_ARITHMETIC/EXC_I386_INTO"/>
  <int value="196613" label="EXC_ARITHMETIC/EXC_I386_EXTERR"/>
  <int value="196616" label="EXC_ARITHMETIC/EXC_I386_SSEEXTERR"/>
  <int value="327687" label="EXC_SOFTWARE/EXC_I386_BOUND"/>
  <int value="393217" label="EXC_BREAKPOINT/EXC_I386_SGL"/>
  <int value="393218" label="EXC_BREAKPOINT/EXC_I386_BPT"/>
  <int value="458752" label="EXC_SYSCALL/0"/>
  <int value="458880" label="EXC_SYSCALL/128"/>
  <int value="483328" label="EXC_SYSCALL/0x6000"/>
  <int value="655363" label="EXC_CRASH/SIGQUIT"/>
  <int value="655364" label="EXC_CRASH/SIGILL (raised)"/>
  <int value="655365" label="EXC_CRASH/SIGTRAP (raised)"/>
  <int value="655366" label="EXC_CRASH/SIGABRT"/>
  <int value="655367" label="EXC_CRASH/SIGEMT (raised)"/>
  <int value="655368" label="EXC_CRASH/SIGFPE (raised)"/>
  <int value="655370" label="EXC_CRASH/SIGBUS (raised)"/>
  <int value="655371" label="EXC_CRASH/SIGSEGV (raised)"/>
  <int value="655372" label="EXC_CRASH/SIGSYS"/>
  <int value="721153"
      label="EXC_RESOURCE/RESOURCE_TYPE_CPU/FLAVOR_CPU_MONITOR"/>
  <int value="721154"
      label="EXC_RESOURCE/RESOURCE_TYPE_CPU/FLAVOR_CPU_MONITOR_FATAL"/>
  <int value="721409"
      label="EXC_RESOURCE/RESOURCE_TYPE_WAKEUPS/FLAVOR_WAKEUPS_MONITOR"/>
  <int value="721665"
      label="EXC_RESOURCE/RESOURCE_TYPE_MEMORY/FLAVOR_HIGH_WATERMARK"/>
  <int value="721921"
      label="EXC_RESOURCE/RESOURCE_TYPE_IO/FLAVOR_IO_PHYSICAL_WRITES"/>
  <int value="721922"
      label="EXC_RESOURCE/RESOURCE_TYPE_IO/FLAVOR_IO_LOGICAL_WRITES"/>
  <int value="786688"
      label="EXC_GUARD/GUARD_TYPE_MACH_PORT/kGUARD_EXC_DESTROY"/>
  <int value="786689"
      label="EXC_GUARD/GUARD_TYPE_MACH_PORT/kGUARD_EXC_MOD_REFS"/>
  <int value="786690"
      label="EXC_GUARD/GUARD_TYPE_MACH_PORT/kGUARD_EXC_SET_CONTEXT"/>
  <int value="786691"
      label="EXC_GUARD/GUARD_TYPE_MACH_PORT/kGUARD_EXC_UNGUARDED"/>
  <int value="786692"
      label="EXC_GUARD/GUARD_TYPE_MACH_PORT/kGUARD_EXC_INCORRECT_GUARD"/>
  <int value="786944" label="EXC_GUARD/GUARD_TYPE_FD/kGUARD_EXC_CLOSE"/>
  <int value="786945" label="EXC_GUARD/GUARD_TYPE_FD/kGUARD_EXC_DUP"/>
  <int value="786946" label="EXC_GUARD/GUARD_TYPE_FD/kGUARD_EXC_NOCLOEXEC"/>
  <int value="786947" label="EXC_GUARD/GUARD_TYPE_FD/kGUARD_EXC_SOCKET_IPC"/>
  <int value="786948" label="EXC_GUARD/GUARD_TYPE_FD/kGUARD_EXC_FILEPORT"/>
  <int value="786949" label="EXC_GUARD/GUARD_TYPE_FD/kGUARD_EXC_MISMATCH"/>
  <int value="786950" label="EXC_GUARD/GUARD_TYPE_FD/kGUARD_EXC_WRITE"/>
  <int value="851968" label="EXC_CORPSE_NOTIFY/0"/>
  <int value="1129345912" label="crashpad::kMachExceptionSimulated"/>
  <int value="1396900608" label="SIGQUIT/0"/>
  <int value="1396900864" label="SIGILL/ILL_NOOP"/>
  <int value="1396900865" label="SIGILL/ILL_ILLOPC"/>
  <int value="1396900866" label="SIGILL/ILL_ILLTRP"/>
  <int value="1396900867" label="SIGILL/ILL_PRVOPC"/>
  <int value="1396900868" label="SIGILL/ILL_ILLOPN"/>
  <int value="1396900869" label="SIGILL/ILL_ILLADR"/>
  <int value="1396900870" label="SIGILL/ILL_PRVREG"/>
  <int value="1396900871" label="SIGILL/ILL_COPROC"/>
  <int value="1396900872" label="SIGILL/ILL_BADSTK"/>
  <int value="1396901120" label="SIGTRAP/0"/>
  <int value="1396901121" label="SIGTRAP/TRAP_BRKPT"/>
  <int value="1396901122" label="SIGTRAP/TRAP_TRACE"/>
  <int value="1396901376" label="SIGABRT/0"/>
  <int value="1396901632" label="SIGEMT/0"/>
  <int value="1396901888" label="SIGFPE/FPE_NOOP"/>
  <int value="1396901889" label="SIGFPE/FPE_FLTDIV"/>
  <int value="1396901890" label="SIGFPE/FPE_FLTOVF"/>
  <int value="1396901891" label="SIGFPE/FPE_FLTUND"/>
  <int value="1396901892" label="SIGFPE/FPE_FLTRES"/>
  <int value="1396901893" label="SIGFPE/FPE_FLTINV"/>
  <int value="1396901894" label="SIGFPE/FPE_FLTSUB"/>
  <int value="1396901895" label="SIGFPE/FPE_INTDIV"/>
  <int value="1396901896" label="SIGFPE/FPE_INTOVF"/>
  <int value="1396902400" label="SIGBUS/BUS_NOOP"/>
  <int value="1396902401" label="SIGBUS/BUS_ADRALN"/>
  <int value="1396902402" label="SIGBUS/BUS_ADRERR"/>
  <int value="1396902403" label="SIGBUS/BUS_OBJERR"/>
  <int value="1396902656" label="SIGSEGV/SEGV_NOOP"/>
  <int value="1396902657" label="SIGSEGV/SEGV_MAPERR"/>
  <int value="1396902658" label="SIGSEGV/SEGV_ACCERR"/>
  <int value="1396902912" label="SIGSYS/0"/>
</enum>

<enum name="CrashpadReportPending" type="int">
  <int value="0" label="kNewlyCreated"/>
  <int value="1" label="kUserInitiated"/>
</enum>

<enum name="CrashpadUploadAttemptStatus" type="int">
  <int value="0" label="Failed"/>
  <int value="1" label="Succeeded"/>
</enum>

<enum name="CrashpadUploadSkippedReason" type="int">
  <int value="0" label="kUploadsDisabled"/>
  <int value="1" label="kUploadThrottled"/>
  <int value="2" label="kUnexpectedTime"/>
  <int value="3" label="kDatabaseError"/>
  <int value="4" label="kUploadFailed"/>
</enum>

<enum name="CrashpadWinExceptionCodes" type="int">
  <int value="-2147483647" label="EXCEPTION_GUARD_PAGE"/>
  <int value="-2147483646" label="EXCEPTION_DATATYPE_MISALIGNMENT"/>
  <int value="-2147483645" label="EXCEPTION_BREAKPOINT"/>
  <int value="-2147483644" label="EXCEPTION_SINGLE_STEP"/>
  <int value="-1073741822" label="STATUS_NOT_IMPLEMENTED"/>
  <int value="-1073741819" label="EXCEPTION_ACCESS_VIOLATION"/>
  <int value="-1073741818" label="EXCEPTION_IN_PAGE_ERROR"/>
  <int value="-1073741816" label="EXCEPTION_INVALID_HANDLE"/>
  <int value="-1073741811" label="STATUS_INVALID_PARAMETER"/>
  <int value="-1073741803" label="STATUS_NONEXISTENT_SECTOR"/>
  <int value="-1073741801" label="STATUS_NO_MEMORY"/>
  <int value="-1073741795" label="EXCEPTION_ILLEGAL_INSTRUCTION"/>
  <int value="-1073741794" label="STATUS_INVALID_LOCK_SEQUENCE"/>
  <int value="-1073741790" label="STATUS_ACCESS_DENIED"/>
  <int value="-1073741788" label="STATUS_OBJECT_TYPE_MISMATCH"/>
  <int value="-1073741739" label="STATUS_LOCK_NOT_GRANTED"/>
  <int value="-1073741684" label="EXCEPTION_ARRAY_BOUNDS_EXCEEDED"/>
  <int value="-1073741682" label="EXCEPTION_FLT_DIVIDE_BY_ZERO"/>
  <int value="-1073741681" label="EXCEPTION_FLT_INEXACT_RESULT"/>
  <int value="-1073741680" label="EXCEPTION_FLT_INVALID_OPERATION"/>
  <int value="-1073741679" label="EXCEPTION_FLT_OVERFLOW"/>
  <int value="-1073741678" label="EXCEPTION_FLT_STACK_CHECK"/>
  <int value="-1073741677" label="EXCEPTION_FLT_UNDERFLOW"/>
  <int value="-1073741676" label="EXCEPTION_INT_DIVIDE_BY_ZERO"/>
  <int value="-1073741675" label="EXCEPTION_INT_OVERFLOW"/>
  <int value="-1073741674" label="EXCEPTION_PRIV_INSTRUCTION"/>
  <int value="-1073741571" label="EXCEPTION_STACK_OVERFLOW"/>
  <int value="-1073741569" label="STATUS_BAD_FUNCTION_TABLE"/>
  <int value="-1073741420" label="EXCEPTION_POSSIBLE_DEADLOCK"/>
  <int value="-1073741224" label="STATUS_NO_CALLBACK_ACTIVE"/>
  <int value="-1073741212" label="STATUS_RESOURCE_NOT_OWNED"/>
  <int value="-1073741132" label="STATUS_FLOAT_MULTIPLE_FAULTS"/>
  <int value="-1073741131" label="STATUS_FLOAT_MULTIPLE_TRAPS"/>
  <int value="-1073740791" label="STATUS_STACK_BUFFER_OVERRUN"/>
  <int value="-1073740022" label="STATUS_THREADPOOL_HANDLE_EXCEPTION"/>
  <int value="-1073740021"
      label="STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED"/>
  <int value="-1073740020"
      label="STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED"/>
  <int value="-1073740018"
      label="STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED"/>
  <int value="-1073740016"
      label="STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING"/>
  <int value="-1073740004" label="STATUS_INVALID_THREAD"/>
  <int value="-1073740003" label="STATUS_CALLBACK_RETURNED_TRANSACTION"/>
  <int value="-1073740002" label="STATUS_CALLBACK_RETURNED_LDR_LOCK"/>
  <int value="-1073740001" label="STATUS_CALLBACK_RETURNED_LANG"/>
  <int value="-1073610685" label="RPC_NT_INTERNAL_ERROR"/>
  <int value="-1072365553" label="STATUS_SXS_EARLY_DEACTIVATION"/>
  <int value="-1072365552" label="STATUS_SXS_INVALID_DEACTIVATION"/>
  <int value="-1072365551" label="STATUS_SXS_MULTIPLE_DEACTIVATION"/>
  <int value="-1072365548" label="STATUS_SXS_CORRUPT_ACTIVATION_STACK"/>
  <int value="-1066598274" label="FACILITY_VISUALCPP/ERROR_MOD_NOT_FOUND"/>
  <int value="-1066598273" label="FACILITY_VISUALCPP/ERROR_PROC_NOT_FOUND"/>
  <int value="-536870904" label="base::win::kOomExceptionCode"/>
  <int value="-529697949" label="EH_EXCEPTION_NUMBER"/>
  <int value="1285" label="ERROR_DELAY_LOAD_FAILED"/>
  <int value="1717" label="RPC_S_UNKNOWN_IF"/>
  <int value="1722" label="RPC_S_SERVER_UNAVAILABLE"/>
  <int value="1726" label="RPC_S_CALL_FAILED"/>
  <int value="1766" label="RPC_S_INTERNAL_ERROR"/>
  <int value="1783" label="RPC_X_BAD_STUB_DATA"/>
  <int value="1818" label="RPC_S_CALL_CANCELLED"/>
  <int value="85436397" label="crashpad::kSimulatedExceptionCode"/>
  <int value="250477278" label="(Delphi exception)"/>
</enum>

<enum name="CreatePersistentHistogramResult" type="int">
  <int value="0" label="Success: Histogram created in persistent space."/>
  <int value="1" label="Error: Invalid metadata pointer. (coding error)"/>
  <int value="2" label="Error: Invalid metdata."/>
  <int value="3" label="Error: Invalid 'ranges' array."/>
  <int value="4" label="Error: Invalid 'counts' array."/>
  <int value="5" label="Failed: Allocator is corrupt."/>
  <int value="6" label="Failed: Allocator is full."/>
  <int value="7" label="Failed: Allocator failed (unknown error)."/>
  <int value="8" label="Error: Unknown histogram type."/>
  <int value="9" label="Error: Allocator has become corrupted."/>
</enum>

<enum name="CredentialFilteredType" type="int">
  <int value="0" label="No sync credentials present"/>
  <int value="1" label="Sync credentials were removed"/>
</enum>

<enum name="CredentialManagerGetResult" type="int">
  <int value="0" label="Promise rejected"/>
  <int value="1" label="Empty credential, auto sign-in disallowed"/>
  <int value="2" label="Empty credential, empty password store"/>
  <int value="3" label="Empty credential, multiple matches"/>
  <int value="4" label="Empty credential, user signed out"/>
  <int value="5" label="Empty credential, auto sign-in FRE pending"/>
  <int value="6" label="Empty credential, any other reason"/>
  <int value="7" label="Account chooser credential"/>
  <int value="8" label="Auto sign-in"/>
</enum>

<enum name="CrosBeamformingDeviceState" type="int">
  <int value="0" label="Default enabled"/>
  <int value="1" label="User enabled"/>
  <int value="2" label="Default disabled"/>
  <int value="3" label="User disabled"/>
</enum>

<enum name="CrosDisksArchiveType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="ZIP"/>
  <int value="2" label="RAR"/>
  <int value="3" label="Tar"/>
  <int value="4" label="Bzip2-compressed Tar"/>
  <int value="5" label="Gzip-compressed Tar"/>
</enum>

<enum name="CrosDisksDeviceMediaType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="USB Drive"/>
  <int value="2" label="SD Card"/>
  <int value="3" label="Optical Disc"/>
  <int value="4" label="Mobile Device"/>
  <int value="5" label="DVD"/>
</enum>

<enum name="CrosDisksFilesystemType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Others"/>
  <int value="2" label="FAT"/>
  <int value="3" label="exFAT"/>
  <int value="4" label="NTFS"/>
  <int value="5" label="HFS+"/>
  <int value="6" label="Ext2"/>
  <int value="7" label="Ext3"/>
  <int value="8" label="Ext4"/>
  <int value="9" label="ISO9660"/>
  <int value="10" label="UDF"/>
</enum>

<enum name="CrosEnableDriveOfflineOutcome" type="int">
  <int value="0" label="Success: Offline mode enabled"/>
  <int value="1" label="Failure: Hosted app page timed out"/>
  <int value="2" label="Failure: Hosted app page load failed"/>
  <int value="3" label="Failure: Not a regular user account"/>
  <int value="4" label="Failure: Drive app not installed"/>
  <int value="5" label="Failure: Background page already exists"/>
</enum>

<enum name="CrosEventEnum" type="int">
  <int value="0" label="ModemManagerCommandSendFailure"/>
  <int value="1" label="HwWatchdogReboot"/>
  <int value="2" label="Cras.NoCodecsFoundAtBoot"/>
  <int value="3" label="Chaps.DatabaseCorrupted"/>
  <int value="4" label="Chaps.DatabaseRepairFailure"/>
  <int value="5" label="Chaps.DatabaseCreateFailure"/>
  <int value="6" label="Attestation.OriginSpecificExhausted"/>
  <int value="7" label="SpringPowerSupply.Original.High"/>
  <int value="8" label="SpringPowerSupply.Other.High"/>
  <int value="9" label="SpringPowerSupply.Original.Low"/>
  <int value="10" label="SpringPowerSupply.ChargerIdle"/>
  <int value="11" label="TPM.NonZeroDictionaryAttackCounter"/>
  <int value="12" label="TPM.EarlyResetDuringCommand"/>
  <int value="13" label="VeyronEmmcUpgrade.Success"/>
  <int value="14" label="VeyronEmmcUpgrade.WaitForKernelRollup"/>
  <int value="15" label="VeyronEmmcUpgrade.WaitForFirmwareRollup"/>
  <int value="16" label="VeyronEmmcUpgrade.BadEmmcProperties"/>
  <int value="17" label="VeyronEmmcUpgrade.FailedDiskAccess"/>
  <int value="18" label="VeyronEmmcUpgrade.FailedWPEnable"/>
  <int value="19" label="VeyronEmmcUpgrade.SignatureDetected"/>
  <int value="20" label="Watchdog.StartupFailed"/>
</enum>

<enum name="CrosFirstRunTutorialCompletionType" type="int">
  <int value="0" label="Was not finished"/>
  <int value="1" label="Finished with &quot;Got It&quot; button"/>
  <int value="2" label="Finished with &quot;Keep Exploring&quot; button"/>
</enum>

<enum name="CrosShelfClickTarget" type="int">
  <obsolete>
    Deprecated as of 12/2013. Default pinned apps trial is finished.
  </obsolete>
  <int value="0" label="Chrome"/>
  <int value="1" label="AppLauncher"/>
  <int value="2" label="Gmail"/>
  <int value="3" label="Search"/>
  <int value="4" label="Youtube"/>
  <int value="5" label="Doc"/>
  <int value="6" label="Sheets"/>
  <int value="7" label="Slides"/>
  <int value="8" label="PlayMusic"/>
</enum>

<enum name="CrossOriginAutoplayResult" type="int">
  <int value="0" label="Allowed"/>
  <int value="1" label="Blocked"/>
  <int value="2" label="PlayedWithGesture"/>
  <int value="3" label="UserPaused"/>
</enum>

<enum name="CrosTPMDictionaryAttackResetStatusEnum" type="int">
  <int value="0" label="Reset not necessary"/>
  <int value="1" label="Reset attempt succeeded"/>
  <int value="2" label="Reset attempt failed"/>
  <int value="3" label="TPM owner delegate not allowed to reset"/>
  <int value="4" label="TPM owner delegate does not exist"/>
  <int value="5" label="Failed to query dictionary attack counter"/>
</enum>

<enum name="CryptohomeChecksumStatus" type="int">
  <int value="0" label="Checksum OK"/>
  <int value="1" label="Checksum does not exist"/>
  <int value="2" label="Checksum read error"/>
  <int value="3" label="Checksum mismatch"/>
  <int value="4" label="Checksum out of sync"/>
</enum>

<enum name="CryptohomeError" type="int">
  <int value="1" label="TPM returned TPM_E_FAIL"/>
  <int value="2" label="TCS key load failed"/>
  <int value="3" label="TPM dictionary defense lock is running"/>
  <int value="4" label="Decrypt attempt but TPM key is missing"/>
  <int value="5" label="Decrypt attempt but TPM is not owned"/>
  <int value="6" label="Decrypt attempt but TPM is not available"/>
  <int value="7" label="Decrypt attempt but TPM key is mismatched"/>
  <int value="8" label="Decrypt attempt with TPM key failed (general)"/>
  <int value="9" label="Cannot load TPM SRK"/>
  <int value="10" label="Cannot read TPM SRK public info"/>
  <int value="11" label="Cannot load cryptohome TPM key"/>
  <int value="12" label="Cannot read cryptohome TPM key public info"/>
  <int value="13"
      label="TPM failed to load a key because of a bad key property"/>
  <int value="14" label="Failed to load a PKCS #11 token"/>
  <int value="15" label="Failed to encrypt with cryptohome TPM key"/>
  <int value="16" label="TSS communication error"/>
  <int value="17" label="TSS invalid handle"/>
  <int value="18" label="Keyset wrapped both by TPM and Scrypt"/>
</enum>

<enum name="CryptohomeMigrationToGaiaId" type="int">
  <int value="0" label="Not started"/>
  <int value="1" label="Already migrated"/>
  <int value="2" label="Success"/>
  <int value="3" label="Failure"/>
</enum>

<enum name="CryptohomeTpmResults" type="int">
  <int value="1" label="TPM Success"/>
  <int value="2" label="TPM Error Authentication Fail"/>
  <int value="3" label="TPM Error Bad Parameter"/>
  <int value="4" label="TPM Error Bad Index"/>
  <int value="5" label="TPM Error Audit Fail"/>
  <int value="6" label="TPM Error Clear Disabled"/>
  <int value="7" label="TPM Error TPM Deactivated"/>
  <int value="8" label="TPM Error TPM Disabled"/>
  <int value="9" label="TPM Error Failed"/>
  <int value="10" label="TPM Error Bad Ordinal"/>
  <int value="11" label="TPM Error Owner Install Disabled"/>
  <int value="12" label="TPM Error Invalid KeyHandle"/>
  <int value="13" label="TPM Error Key Not Found"/>
  <int value="14" label="TPM Error Bad Encryption Scheme"/>
  <int value="15" label="TPM Error Migration Authorization Fail"/>
  <int value="16" label="TPM Error Invalid PCR Info"/>
  <int value="17" label="TPM Error No Space To Load Key"/>
  <int value="18" label="TPM Error No SRK"/>
  <int value="19" label="TPM Error Invalid Encrypted Blob"/>
  <int value="20" label="TPM Error Owner Already Set"/>
  <int value="21" label="TPM Error Not Enough TPM Resources"/>
  <int value="22" label="TPM Error Random String Too Short"/>
  <int value="23" label="TPM Error TPM Out Of Space"/>
  <int value="24" label="TPM Error Wrong PCR Value"/>
  <int value="25" label="TPM Error Bad Parameter Size"/>
  <int value="26" label="TPM Error No Sha1 Thread"/>
  <int value="27" label="TPM Error Sha1 Error"/>
  <int value="28" label="TPM Error TPM Self Test Failed"/>
  <int value="29" label="TPM Error Second Authorization Failed"/>
  <int value="30" label="TPM Error Bad Tag"/>
  <int value="31" label="TPM Error IO Error"/>
  <int value="32" label="TPM Error Encryption Error"/>
  <int value="33" label="TPM Error Decryption Error"/>
  <int value="34" label="TPM Error Invalid Authorization Handle"/>
  <int value="35" label="TPM Error No Endorsement"/>
  <int value="36" label="TPM Error Invalid Key Usage"/>
  <int value="37" label="TPM Error Wrong Entity Type"/>
  <int value="38" label="TPM Error Invalid Post Init Sequence"/>
  <int value="39" label="TPM Error Invalid Signature Format"/>
  <int value="40" label="TPM Error Bad Key Property"/>
  <int value="41" label="TPM Error Bad Migration"/>
  <int value="42" label="TPM Error Bad Scheme"/>
  <int value="43" label="TPM Error Bad Data Size"/>
  <int value="44" label="TPM Error Bad Mode Parameter"/>
  <int value="45" label="TPM Error Bad Presence Value"/>
  <int value="46" label="TPM Error Bad Version"/>
  <int value="47" label="TPM Error Wrap Transport Not Allowed"/>
  <int value="48" label="TPM Error Audit Fail Command Unsuccessful"/>
  <int value="49" label="TPM Error Audit Fail Command Successful"/>
  <int value="50" label="TPM Error PCR Register Not Resetable"/>
  <int value="51" label="TPM Error PCR Register Reset Requires Locality"/>
  <int value="52" label="TPM Error Bad Type Of Identity Blob"/>
  <int value="53" label="TPM Error Bad Resource Type"/>
  <int value="54" label="TPM Error Command Available Only In FIPS Mode"/>
  <int value="55" label="TPM Error Invalid Family Id"/>
  <int value="56" label="TPM Error No NvRam Permission"/>
  <int value="57" label="TPM Error Signed Command Required"/>
  <int value="58" label="TPM Error NvRam Key Not Supported"/>
  <int value="59" label="TPM Error Authorization Conflict"/>
  <int value="60" label="TPM Error NvRam Area Locked"/>
  <int value="61" label="TPM Error Bad Locality"/>
  <int value="62" label="TPM Error NvRam Area Read Only"/>
  <int value="63" label="TPM Error NvRam Area No Write Protection"/>
  <int value="64" label="TPM Error Family Count Mismatch"/>
  <int value="65" label="TPM Error NvRam Area Write Locked"/>
  <int value="66" label="TPM Error NvRam Area Bad Attributes"/>
  <int value="67" label="TPM Error Invalid Structure"/>
  <int value="68" label="TPM Error Key Under Owner Control"/>
  <int value="69" label="TPM Error Bad Counter Handle"/>
  <int value="70" label="TPM Error Not A Full Write"/>
  <int value="71" label="TPM Error Context Gap"/>
  <int value="72" label="TPM Error Max NvRam Writes"/>
  <int value="73" label="TPM Error No Operator"/>
  <int value="74" label="TPM Error Resource Missing"/>
  <int value="75" label="TPM Error Delagte Locked"/>
  <int value="76" label="TPM Error Delegate Family"/>
  <int value="77" label="TPM Error Delegate Admin"/>
  <int value="78" label="TPM Error Transport Not Exclusive"/>
  <int value="79" label="TPM Error Owner Control"/>
  <int value="80" label="TPM Error DAA Resources Not Available"/>
  <int value="81" label="TPM Error DAA Input Data0"/>
  <int value="82" label="TPM Error DAA Input Data1"/>
  <int value="83" label="TPM Error DAA Issuer Settings"/>
  <int value="84" label="TPM Error DAA TPM Settings"/>
  <int value="85" label="TPM Error DAA Stage"/>
  <int value="86" label="TPM Error DAA Issuer Validity"/>
  <int value="87" label="TPM Error DAA Wrong W"/>
  <int value="88" label="TPM Error Bad Handle"/>
  <int value="89" label="TPM Error Bad Delegate"/>
  <int value="90" label="TPM Error Bad Context Blob"/>
  <int value="91" label="TPM Error Too Many Contexts"/>
  <int value="92" label="TPM Error Migration Authority Signature Fail"/>
  <int value="93" label="TPM Error Migration Destination Not Authenticated"/>
  <int value="94" label="TPM Error Bad Migration Source"/>
  <int value="95" label="TPM Error Bad Migration Authority"/>
  <int value="96" label="TPM Error Permanent EK"/>
  <int value="97" label="TPM Error CMK Ticket Bad Signature"/>
  <int value="98" label="TPM Error No Context Space"/>
  <int value="99" label="TPM Error TPM Busy Retry Later"/>
  <int value="100" label="TPM Error Needs Self Test"/>
  <int value="101" label="TPM Error Doing Self Test"/>
  <int value="102" label="TPM Error Defend Lock Running"/>
  <int value="103" label="TPM Error TPM Command Disabled"/>
  <int value="104" label="TPM Error Unknown Error"/>
  <int value="105" label="TDDL Error General Fail"/>
  <int value="106" label="TDDL Error Bad Parameter"/>
  <int value="107" label="TDDL Error Internal Software Error"/>
  <int value="108" label="TDDL Error Not Implemented"/>
  <int value="109" label="TDDL Error Key Not Found In Persistent Storage"/>
  <int value="110" label="TDDL Error Key Already Registered"/>
  <int value="111" label="TDDL Error Action Canceled By Request"/>
  <int value="112" label="TDDL Error Timeout"/>
  <int value="113" label="TDDL Error Out Of Memory"/>
  <int value="114" label="TDDL Error Unexpected TPM Output"/>
  <int value="115" label="TDDL Error Communication Failure"/>
  <int value="116" label="TDDL Error TPM Unsupported Feature"/>
  <int value="117" label="TDDL Error Connection To TPM Device Failed"/>
  <int value="118" label="TDDL Error Device Already Opened"/>
  <int value="119" label="TDDL Error Bad Tag"/>
  <int value="120" label="TDDL Error Receive Buffer Too Small"/>
  <int value="121" label="TDDL Error Command Already Completed"/>
  <int value="122" label="TDDL Error Command Aborted"/>
  <int value="123" label="TDDL Error Device Driver Already Closed"/>
  <int value="124" label="TDDL Error IO Error"/>
  <int value="125" label="TDDL Error Unknown Error"/>
  <int value="126" label="TCS Error General Fail"/>
  <int value="127" label="TCS Error Bad Parameter"/>
  <int value="128" label="TCS Error Internal Software Error"/>
  <int value="129" label="TCS Error Not Implemented"/>
  <int value="130" label="TCS Error Key Not Found In Persistent Storage"/>
  <int value="131" label="TCS Error Key Already Registered"/>
  <int value="132" label="TCS Error Action Canceled By Request"/>
  <int value="133" label="TCS Error Timeout"/>
  <int value="134" label="TCS Error Out Of Memory"/>
  <int value="135" label="TCS Error Unexpected TPM Output"/>
  <int value="136" label="TCS Error Communication Failure"/>
  <int value="137" label="TCS Error TPM Unsupported Feature"/>
  <int value="138" label="TCS Error Key Mismatch"/>
  <int value="139" label="TCS Error Key Load Fail"/>
  <int value="140" label="TCS Error Key Context Reload Fail"/>
  <int value="141" label="TCS Error Bad Memory Index"/>
  <int value="142" label="TCS Error Bad Context Handle"/>
  <int value="143" label="TCS Error Bad Key Handle"/>
  <int value="144" label="TCS Error Bad Authorization Handle"/>
  <int value="145" label="TCS Error Authorization Session Closed By Tpm"/>
  <int value="146" label="TCS Error Invalid Key"/>
  <int value="147" label="TCS Error Unknown Error"/>
  <int value="148" label="TSS Error General Fail"/>
  <int value="149" label="TSS Error Bad Parameter"/>
  <int value="150" label="TSS Error Internal Software Error"/>
  <int value="151" label="TSS Error Not Implemented"/>
  <int value="152" label="TSS Error Key Not Found In Persistent Storage"/>
  <int value="153" label="TSS Error Key Already Registered"/>
  <int value="154" label="TSS Error Action Canceled By Request"/>
  <int value="155" label="TSS Error Timeout"/>
  <int value="156" label="TSS Error Out Of Memory"/>
  <int value="157" label="TSS Error Unexpected TPM Output"/>
  <int value="158" label="TSS Error Communication Failure"/>
  <int value="159" label="TSS Error TPM Unsupported Feature"/>
  <int value="160" label="TSS Error Bad Object Type"/>
  <int value="161" label="TSS Error Bad Object Init Flag"/>
  <int value="162" label="TSS Error Invalid Handle"/>
  <int value="163" label="TSS Error No Core Service Connection"/>
  <int value="164" label="TSS Error Core Service Connection Fail"/>
  <int value="165" label="TSS Error Core Service Connection Broken"/>
  <int value="166" label="TSS Error Invalid Hash Algorithm"/>
  <int value="167" label="TSS Error Bad Hash Length"/>
  <int value="168" label="TSS Error Hash Object Has No Value"/>
  <int value="169" label="TSS Error Silent Context Needs User Input"/>
  <int value="170" label="TSS Error Bad Attribute Flag"/>
  <int value="171" label="TSS Error Bad Attribute Sub Flag"/>
  <int value="172" label="TSS Error Bad Attribute Data"/>
  <int value="173" label="TSS Error No PCR Registers Set"/>
  <int value="174" label="TSS Error Key Not Loaded"/>
  <int value="175" label="TSS Error Key Not Set"/>
  <int value="176" label="TSS Error Validation Failed"/>
  <int value="177" label="TSS Error TSP Authorization Required"/>
  <int value="178" label="TSS Error TSP Multiple Authorization Required"/>
  <int value="179" label="TSS Error TSP Authorization Failed"/>
  <int value="180" label="TSS Error TSP Multiple Authorization Failed"/>
  <int value="181" label="TSS Error Key Has No Migration Policy"/>
  <int value="182" label="TSS Error Policy Has No Secret"/>
  <int value="183" label="TSS Error Bad Object Access"/>
  <int value="184" label="TSS Error Bad Encryption Scheme"/>
  <int value="185" label="TSS Error Bad Signature Scheme"/>
  <int value="186" label="TSS Error Encrypted Object Bad Length"/>
  <int value="187" label="TSS Error Encrypted Object Has No Data"/>
  <int value="188" label="TSS Error Encrypted Object Bad Type"/>
  <int value="189" label="TSS Error Bad Key Usage"/>
  <int value="190" label="TSS Error Verification Failed"/>
  <int value="191" label="TSS Error No Hash Algorithm Id"/>
  <int value="192" label="TSS Error NvRam Area Already Exists"/>
  <int value="193" label="TSS Error NvRam Area Doesn't Exist"/>
  <int value="194" label="TSS Error Unknown Error"/>
</enum>

<enum name="CTLogEntryInclusionCheckResult" type="int">
  <int value="0" label="Obtained valid inclusion proof"/>
  <int value="1" label="Failed getting inclusion proof"/>
  <int value="2" label="Obtained inclusion proof is invalid"/>
</enum>

<enum name="CTRequirementCompliance" type="int">
  <obsolete>
    Deprecated 1/2016.
  </obsolete>
  <int value="0" label="Not Compliant"/>
  <int value="1" label="Whitelisted"/>
  <int value="2" label="Has enough SCTs"/>
</enum>

<enum name="D3D11InitializeResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Error initializing compiler"/>
  <int value="2" label="Missing DLL dependency"/>
  <int value="3" label="D3D11CreateDevice returned E_INVALIDARG"/>
  <int value="4" label="D3D11CreateDevice returned other error"/>
  <int value="5" label="DXGI version not supported"/>
  <int value="6" label="Other initialization error"/>
  <int value="7" label="D3D11CreateDevice returned E_FAIL"/>
  <int value="8" label="D3D11CreateDevice returned E_NOTIMPL"/>
  <int value="9" label="D3D11CreateDevice returned E_OUTOFMEMORY"/>
  <int value="10" label="D3D11CreateDevice returned DXGI_ERROR_INVALID_CALL"/>
  <int value="11"
      label="D3D11CreateDevice returned DXGI_ERROR_SDK_COMPONENT_MISSING"/>
  <int value="12"
      label="D3D11CreateDevice returned DXGI_ERROR_WAS_STILL_DRAWING"/>
  <int value="13"
      label="D3D11CreateDevice returned DXGI_ERROR_NOT_CURRENTLY_AVAILABLE"/>
  <int value="14" label="D3D11CreateDevice returned DXGI_ERROR_DEVICE_HUNG"/>
</enum>

<enum name="D3D9InitializeResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Error initializing compiler"/>
  <int value="2" label="Missing DLL dependency"/>
  <int value="3" label="Error creating device"/>
  <int value="4" label="Shader version not supported"/>
  <int value="5" label="StretchRect from textures not supported"/>
  <int value="6" label="Device lost of out-of-memory error"/>
  <int value="7" label="Other initialization error"/>
</enum>

<enum name="D3DFeatureLevel" type="int">
  <int value="0" label="D3D_FEATURE_LEVEL_INVALID"/>
  <int value="1" label="D3D_FEATURE_LEVEL_9_3"/>
  <int value="2" label="D3D_FEATURE_LEVEL_10_0"/>
  <int value="3" label="D3D_FEATURE_LEVEL_10_1"/>
  <int value="4" label="D3D_FEATURE_LEVEL_11_0"/>
  <int value="5" label="D3D_FEATURE_LEVEL_11_1"/>
</enum>

<enum name="DailyEventIntervalType" type="int">
  <int value="0" label="First Run"/>
  <int value="1" label="Day Elapsed"/>
  <int value="2" label="Clock Changed"/>
</enum>

<enum name="DangerousFile.Reason" type="int">
  <int value="0" label="Safe Browsing is not available"/>
  <int value="1" label="Safe Browsing returns UNKOWN"/>
  <int value="2" label="Safe Browsing returns SAFE"/>
</enum>

<enum name="DarkResumeScanRetryResult" type="int">
  <int value="0" label="Not Connected"/>
  <int value="1" label="Connected"/>
</enum>

<enum name="DarkResumeUnmatchedScanResultReceived" type="int">
  <int value="0" label="False (all scan results match)"/>
  <int value="1" label="True (at least one unmatched scan result)"/>
</enum>

<enum name="DarkResumeWakeReason" type="int">
  <int value="0" label="Unsupported (or not reported)"/>
  <int value="1" label="Pattern"/>
  <int value="2" label="Disconnect"/>
  <int value="3" label="SSID"/>
</enum>

<enum name="DataChannelCounters" type="int">
  <int value="0" label="Channel created."/>
  <int value="1" label="Channel reached Open state."/>
  <int value="2" label="Channel is reliable."/>
  <int value="3" label="Channel is ordered."/>
  <int value="4" label="Channel is negotiated."/>
</enum>

<enum name="DataReductionProxyAutoLoFiAccuracy" type="int">
  <int value="0"
      label="Estimated network quality as slow and was actually slow"/>
  <int value="1"
      label="Estimated network quality as slow and was actually not slow"/>
  <int value="2"
      label="Estimated network quality as not slow and was actually slow"/>
  <int value="3"
      label="Estimated network quality as not slow and was actually not slow"/>
</enum>

<enum name="DataReductionProxyAutoLoFiRequestHeaderState" type="int">
  <int value="0" label="Empty to Empty"/>
  <int value="1" label="Empty to Low"/>
  <int value="2" label="Low to Empty"/>
  <int value="3" label="Low to Low"/>
</enum>

<enum name="DataReductionProxyBypassEventType_Deprecated" type="int">
  <int value="0" label="Short bypass"/>
  <int value="1" label="Long bypass"/>
  <int value="2" label="Bypass due to internal server error"/>
  <int value="3" label="Bypass due to other error"/>
  <int value="4" label="Bypass due to missing via header"/>
  <int value="5" label="Bypass due to 4xx response"/>
  <int value="6"
      label="Bypass due to 407 response from proxy without a challenge"/>
</enum>

<enum name="DataReductionProxyBypassType" type="int">
  <int value="0"
      label="Bypass due to explicit instruction for the current request"/>
  <int value="1"
      label="Short bypass: Bypass the proxy for less than one minute"/>
  <int value="2"
      label="Medium bypass: Bypass the proxy for one to five minutes"/>
  <int value="3"
      label="Long bypass: Bypass the proxy for more than five minutes"/>
  <int value="4" label="Bypass due to a 4xx missing via header"/>
  <int value="5"
      label="Bypass due to other missing via header, excluding 4xx errors"/>
  <int value="6"
      label="Bypass due to 407 response from proxy without a challenge"/>
  <int value="7" label="Bypass due to a 500 internal server error"/>
  <int value="8" label="Bypass because the request URI was too long"/>
  <int value="9" label="Bypass due to a 503 response"/>
  <int value="10" label="Bypass due to any network error"/>
</enum>

<enum name="DataReductionProxyConfigServiceAuthExpiredSessionKey" type="int">
  <int value="0"
      label="Current session key does not match the key in the request"/>
  <int value="1" label="Current session key matches the key in the request"/>
</enum>

<enum name="DataReductionProxyConfigServiceHTTPRequests" type="int">
  <int value="0" label="Request did not go through data saver proxy"/>
  <int value="1" label="Request went through data saver proxy"/>
</enum>

<enum name="DataReductionProxyEnabledState" type="int">
  <int value="0" label="Off-to-On"/>
  <int value="1" label="On-to-Off"/>
</enum>

<enum name="DataReductionProxyLoFiImplicitOptOutAction" type="int">
  <int value="0" label="Lo-Fi disabled for the remainder of the session"/>
  <int value="1" label="Lo-Fi disabled until next opt out epoch"/>
  <int value="2" label="Next implict opt out epoch, Lo-Fi re-enabled"/>
</enum>

<enum name="DataReductionProxyLoFiSessionState" type="int">
  <int value="0" label="Lo-Fi was used"/>
  <int value="1"
      label="Lo-Fi was not used because the network quality was always good"/>
  <int value="2"
      label="Lo-Fi was not used because the user implicitly permanently opted
             out"/>
  <int value="3"
      label="Lo-Fi was not used because the user implicitly temporarily opted
             out"/>
</enum>

<enum name="DataReductionProxyLoFiTransformationType" type="int">
  <int value="0" label="Pageloads that are lite pages"/>
  <int value="1"
      label="Pageloads that requested lite pages, but did not have the
             transformation"/>
</enum>

<enum name="DataReductionProxyLoFiUIAction" type="int">
  <int value="0" label="'Load images' snackbar shown"/>
  <int value="1" label="'Load images' snackbar clicked"/>
  <int value="2" label="'Load image' context menu item shown"/>
  <int value="3" label="'Load image' context menu item clicked"/>
  <int value="4"
      label="Pages where the user has clicked 'Load image' at least once"/>
  <int value="5" label="'Load images' context menu item shown"/>
  <int value="6" label="'Load images' context menu item clicked"/>
</enum>

<enum name="DataReductionProxyNetworkChangeEvent" type="int">
  <int value="0" label="IP Address Change"/>
  <int value="1" label="Proxy disabled on VPN (deprecated)"/>
</enum>

<enum name="DataReductionProxyProbeURLFetchResult" type="int">
  <int value="0" label="Internet disconnected"/>
  <int value="1" label="Probe failed, proxy disabled"/>
  <int value="2" label="Probe failed, proxy already disabled"/>
  <int value="3" label="Probe succeeded, proxy enabled"/>
  <int value="4" label="Probe succeeded, proxy already enabled"/>
  <int value="5" label="Probe started, proxy disabled"/>
</enum>

<enum name="DataReductionProxyPromoAction" type="int">
  <int value="0" label="Dismissed from first screen"/>
  <int value="1" label="Dismissed from second screen"/>
  <int value="2" label="Enabled from first screen"/>
  <int value="3" label="Enabled from second screen"/>
</enum>

<enum name="DataReductionProxyProxyPrefMigrationResult" type="int">
  <int value="0" label="Proxy pref not cleared"/>
  <int value="1" label="Empty proxy pref was cleared"/>
  <int value="2" label="System proxy pref was cleared"/>
  <int value="3" label="Proxy pref containing a DRP was cleared"/>
  <int value="4"
      label="Proxy pref containing a *.googlezip.net proxy was cleared"/>
  <int value="5"
      label="Proxy pref of an embedded PAC script containing a
             *.googlezip.net proxy was cleared"/>
</enum>

<enum name="DataReductionProxyProxySchemeUsed" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="HTTP"/>
  <int value="2" label="HTTPS"/>
  <int value="3" label="QUIC"/>
</enum>

<enum name="DataReductionProxyQuicDefaultAlternativeProxy" type="int">
  <int value="0" label="QUIC proxy was available"/>
  <int value="1" label="QUIC proxy was marked as broken"/>
  <int value="2"
      label="No supportable QUIC proxy was available in the list of data
             reduction proxies"/>
</enum>

<enum name="DataReductionProxyQuicProxyStatus" type="int">
  <int value="0" label="QUIC proxy was available"/>
  <int value="1"
      label="Resolved HTTPS data reduction proxy does not support QUIC"/>
  <int value="2" label="QUIC proxies have been marked as broken"/>
</enum>

<enum name="DataReductionProxyResourceContentType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Media"/>
</enum>

<enum name="DataReductionProxyResponseProxyServerStatus" type="int">
  <int value="0" label="Empty proxy server"/>
  <int value="1" label="DRP proxy server"/>
  <int value="2" label="Non-DRP proxy server without DRP via header"/>
  <int value="3" label="Non-DRP proxy server with DRP via header"/>
</enum>

<enum name="DataReductionProxySettingsConversion" type="int">
  <int value="0" label="OFF to OFF"/>
  <int value="1" label="OFF to ON"/>
  <int value="2" label="ON to OFF"/>
  <int value="3" label="ON to ON"/>
</enum>

<enum name="DataReductionProxyStartupState" type="int">
  <int value="0" label="Proxy not available"/>
  <int value="1" label="Proxy available but not enabled"/>
  <int value="2" label="Proxy available and enabled"/>
</enum>

<enum name="DataReductionProxyStoreStatus" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="NOT_FOUND"/>
  <int value="2" label="CORRUPTED"/>
  <int value="3" label="IO_ERROR"/>
  <int value="4" label="MISC_ERROR"/>
</enum>

<enum name="DataReductionProxyUIAction" type="int">
  <int value="0" label="Enabled directly from the Second Run promo"/>
  <int value="1" label="Enabled then disabled from promo (iOS-only)"/>
  <int value="2"
      label="Second Run promo settings link clicked, then enabled from
             settings"/>
  <int value="3"
      label="Second Run promo settings link clicked, but not enabled from
             settings"/>
  <int value="4" label="Second Run promo dismissed (proxy not enabled)"/>
  <int value="5"
      label="Arrived at settings menu by another path: entered off, exited
             off"/>
  <int value="6"
      label="Arrived at settings menu by another path: entered off, exited on"/>
  <int value="7"
      label="Arrived at settings menu by another path: entered on, exited off"/>
  <int value="8"
      label="Arrived at settings menu by another path: entered on, exited on"/>
  <int value="9" label="Enabled directly from the First Run Experience"/>
  <int value="10" label="Disabled directly from the First Run Experience"/>
  <int value="11" label="Enabled directly from the Infobar promo"/>
  <int value="12" label="InfoBar promo dismissed (proxy not enabled)"/>
  <int value="13"
      label="Snackbar promo link clicked, but no action was taken (the proxy
             remained enabled)"/>
  <int value="14"
      label="Snackbar promo link clicked, and the proxy was disabled"/>
  <int value="15" label="Snackbar promo dismissed (no action taken)"/>
  <int value="16"
      label="Arrived at settings menu by main menu item: entered off, exited
             off"/>
  <int value="17"
      label="Arrived at settings menu by main menu item: entered off, exited
             on"/>
  <int value="18"
      label="Arrived at settings menu by main menu item: entered on, exited
             off"/>
  <int value="19"
      label="Arrived at settings menu by main menu item: entered on, exited
             on"/>
  <int value="20" label="Data usage stats reset via the settings menu"/>
</enum>

<enum name="DataUrlMimeType" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="HTML"/>
  <int value="2" label="XHTML"/>
  <int value="3" label="PDF"/>
  <int value="4" label="SVG"/>
</enum>

<enum name="DataUsageReportSubmissionResult" type="int">
  <int value="0" label="Successful"/>
  <int value="1" label="Failed"/>
  <int value="2" label="Timed out"/>
  <int value="3" label="Lost"/>
</enum>

<enum name="DataUsageTrackingSessionEndReason" type="int">
  <int value="0" label="Omnibox search navigation"/>
  <int value="1" label="Omnibox navigation"/>
  <int value="2" label="Bookmark navigation"/>
  <int value="3" label="History navigation"/>
</enum>

<enum name="DataUsageTrackingSessionStartReason" type="int">
  <int value="0" label="Package regex match in Custom Tab"/>
  <int value="1" label="Omnibox search navigation"/>
  <int value="2" label="Omnibox navigation"/>
  <int value="3" label="Bookmark navigation"/>
  <int value="4" label="Link navigation"/>
  <int value="5" label="Page reload"/>
</enum>

<enum name="DataUsageUIAction" type="int">
  <int value="0" label="Data use tracking started snackbar shown"/>
  <int value="1"
      label="Data use tracking started snackbar 'More' link clicked"/>
  <int value="2" label="Data use tracking ended snackbar shown"/>
  <int value="3" label="Data use tracking ended snackbar 'More' link clicked"/>
  <int value="4" label="Data use tracking ended dialog shown"/>
  <int value="5"
      label="Data use tracking ended dialog 'Continue' button clicked"/>
  <int value="6"
      label="Data use tracking ended dialog 'Cancel' button clicked"/>
  <int value="7"
      label="Data use tracking ended dialog 'Learn more' link clicked"/>
  <int value="8" label="Data use tracking ended dialog opted out"/>
</enum>

<enum name="DataUseContentType" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="Mainframe HTML"/>
  <int value="2" label="Non Mainframe HTML"/>
  <int value="3" label="CSS"/>
  <int value="4" label="Image"/>
  <int value="5" label="Javascript"/>
  <int value="6" label="Font"/>
  <int value="7" label="Audio - App in background"/>
  <int value="8" label="Audio - Tab in background"/>
  <int value="9" label="Audio - Tab in foreground"/>
  <int value="10" label="Video - App in background"/>
  <int value="11" label="Video - Tab in background"/>
  <int value="12" label="Video - Tab in foreground"/>
</enum>

<enum name="DataUsePageTransition" type="int">
  <summary>PageTransitions in ui/base/page_transition_types.h.</summary>
  <int value="0" label="LINK"/>
  <int value="1" label="TYPED"/>
  <int value="2" label="AUTO_BOOKMARK"/>
  <int value="3" label="SUBFRAME"/>
  <int value="4" label="GENERATED"/>
  <int value="5" label="AUTO_TOPLEVEL"/>
  <int value="6" label="FORM_SUBMIT"/>
  <int value="7" label="RELOAD"/>
  <int value="8" label="KEYWORD"/>
  <int value="9" label="FORWARD_BACK"/>
  <int value="10" label="HOME_PAGE"/>
</enum>

<enum name="DataUseServices" type="int">
  <int value="0" label="Not Tagged"/>
  <int value="1" label="Suggestions"/>
  <int value="2" label="Translate"/>
  <int value="3" label="Sync"/>
  <int value="4" label="Omnibox"/>
  <int value="5" label="Invalidation"/>
  <int value="6" label="Rappor"/>
  <int value="7" label="Variations"/>
  <int value="8" label="UMA"/>
  <int value="9" label="Domain Reliability"/>
  <int value="10" label="Profile Downloader"/>
  <int value="11" label="Google URL Tracker"/>
  <int value="12" label="Autofill"/>
  <int value="13" label="Policy"/>
  <int value="14" label="Spell Checker"/>
  <int value="15" label="NTPSnippets (obsolete)"/>
  <int value="16" label="Safe Browsing"/>
  <int value="17" label="Data Reduction Proxy"/>
  <int value="18" label="Precache"/>
  <int value="19" label="NTPTiles"/>
  <int value="20" label="Feedback Uploader"/>
  <int value="21" label="Tracing Uploader"/>
  <int value="22" label="DOM Distiller"/>
  <int value="23" label="Cloud Print"/>
  <int value="24" label="Search Provider Logos"/>
  <int value="25" label="Update Client"/>
  <int value="26" label="GCM Driver"/>
  <int value="27" label="Web History Service"/>
  <int value="28" label="Network Time Tracker"/>
  <int value="29" label="Supervised User"/>
  <int value="30" label="Image Fetcher Untagged"/>
  <int value="31" label="GAIA"/>
  <int value="32" label="Captive Portal"/>
  <int value="33" label="Web Resource Service"/>
  <int value="34" label="Signin"/>
  <int value="35" label="NTPSnippets suggestions"/>
  <int value="36" label="NTPSnippets thumbnails"/>
  <int value="37" label="Doodle"/>
  <int value="38" label="UKM"/>
  <int value="39" label="Payments"/>
  <int value="40" label="LargeIconService"/>
</enum>

<enum name="DecodedImageOrientation" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Top Left"/>
  <int value="2" label="Top Right"/>
  <int value="3" label="Bottom Right"/>
  <int value="4" label="Bottom Left"/>
  <int value="5" label="Left Top"/>
  <int value="6" label="Right Top"/>
  <int value="7" label="Right Bottom"/>
  <int value="8" label="Left Bottom"/>
</enum>

<enum name="DecodedImageType" type="int">
  <int value="0" label="kImageUnknown"/>
  <int value="1" label="kImageJPEG"/>
  <int value="2" label="kImagePNG"/>
  <int value="3" label="kImageGIF"/>
  <int value="4" label="kImageWebP"/>
  <int value="5" label="kImageICO"/>
  <int value="6" label="kImageBMP"/>
</enum>

<enum name="DefaultBrowserAsyncAttemptResult" type="int">
  <obsolete>
    Deprecated 2015/11. Renamed to SetDefaultAttemptResult.
  </obsolete>
  <int value="0" label="Success">No errors encountered.</int>
  <int value="1" label="Already default">
    Chrome was already the default web client. This counts as a successful
    attempt.
  </int>
  <int value="2" label="Failure">
    Chrome was not set as the default web client.
  </int>
  <int value="3" label="Abandoned">
    The attempt was abandoned because the observer was destroyed.
  </int>
  <int value="4" label="Launch failure">
    Failed to launch the process to set Chrome as the default web client
    asynchronously.
  </int>
  <int value="5" label="Other worker">
    Another worker is already in progress to make Chrome the default web client.
  </int>
  <int value="6" label="Retry">
    The user initiated another attempt while the asynchronous operation was
    already in progress.
  </int>
</enum>

<enum name="DefaultBrowserInfoBarUserInteraction" type="int">
  <int value="0" label="Accept">
    The user clicked the &quot;Set as default&quot; button.
  </int>
  <int value="1" label="Cancel">
    The user clicked the &quot;Don't ask again&quot; button.
  </int>
  <int value="2" label="Ignore">
    The user did not interact with the info bar.
  </int>
  <int value="3" label="Dismiss">The user explicitly closed the infobar.</int>
</enum>

<enum name="DefaultBrowserState" type="int">
  <int value="0" label="Not Default"/>
  <int value="1" label="Default"/>
  <int value="2" label="Unknown"/>
</enum>

<enum name="DefaultSearchChangeOrigin" type="int">
  <int value="0" label="DSP changed by synced Pref"/>
  <int value="1" label="DSP changed by Sync ADD"/>
  <int value="2" label="DSP changed by Sync DELETE"/>
  <int value="3" label="DSP changed by managed policy switch"/>
  <int value="4" label="DSP changed unintentionally by Sync"/>
  <int value="5" label="DSP changed by other non-Sync origin"/>
  <int value="6" label="DSP changed by Profile Reset feature"/>
  <int value="7" label="DSP changed by the extension Override Settings API"/>
  <int value="8" label="DSP set to new engine with no previous value in prefs"/>
</enum>

<enum name="DefaultTouchBarActions" type="int">
  <int value="0" label="Back"/>
  <int value="1" label="Forward"/>
  <int value="2" label="Stop"/>
  <int value="3" label="Reload"/>
  <int value="4" label="Home"/>
  <int value="5" label="Search"/>
  <int value="6" label="Star"/>
  <int value="7" label="New Tab"/>
</enum>

<enum name="DefaultWebClientState" type="int">
  <int value="0" label="Not default">Chrome is not the default web client.</int>
  <int value="1" label="Is default">Chrome is the default web client.</int>
  <int value="2" label="Unknown default">
    Chrome is in a unknown default state.
  </int>
</enum>

<enum name="DelayBasedEchoQuality" type="int">
  <int value="0" label="Good delays">
    Echo Cancellation quality most likely good.
  </int>
  <int value="1" label="Spurious delays">Echo Cancellation may suffer.</int>
  <int value="2" label="Poor delays">
    Echo Cancellation likely fails unless user is using headset.
  </int>
  <int value="3" label="Invalid delays">Insufficient amount of data.</int>
</enum>

<enum name="DeprecatedAcceleratorUsage" type="int">
  <int value="0" label="Deprecated key accelerator is used"/>
  <int value="1" label="New key accelerator is used"/>
</enum>

<enum name="DesktopCaptureCounters" type="int">
  <int value="0" label="Screen capturer created."/>
  <int value="1" label="Window capturer created."/>
  <int value="2" label="First screen capture call succeeded."/>
  <int value="3" label="First screen capture call failed."/>
  <int value="4" label="First window capture call succeeded."/>
  <int value="5" label="First window capture call failed."/>
  <int value="6" label="Tab video capturer created."/>
  <int value="7" label="Tab audio capturer created."/>
  <int value="8" label="System loopback audio capturer created."/>
  <int value="9" label="Screen capturer created together with audio capturer."/>
  <int value="10" label="Screen capturer created without audio capturer."/>
  <int value="11" label="Tab capturer created together with audio capturer."/>
  <int value="12" label="Tab capturer created without audio capturer."/>
</enum>

<enum name="DesktopIOSPromotionDismissalReason" type="int">
  <int value="0" label="Focus lost."/>
  <int value="1" label="No thanks clicked."/>
  <int value="2" label="Close button clicked."/>
  <int value="3" label="Send SMS clicked."/>
</enum>

<enum name="DesktopIOSPromotionEntryPoint" type="int">
  <int value="1" label="Save Passwords new bubble."/>
  <int value="2" label="Bookmarks new bubble."/>
  <int value="3" label="Bookmarks footnote."/>
  <int value="4" label="HistoryPage."/>
</enum>

<enum name="DesktopSearchRedirectionInfobarCloseAction" type="int">
  <int value="0" label="Clicked the 'Manage search settings' link"/>
  <int value="1" label="Clicked the dismiss button"/>
  <int value="2" label="InfoBar dismissed implicitly (no interaction)"/>
</enum>

<enum name="DesktopSearchURLAction" type="int">
  <int value="0" label="No redirection - Feature disabled"/>
  <int value="1" label="No redirection - Default search engine is Bing"/>
  <int value="2" label="No redirection - Default search engine is invalid"/>
  <int value="3" label="Redirection to the default search engine"/>
</enum>

<enum name="DeviceIdMismatch" type="int">
  <int value="0" label="BOTH_NONEMPTY"/>
  <int value="1" label="SYNC_EMPTY"/>
  <int value="2" label="PREF_EMPTY"/>
</enum>

<enum name="DeviceOrientationSensorTypeAndroid" type="int">
  <int value="0" label="Not Available"/>
  <int value="1" label="ROTATION_VECTOR"/>
  <int value="2" label="ACCELEROMETER + MAGNETIC_FIELD"/>
  <int value="3" label="GAME_ROTATION_VECTOR"/>
</enum>

<enum name="DevicePermissionActions" type="int">
  <int value="0" label="AllowHttps"/>
  <int value="1" label="AllowHttp"/>
  <int value="2" label="Deny"/>
  <int value="3" label="Cancel"/>
</enum>

<enum name="DevicesPageEvents" type="int">
  <int value="0" label="OPENED"/>
  <int value="1" label="LOG_IN_STARTED_FROM_REGISTER_PROMO"/>
  <int value="2" label="LOG_IN_STARTED_FROM_DEVICE_LIST_PROMO"/>
  <int value="3" label="ADD_PRINTER_CLICKED"/>
  <int value="4" label="REGISTER_CLICKED"/>
  <int value="5" label="REGISTER_CONFIRMED"/>
  <int value="6" label="REGISTER_SUCCESS"/>
  <int value="7" label="REGISTER_CANCEL"/>
  <int value="8" label="REGISTER_FAILURE"/>
  <int value="9" label="MANAGE_CLICKED"/>
  <int value="10" label="REGISTER_CANCEL_ON_PRINTER"/>
  <int value="11" label="REGISTER_TIMEOUT"/>
  <int value="12" label="LOG_IN_STARTED_FROM_REGISTER_OVERLAY_PROMO"/>
</enum>

<enum name="DeviceTechnologyType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Ethernet"/>
  <int value="2" label="WiFi"/>
  <int value="3" label="WiMax"/>
  <int value="4" label="Cellular"/>
</enum>

<enum name="DevToolsAction" type="int">
  <int value="1" label="Window docked"/>
  <int value="2" label="Window undocked"/>
  <int value="3" label="Scripts breakpoint set"/>
  <int value="4" label="Timeline started"/>
  <int value="5" label="CPU profile taken"/>
  <int value="6" label="Heap profile taken"/>
  <int value="7" label="Audits started"/>
  <int value="8" label="Console evaluated"/>
  <int value="9" label="File saved in workspace"/>
  <int value="10" label="Device mode enabled"/>
  <int value="11" label="Animations playback rate changed"/>
  <int value="12" label="Revision applied"/>
  <int value="13" label="File system directory content received"/>
  <int value="14" label="Style rule edited"/>
  <int value="15" label="Command evaluated in console panel"/>
  <int value="16" label="DOM properties expanded"/>
  <int value="17" label="Resized view in responsive mode"/>
  <int value="18" label="Timeline started (page reload)"/>
  <int value="19" label="Connect to node.js from frontend"/>
  <int value="20" label="Connect to node.js directly (paste link from CLI)"/>
  <int value="21" label="CPU throttling enabled"/>
  <int value="22" label="CPU profile node focused"/>
  <int value="23" label="CPU profile node excluded"/>
  <int value="24" label="File picker file selected"/>
  <int value="25" label="Command menu command executed"/>
  <int value="26" label="Change inspected node in elements panel"/>
  <int value="27" label="Style rule copied"/>
</enum>

<enum name="DevToolsPanel" type="int">
  <int value="1" label="Elements"/>
  <int value="2" label="Resources"/>
  <int value="3" label="Network"/>
  <int value="4" label="Scripts"/>
  <int value="5" label="Timeline"/>
  <int value="6" label="Heap profiler"/>
  <int value="7" label="Audits"/>
  <int value="8" label="Console"/>
  <int value="9" label="Layers"/>
  <int value="10" label="Drawer - Console"/>
  <int value="11" label="Drawer - Animations"/>
  <int value="12" label="Drawer - Network config"/>
  <int value="13" label="Drawer - Rendering"/>
  <int value="14" label="Drawer - Sensors"/>
  <int value="15" label="Drawer - Search"/>
  <int value="16" label="Security"/>
  <int value="17" label="JavaScript Profiler"/>
</enum>

<enum name="DevToolsSetting" type="int">
  <int value="1" label="Elements DOM wrap on"/>
  <int value="2" label="Elements DOM wrap off"/>
  <int value="3" label="Console monitor XHR on"/>
  <int value="4" label="Console monitor XHR off"/>
  <int value="5" label="Console preserve log on"/>
  <int value="6" label="Console preserve log off"/>
  <int value="7" label="Network show large rows on"/>
  <int value="8" label="Network show large rows off"/>
</enum>

<enum name="DiagnosticsRecoveryRun" type="int">
  <int value="0" label="Recovery not run"/>
  <int value="1" label="Recovery run because of crash"/>
  <int value="2" label="Recovery run by user"/>
</enum>

<enum name="DiagnosticsResult" type="int">
  <int value="0" label="Not run (regular startup)"/>
  <int value="1" label="Success (crash startup)"/>
  <int value="2" label="Failure (crash startup)"/>
  <int value="3" label="Skipped (crash startup)"/>
</enum>

<enum name="DiagnosticsTestName" type="int">
  <int value="0" label="Conflicting DLLs Test"/>
  <int value="1" label="Disk Space Test"/>
  <int value="2" label="Install Type Test"/>
  <int value="3" label="JSON Bookmarks Test"/>
  <int value="4" label="JSON Local State Test"/>
  <int value="5" label="JSON Preferences Test"/>
  <int value="6" label="Operating System Test"/>
  <int value="7" label="Path Dictionaries Test"/>
  <int value="8" label="Path Local State Test"/>
  <int value="9" label="Path Resources Test"/>
  <int value="10" label="Path User Data Test"/>
  <int value="11" label="Version Test"/>
  <int value="12" label="SQLite Integrity App Cache Test"/>
  <int value="13" label="SQLite Integrity Archived History Test (obsolete)"/>
  <int value="14" label="SQLite Integrity Cookie Test"/>
  <int value="15" label="SQLite Integrity Database Tracker Test"/>
  <int value="16" label="SQLite Integrity History Test"/>
  <int value="17" label="SQLite Integrity Nss Cert Test"/>
  <int value="18" label="SQLite Integrity Nss Key Test"/>
  <int value="19" label="SQLite Integrity Thumbnails Test (obsolete)"/>
  <int value="20" label="SQLite Integrity Web Data Test"/>
  <int value="21" label="SQLite Integrity Favicons Test"/>
  <int value="22" label="SQLite Integrity Top Sites Test"/>
</enum>

<enum name="DialogName" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Translate"/>
  <int value="2" label="Bookmark"/>
  <int value="3" label="Bookmark Editor"/>
  <int value="4" label="Desktop Media Picker (Screenshare)"/>
  <int value="5" label="Outdated Upgrade"/>
  <int value="6" label="One Click Sign In"/>
  <int value="7" label="Profile Signin Confirmation (Link Chrome Data)"/>
  <int value="8" label="Hung Renderer"/>
  <int value="9" label="Session Crashed"/>
  <int value="10" label="Confirm Bubble (Ask Google for Suggestions)"/>
  <int value="11" label="Update Recommended"/>
  <int value="12" label="Crypto Password"/>
  <int value="13" label="Safe Browsing Download Feedback"/>
  <int value="14" label="First Run"/>
  <int value="15" label="Network Share Profile Warning"/>
  <int value="16" label="Conflicting Module"/>
  <int value="17" label="Critical Notification (Upgrade Installed)"/>
  <int value="18" label="IME Warning (Activation)"/>
</enum>

<enum name="DifferentPrimaryAccounts" type="int">
  <int value="0" label="Primary Accounts the same"/>
  <int value="1" label="(obsolete) Primary Accounts different"/>
  <int value="2" label="No GAIA account in cookie jar"/>
  <int value="3" label="Primary accounts present but different"/>
</enum>

<enum name="DirectoryDatabaseRepairResult" type="int">
  <int value="0" label="Succeeded"/>
  <int value="1" label="Failed"/>
</enum>

<enum name="DirectWriteFontFallbackResult" type="int">
  <int value="0" label="Failed: no font matched"/>
  <int value="1" label="Success: mapped from cache"/>
  <int value="2" label="Success: mapped using IPC"/>
</enum>

<enum name="DirectWriteFontLoaderType" type="int">
  <int value="0" label="File: system font directory"/>
  <int value="1" label="File: outside sandbox whitelist"/>
  <int value="2" label="Non-file loader"/>
  <int value="3" label="Font was missing require styles"/>
</enum>

<enum name="DirectWriteFontProxyError" type="int">
  <int value="0" label="FindFamily: send failed"/>
  <int value="1" label="GetFamilyCount: send failed"/>
  <int value="2" label="CreateEnumeratorFromKey: invalid key"/>
  <int value="3" label="CreateEnumeratorFromKey: family index out of range"/>
  <int value="4" label="GetFontFiles: send failed"/>
  <int value="5" label="FontFileStream: failed to created mapped file"/>
</enum>

<enum name="DirectWriteLoadFamilyResult" type="int">
  <int value="0" label="Success: single family"/>
  <int value="1" label="Success: matched from collection"/>
  <int value="2" label="Error: multiple families"/>
  <int value="3" label="Error: no families"/>
  <int value="4" label="Error: failed to create collection"/>
</enum>

<enum name="DirectWriteMessageFilterError" type="int">
  <int value="0" label="OnGetFontFiles: GetFont failed"/>
  <int value="1" label="OnGetFontFiles: AddFilesForFont failed"/>
  <int value="2" label="OnGetFontFiles: GetFontFamily failed"/>
  <int value="3" label="InitializeDirectWrite: GetSystemFontCollection failed"/>
  <int value="4" label="MapCharacters: could not find family"/>
  <int value="5" label="AddFilesForFont: create font face failed"/>
  <int value="6" label="AddFilesForFont: get font file count failed"/>
  <int value="7" label="AddFilesForFont: get font files failed"/>
  <int value="8" label="AddFilesForFont: get loader failed"/>
  <int value="9" label="AddFilesForFont: QueryInterface failed"/>
  <int value="10" label="AddLocalFile: get reference key failed"/>
  <int value="11" label="AddLocalFile: get path length failed"/>
  <int value="12" label="AddLocalFile: get path failed"/>
</enum>

<enum name="DistillableType" type="int">
  <int value="0" label="Not distillable"/>
  <int value="1" label="Non-mobile-friendly distillable"/>
  <int value="2" label="Mobile-friendly distillable"/>
</enum>

<enum name="DistillableType2" type="int">
  <int value="0" label="Non-mobile-friendly, not distillable"/>
  <int value="1" label="Mobile-friendly, not distillable"/>
  <int value="2" label="Non-mobile-friendly, distillable"/>
  <int value="3" label="Mobile-friendly, distillable"/>
</enum>

<enum name="DistillRejection" type="int">
  <int value="0" label="Not an article"/>
  <int value="1" label="Mobile-friendly"/>
  <int value="2" label="Domain is blacklisted"/>
  <int value="3" label="Predicted to be short"/>
  <int value="4" label="Not rejected"/>
</enum>

<enum name="DllHash" type="int">
<!-- Generated by chrome_elf/dll_hash/dll_hash_main.cc -->

  <int value="26393601" label="wajam_goblin_64.dll"/>
  <int value="44551499" label="949ba8b6a9.dll"/>
  <int value="79515758" label="crdli.dll"/>
  <int value="114416212" label="virtualcamera.ax"/>
  <int value="141490347" label="minisp.dll"/>
  <int value="231333778" label="libapi2hook.dll"/>
  <int value="272828651" label="activedetect64.dll"/>
  <int value="295718620" label="cespy.dll"/>
  <int value="313484566" label="vntsrv.dll"/>
  <int value="447643466" label="libinject.dll"/>
  <int value="604217493" label="explorerex.dll"/>
  <int value="684728064" label="offerswizarddll.dll"/>
  <int value="685821492" label="smdmf.dll"/>
  <int value="750761702" label="systemk.dll"/>
  <int value="777975221" label="activedetect32.dll"/>
  <int value="803283353" label="lmrn.dll"/>
  <int value="839518885" label="libinject2.dll"/>
  <int value="851064219" label="wajam_goblin.dll"/>
  <int value="888528780" label="ycwebcamerasource.ax"/>
  <int value="989714890" label="datamngr.dll"/>
  <int value="1114335935" label="libredir2.dll"/>
  <int value="1120295191" label="windowsapihookdll64.dll"/>
  <int value="1148809156" label="chrmxtn.dll"/>
  <int value="1270622879" label="hk.dll"/>
  <int value="1409376135" label="windowsapihookdll32.dll"/>
  <int value="1617407227" label="spappsv32.dll"/>
  <int value="1671476533" label="crdli64.dll"/>
  <int value="1680432366" label="virtualCamera.ax"/>
  <int value="1736709911" label="bitguard.dll"/>
  <int value="1763208296" label="safetynut.dll"/>
  <int value="1806942655" label="dpinterface32.dll"/>
  <int value="1850669228" label="YCWebCameraSource.ax"/>
  <int value="1979101632" label="bsvc.dll"/>
  <int value="1996673448" label="scdetour.dll"/>
  <int value="2060768492" label="libwinhook.dll"/>
  <int value="2074150225" label="minisp32.dll"/>
  <int value="2117903235" label="cplushook.dll"/>
  <int value="2132270559" label="libsvn_tsvn32.dll"/>
</enum>

<enum name="DNS.AddressListDeltaType" type="int">
  <int value="0" label="Same addresses in the same order"/>
  <int value="1" label="Same addresses in a different order"/>
  <int value="2" label="Some but not all addresses in common"/>
  <int value="3" label="No addresses in common"/>
</enum>

<enum name="DNS.HostCache.EraseReason" type="int">
  <int value="0" label="Entry evicted"/>
  <int value="1" label="Cache cleared"/>
  <int value="2" label="Cache destroyed"/>
</enum>

<enum name="DNS.HostCache.LookupOutcome" type="int">
  <int value="0" label="Miss (absent)"/>
  <int value="1" label="Miss (stale when not requested)"/>
  <int value="2" label="Hit (valid)"/>
  <int value="3" label="Hit (stale when requested)"/>
</enum>

<enum name="DNS.HostCache.SetOutcome" type="int">
  <int value="0" label="Inserted new entry"/>
  <int value="1" label="Updated valid entry"/>
  <int value="2" label="Updated stale entry"/>
</enum>

<enum name="DNS.StaleHostResolverRequestOutcome" type="int">
  <int value="0"
      label="Returned synchronously (cache, hosts, IP literal etc.)"/>
  <int value="1"
      label="Returned network result; no stale cached result was available."/>
  <int value="2"
      label="Returned network result; stale cached result was available."/>
  <int value="3" label="Returned stale cached result; network was too slow."/>
  <int value="4" label="Canceled; no stale cached result was available."/>
  <int value="5" label="Canceled; stale cached result was available."/>
</enum>

<enum name="DNSEmptyAddressListAndNoError" type="int">
  <int value="0" label="Error reported or Address List is not empty"/>
  <int value="1" label="Success reported but Address List is empty"/>
</enum>

<enum name="DnsProbe.JobResult" type="int">
  <int value="0" label="SERVERS_UNKNOWN"/>
  <int value="1" label="SERVERS_CORRECT"/>
  <int value="2" label="SERVERS_INCORRECT"/>
  <int value="3" label="SERVERS_FAILING"/>
  <int value="4" label="SERVERS_UNREACHABLE"/>
</enum>

<enum name="DnsProbe.ObsoleteProbeResult" type="int">
  <int value="0" label="INCONCLUSIVE"/>
  <int value="1" label="NO_INTERNET"/>
  <int value="2" label="BAD_CONFIG"/>
  <int value="3" label="NXDOMAIN"/>
</enum>

<enum name="DnsProbe.ProbeStatus" type="int">
  <int value="0" label="POSSIBLE"/>
  <int value="1" label="NOT_RUN"/>
  <int value="2" label="STARTED"/>
  <int value="3" label="FINISHED_INCONCLUSIVE"/>
  <int value="4" label="FINISHED_NO_INTERNET"/>
  <int value="5" label="FINISHED_BAD_CONFIG"/>
  <int value="6" label="FINISHED_NXDOMAIN"/>
</enum>

<enum name="DnsProbe.SystemIsLocalhost" type="int">
  <int value="0" label="Not just 127.0.0.1">
    127.0.0.1 was not the only nameserver in the system DNS config.
  </int>
  <int value="1" label="Just 127.0.0.1">
    127.0.0.1 was the only nameserver in the system DNS config.
  </int>
</enum>

<enum name="DockedAction" type="int">
  <int value="0" label="None"/>
  <int value="1" label="Dock"/>
  <int value="2" label="Undock"/>
  <int value="3" label="Resize"/>
  <int value="4" label="Reorder"/>
  <int value="5" label="Evict"/>
  <int value="6" label="Maximize"/>
  <int value="7" label="Minimize"/>
  <int value="8" label="Restore"/>
  <int value="9" label="Close"/>
</enum>

<enum name="DockedActionSource" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Mouse"/>
  <int value="2" label="Touch"/>
  <int value="3" label="Keyboard"/>
</enum>

<enum name="DocumentStateForDeferredLoading" type="int">
  <int value="0" label="Created"/>
  <int value="1" label="WouldLoadBecauseVisible"/>
</enum>

<enum name="DocumentStateForDeferredLoadingV2" type="int">
  <int value="0" label="Created"/>
  <int value="1" label="WouldLoadOutOfProcess"/>
  <int value="2" label="WouldLoadDisplayNone"/>
  <int value="3" label="WouldLoadZeroByZero"/>
  <int value="4" label="WouldLoadAbove"/>
  <int value="5" label="WouldLoadLeft"/>
  <int value="6" label="WouldLoadVisible"/>
</enum>

<enum name="DocumentStateForDeferredLoadingV3" type="int">
  <int value="0" label="Created"/>
  <int value="1" label="WouldLoadOutOfProcess"/>
  <int value="2" label="WouldLoadDisplayNone"/>
  <int value="3" label="WouldLoadZeroByZero"/>
  <int value="4" label="WouldLoadAboveAndLeft"/>
  <int value="5" label="WouldLoadAbove"/>
  <int value="6" label="WouldLoadLeft"/>
  <int value="7" label="WouldLoadVisible"/>
</enum>

<enum name="DocumentStateForDeferredLoadingV4" type="int">
  <int value="0" label="Invalid"/>
  <int value="1" label="Created"/>
  <int value="2" label="WouldLoad3ScreensAway"/>
  <int value="3" label="WouldLoad2ScreensAway"/>
  <int value="4" label="WouldLoad1ScreensAway"/>
  <int value="5" label="WouldLoadVisible"/>
  <int value="6" label="WouldLoadNoParent"/>
</enum>

<enum name="DocumentWriteGatedEvaluation" type="int">
  <int value="0" label="Script too long"/>
  <int value="1" label="No likely external script write"/>
  <int value="2" label="Looping construct found"/>
  <int value="3" label="Script uses popular library"/>
  <int value="4" label="Script uses non-determinism"/>
</enum>

<enum name="DocumentWriteLoadingBehavior" type="int">
  <int value="0" label="A script on the page is blockable"/>
  <int value="1" label="Reload scenario, so not blockable"/>
  <int value="2" label="Same Site Different Scheme Script"/>
</enum>

<enum name="DomainBoundCerts.DBLoadStatus" type="int">
  <int value="0" label="Database path doesn't exist and couldn't be created"/>
  <int value="1" label="Unable to open database"/>
  <int value="2" label="Failed to migrate db to current version"/>
  <int value="3" label="Invalid SELECT statement to load db"/>
  <int value="4" label="Successfully created new db"/>
  <int value="5" label="Successfully loaded existing db"/>
  <int value="6"
      label="Loaded existing db, but failed to load one or more keys"/>
</enum>

<enum name="DomainBoundCerts.GetCertResult" type="int">
  <int value="0" label="SYNC_SUCCESS"/>
  <int value="1" label="ASYNC_SUCCESS"/>
  <int value="2" label="ASYNC_CANCELLED"/>
  <int value="3" label="ASYNC_FAILURE_KEYGEN"/>
  <int value="4" label="ASYNC_FAILURE_CREATE_CERT"/>
  <int value="5" label="ASYNC_FAILURE_EXPORT_KEY"/>
  <int value="6" label="ASYNC_FAILURE_UNKNOWN"/>
  <int value="7" label="INVALID_ARGUMENT"/>
  <int value="8" label="UNSUPPORTED_TYPE"/>
  <int value="9" label="TYPE_MISMATCH"/>
  <int value="10" label="WORKER_FAILURE"/>
</enum>

<enum name="DomainBoundCerts.Support" type="int">
  <int value="0" label="DISABLED"/>
  <int value="1" label="CLIENT_ONLY"/>
  <int value="2" label="CLIENT_AND_SERVER"/>
  <int value="3" label="CLIENT_NO_ECC">
    Channel ID was enabled, but the client did not support elliptic curve key
    generation.
  </int>
  <int value="4" label="CLIENT_BAD_SYSTEM_TIME">
    Channel ID was enabled, but the client had an invalid system time which
    prevented using it.
  </int>
  <int value="5" label="CLIENT_NO_SERVER_BOUND_CERT_SERVICE">
    The SSLClientSocket was created without a ServerBoundCertService.
  </int>
</enum>

<enum name="DomainReliability.BooleanFailover" type="int">
  <int value="0" label="Used first collector"/>
  <int value="1" label="Failed over to another collector"/>
</enum>

<enum name="DoodleConfigDownloadOutcome" type="int">
  <summary>
    These values are defined in the DownloadOutcome enum in
    components/doodle/doodle_service.h.
  </summary>
  <int value="0" label="New doodle"/>
  <int value="1" label="Existing doodle was revalidated"/>
  <int value="2" label="Existing doodle was updated"/>
  <int value="3" label="No doodle today"/>
  <int value="4" label="Received doodle was already expired"/>
  <int value="5" label="Download failed"/>
  <int value="6" label="Parsing failed"/>
  <int value="7" label="Request ignored, min refresh interval not passed"/>
</enum>

<enum name="DoubleGetExperimentMethods" type="int">
  <int value="0" label="POST"/>
  <int value="1" label="GET_CACHABLE"/>
  <int value="2" label="GET_NON_CACHABLE"/>
</enum>

<enum name="DownEventDestination" type="int">
  <int value="0" label="Others, everything except browser and apps"/>
  <int value="1" label="Inside the browser frame"/>
  <int value="2" label="Regular Chrome app"/>
  <int value="3" label="ARC app (Android app on Chrome)"/>
  <int value="4" label="Default note-taking app (deprecated)"/>
</enum>

<enum name="DownEventFormFactor" type="int">
  <int value="0" label="Clamshell"/>
  <int value="1" label="Touchview"/>
</enum>

<enum name="DownEventSource" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Mouse"/>
  <int value="2" label="Stylus"/>
  <int value="3" label="Touch"/>
</enum>

<enum name="DownloadConnectionSecurity" type="int">
  <int value="0"
      label="Final download url and the redirects before it all use https"/>
  <int value="1" label="Final download url uses http, redirects all use https"/>
  <int value="2"
      label="Final download url uses https, but at least one redirect uses
             http"/>
  <int value="3"
      label="Final download url uses http, and at least one redirect uses
             http"/>
  <int value="4" label="Final download url uses scheme other than http/https"/>
</enum>

<enum name="DownloadContentDisposition" type="int">
  <int value="0" label="Content-Disposition header present"/>
  <int value="1" label="Valid"/>
  <int value="2" label="Has disposition-type"/>
  <int value="3" label="Has unknown disposition-type"/>
  <int value="4" label="Has 'name' attribute (Obsolete 04/2015)"/>
  <int value="5" label="Has 'filename' attribute"/>
  <int value="6" label="Has 'filename*' attribute"/>
  <int value="7" label="Has non-ASCII strings"/>
  <int value="8" label="Has percent encoded strings"/>
  <int value="9" label="Has RFC 2047 encoded strings"/>
  <int value="10" label="Has 'name' attribute only (Obsolete 04/2015)"/>
</enum>

<enum name="DownloadContentType" type="int">
  <int value="0" label="UNRECOGNIZED"/>
  <int value="1" label="TEXT"/>
  <int value="2" label="IMAGE"/>
  <int value="3" label="AUDIO"/>
  <int value="4" label="VIDEO"/>
  <int value="5" label="OCTET_STREAM"/>
  <int value="6" label="PDF"/>
  <int value="7" label="DOC"/>
  <int value="8" label="XLS"/>
  <int value="9" label="PPT"/>
  <int value="10" label="ARCHIVE"/>
  <int value="11" label="EXE"/>
  <int value="12" label="DMG"/>
  <int value="13" label="CRX"/>
</enum>

<enum name="DownloadCountType" type="int">
  <int value="0" label="Initiated by Navigation (Obsolete)"/>
  <int value="1" label="Initiated by Context Menu (Obsolete)"/>
  <int value="2" label="Initiated by SavePackage Failure (Obsolete)"/>
  <int value="3" label="Initiated by Drag-n-drop (Obsolete)"/>
  <int value="4" label="Initiated by Renderer (Obsolete)"/>
  <int value="5" label="Initiated and Unthrottled"/>
  <int value="6" label="Completed"/>
  <int value="7" label="Cancelled"/>
  <int value="8" label="Started"/>
  <int value="9" label="Interrupted"/>
  <int value="10" label="Calls to AppendDataToFile (Size) (Obsolete 8/2013)"/>
  <int value="11" label="Calls to AppendDataToFile (Count) (Obsolete 8/2013)"/>
  <int value="12" label="Interrupted at End of Download"/>
  <int value="13" label="Attempt to Append to Detached File"/>
  <int value="14" label="File Missing After Successful Scan (Obsolete 6/2016)"/>
  <int value="15" label="Supports ranges and strong ETag (Obsolete 11/2013)"/>
  <int value="16" label="No WebContents at interruption"/>
  <int value="17" label="Supports ranges and strong validation"/>
  <int value="18" label="Uses parallel requests(Obsolete 3/2017)"/>
  <int value="19" label="New downloads"/>
  <int value="20" label="New downloads (normal profile only)"/>
  <int value="21" label="Completed (normal profile only)"/>
</enum>

<enum name="DownloadDatabaseRecordDroppedType" type="int">
  <int value="0" label="Bad State"/>
  <int value="1" label="Bad Danger Type"/>
  <int value="2" label="Bad ID"/>
  <int value="3" label="Duplicate ID"/>
</enum>

<enum name="DownloadDOMEvent" type="int">
  <int value="0" label="GetDownloads"/>
  <int value="1" label="OpenFile"/>
  <int value="2" label="Drag"/>
  <int value="3" label="SaveDangerous"/>
  <int value="4" label="DiscardDangerous"/>
  <int value="5" label="Show"/>
  <int value="6" label="Pause"/>
  <int value="7" label="Remove"/>
  <int value="8" label="Cancel"/>
  <int value="9" label="ClearAll"/>
  <int value="10" label="OpenFolder"/>
  <int value="11" label="Resume"/>
</enum>

<enum name="DownloadFilePickerResult" type="int">
  <int value="0" label="SAME"/>
  <int value="1" label="DIFFERENT_DIR"/>
  <int value="2" label="DIFFERENT_NAME"/>
  <int value="3" label="CANCEL"/>
</enum>

<enum name="DownloadFunctions" type="int">
  <int value="0" label="download"/>
  <int value="1" label="search"/>
  <int value="2" label="pause"/>
  <int value="3" label="resume"/>
  <int value="4" label="cancel"/>
  <int value="5" label="erase"/>
  <int value="6" label="(unused)"/>
  <int value="7" label="accept_danger"/>
  <int value="8" label="show"/>
  <int value="9" label="drag"/>
  <int value="10" label="get_file_icon"/>
  <int value="11" label="open"/>
  <int value="12" label="remove_file"/>
  <int value="13" label="show_default_folder"/>
  <int value="14" label="set_shelf_enabled"/>
  <int value="15" label="determine_filename"/>
</enum>

<enum name="DownloadImageType" type="int">
  <int value="0" label="Unrecognized"/>
  <int value="1" label="GIF"/>
  <int value="2" label="JPEG"/>
  <int value="3" label="PNG"/>
  <int value="4" label="TIFF"/>
  <int value="5" label="ICON"/>
  <int value="6" label="WEBP"/>
</enum>

<enum name="DownloadInterruptedUnknownSizeType" type="int">
  <int value="0" label="Size Known"/>
  <int value="1" label="Size Unknown"/>
</enum>

<enum name="DownloadItem.DangerousFileType" type="int">
  <int value="0" label="unknown"/>
  <int value="1" label="ad"/>
  <int value="2" label="ade"/>
  <int value="3" label="adp"/>
  <int value="4" label="ah"/>
  <int value="5" label="apk"/>
  <int value="6" label="app"/>
  <int value="7" label="application"/>
  <int value="8" label="asp"/>
  <int value="9" label="asx"/>
  <int value="10" label="bas"/>
  <int value="11" label="bash"/>
  <int value="12" label="bat"/>
  <int value="13" label="cfg"/>
  <int value="14" label="chi"/>
  <int value="15" label="chm"/>
  <int value="16" label="class"/>
  <int value="17" label="cmd"/>
  <int value="18" label="com"/>
  <int value="19" label="command"/>
  <int value="20" label="crt"/>
  <int value="21" label="crx"/>
  <int value="22" label="csh"/>
  <int value="23" label="deb"/>
  <int value="24" label="dex"/>
  <int value="25" label="dll"/>
  <int value="26" label="drv"/>
  <int value="27" label="exe"/>
  <int value="28" label="fxp"/>
  <int value="29" label="grp"/>
  <int value="30" label="hlp"/>
  <int value="31" label="hta"/>
  <int value="32" label="htm"/>
  <int value="33" label="html"/>
  <int value="34" label="htt"/>
  <int value="35" label="inf"/>
  <int value="36" label="ini"/>
  <int value="37" label="ins"/>
  <int value="38" label="isp"/>
  <int value="39" label="jar"/>
  <int value="40" label="jnlp"/>
  <int value="41" label="user.js"/>
  <int value="42" label="js"/>
  <int value="43" label="jse"/>
  <int value="44" label="ksh"/>
  <int value="45" label="lnk"/>
  <int value="46" label="local"/>
  <int value="47" label="mad"/>
  <int value="48" label="maf"/>
  <int value="49" label="mag"/>
  <int value="50" label="mam"/>
  <int value="51" label="manifest"/>
  <int value="52" label="maq"/>
  <int value="53" label="mar"/>
  <int value="54" label="mas"/>
  <int value="55" label="mat"/>
  <int value="56" label="mau"/>
  <int value="57" label="mav"/>
  <int value="58" label="maw"/>
  <int value="59" label="mda"/>
  <int value="60" label="mdb"/>
  <int value="61" label="mde"/>
  <int value="62" label="mdt"/>
  <int value="63" label="mdw"/>
  <int value="64" label="mdz"/>
  <int value="65" label="mht"/>
  <int value="66" label="mhtml"/>
  <int value="67" label="mmc"/>
  <int value="68" label="mof"/>
  <int value="69" label="msc"/>
  <int value="70" label="msh"/>
  <int value="71" label="mshxml"/>
  <int value="72" label="msi"/>
  <int value="73" label="msp"/>
  <int value="74" label="mst"/>
  <int value="75" label="ocx"/>
  <int value="76" label="ops"/>
  <int value="77" label="pcd"/>
  <int value="78" label="pif"/>
  <int value="79" label="pkg"/>
  <int value="80" label="pl"/>
  <int value="81" label="plg"/>
  <int value="82" label="prf"/>
  <int value="83" label="prg"/>
  <int value="84" label="pst"/>
  <int value="85" label="py"/>
  <int value="86" label="pyc"/>
  <int value="87" label="pyw"/>
  <int value="88" label="rb"/>
  <int value="89" label="reg"/>
  <int value="90" label="rpm"/>
  <int value="91" label="scf"/>
  <int value="92" label="scr"/>
  <int value="93" label="sct"/>
  <int value="94" label="sh"/>
  <int value="95" label="shar"/>
  <int value="96" label="shb"/>
  <int value="97" label="shs"/>
  <int value="98" label="shtm"/>
  <int value="99" label="shtml"/>
  <int value="100" label="spl"/>
  <int value="101" label="svg"/>
  <int value="102" label="swf"/>
  <int value="103" label="sys"/>
  <int value="104" label="tcsh"/>
  <int value="105" label="url"/>
  <int value="106" label="vb"/>
  <int value="107" label="vbe"/>
  <int value="108" label="vbs"/>
  <int value="109" label="vsd"/>
  <int value="110" label="vsmacros"/>
  <int value="111" label="vss"/>
  <int value="112" label="vst"/>
  <int value="113" label="vsw"/>
  <int value="114" label="ws"/>
  <int value="115" label="wsc"/>
  <int value="116" label="wsf"/>
  <int value="117" label="wsh"/>
  <int value="118" label="xbap"/>
  <int value="119" label="xht"/>
  <int value="120" label="xhtm"/>
  <int value="121" label="xhtml"/>
  <int value="122" label="xml"/>
  <int value="123" label="xsl"/>
  <int value="124" label="xslt"/>
  <int value="125" label="website"/>
  <int value="126" label="msh1"/>
  <int value="127" label="msh2"/>
  <int value="128" label="msh1xml"/>
  <int value="129" label="msh2xml"/>
  <int value="130" label="ps1"/>
  <int value="131" label="ps1xml"/>
  <int value="132" label="ps2"/>
  <int value="133" label="ps2xml"/>
  <int value="134" label="psc1"/>
  <int value="135" label="psc2"/>
  <int value="136" label="xnk"/>
  <int value="137" label="appref-ms"/>
  <int value="138" label="gadget"/>
  <int value="139" label="efi"/>
  <int value="140" label="fon"/>
  <int value="141" label="partial"/>
  <int value="142" label="svg"/>
  <int value="143" label="xml"/>
  <int value="144" label="xrm_ms"/>
  <int value="145" label="xsl"/>
  <int value="146" label="action"/>
  <int value="147" label="bin"/>
  <int value="148" label="inx"/>
  <int value="149" label="ipa"/>
  <int value="150" label="isu"/>
  <int value="151" label="job"/>
  <int value="152" label="out"/>
  <int value="153" label="pad"/>
  <int value="154" label="paf"/>
  <int value="155" label="rgs"/>
  <int value="156" label="u3p"/>
  <int value="157" label="vbscript"/>
  <int value="158" label="workflow"/>
  <int value="159" label="001"/>
  <int value="160" label="7z"/>
  <int value="161" label="ace"/>
  <int value="162" label="arc"/>
  <int value="163" label="arj"/>
  <int value="164" label="b64"/>
  <int value="165" label="balz"/>
  <int value="166" label="bhx"/>
  <int value="167" label="bz"/>
  <int value="168" label="bz2"/>
  <int value="169" label="bzip2"/>
  <int value="170" label="cab"/>
  <int value="171" label="cpio"/>
  <int value="172" label="fat"/>
  <int value="173" label="gz"/>
  <int value="174" label="gzip"/>
  <int value="175" label="hfs"/>
  <int value="176" label="hqx"/>
  <int value="177" label="iso"/>
  <int value="178" label="lha"/>
  <int value="179" label="lpaq1"/>
  <int value="180" label="lpaq5"/>
  <int value="181" label="lpaq8"/>
  <int value="182" label="lzh"/>
  <int value="183" label="lzma"/>
  <int value="184" label="mim"/>
  <int value="185" label="ntfs"/>
  <int value="186" label="paq8f"/>
  <int value="187" label="paq8jd"/>
  <int value="188" label="paq8l"/>
  <int value="189" label="paq8o"/>
  <int value="190" label="pea"/>
  <int value="191" label="quad"/>
  <int value="192" label="r00"/>
  <int value="193" label="r01"/>
  <int value="194" label="r02"/>
  <int value="195" label="r03"/>
  <int value="196" label="r04"/>
  <int value="197" label="r05"/>
  <int value="198" label="r06"/>
  <int value="199" label="r07"/>
  <int value="200" label="r08"/>
  <int value="201" label="r09"/>
  <int value="202" label="r10"/>
  <int value="203" label="r11"/>
  <int value="204" label="r12"/>
  <int value="205" label="r13"/>
  <int value="206" label="r14"/>
  <int value="207" label="r15"/>
  <int value="208" label="r16"/>
  <int value="209" label="r17"/>
  <int value="210" label="r18"/>
  <int value="211" label="r19"/>
  <int value="212" label="r20"/>
  <int value="213" label="r21"/>
  <int value="214" label="r22"/>
  <int value="215" label="r23"/>
  <int value="216" label="r24"/>
  <int value="217" label="r25"/>
  <int value="218" label="r26"/>
  <int value="219" label="r27"/>
  <int value="220" label="r28"/>
  <int value="221" label="r29"/>
  <int value="222" label="rar"/>
  <int value="223" label="squashfs"/>
  <int value="224" label="swm"/>
  <int value="225" label="tar"/>
  <int value="226" label="taz"/>
  <int value="227" label="tbz"/>
  <int value="228" label="tbz2"/>
  <int value="229" label="tgz"/>
  <int value="230" label="tpz"/>
  <int value="231" label="txz"/>
  <int value="232" label="tz"/>
  <int value="233" label="udf"/>
  <int value="234" label="uu"/>
  <int value="235" label="uue"/>
  <int value="236" label="vhd"/>
  <int value="237" label="vmdk"/>
  <int value="238" label="wim"/>
  <int value="239" label="wrc"/>
  <int value="240" label="xar"/>
  <int value="241" label="xxe"/>
  <int value="242" label="xz"/>
  <int value="243" label="z"/>
  <int value="244" label="zip"/>
  <int value="245" label="zipx"/>
  <int value="246" label="zpaq"/>
  <int value="247" label="cdr"/>
  <int value="248" label="dart"/>
  <int value="249" label="dc42"/>
  <int value="250" label="diskcopy42"/>
  <int value="251" label="dmg"/>
  <int value="252" label="dmgpart"/>
  <int value="253" label="dvdr"/>
  <int value="254" label="img"/>
  <int value="255" label="imgpart"/>
  <int value="256" label="ndif"/>
  <int value="257" label="smi"/>
  <int value="258" label="sparsebundle"/>
  <int value="259" label="sparseimage"/>
  <int value="260" label="toast"/>
  <int value="261" label="udif"/>
  <int value="262" label="run"/>
  <int value="263" label="ad"/>
</enum>

<enum name="DownloadItem.DangerType" type="int">
  <int value="0" label="NOT_DANGEROUS"/>
  <int value="1" label="DANGEROUS_FILE"/>
  <int value="2" label="DANGEROUS_URL"/>
  <int value="3" label="DANGEROUS_CONTENT"/>
  <int value="4" label="MAYBE_DANGEROUS_CONTENT"/>
  <int value="5" label="UNCOMMON_CONTENT"/>
  <int value="6" label="USER_VALIDATED"/>
  <int value="7" label="DANGEROUS_HOST"/>
  <int value="8" label="POTENTIALLY_UNWANTED"/>
</enum>

<enum name="DownloadOpenMethod" type="int">
  <int value="0" label="Opened with plaform handler by default"/>
  <int value="1" label="Opened in browser by default"/>
  <int value="2" label="Opened with plaform handler by user choice"/>
</enum>

<enum name="DownloadOriginStateOnResumption" type="int">
  <int value="0" label="No changes"/>
  <int value="1" label="New redirects"/>
  <int value="2" label="New validators"/>
  <int value="3" label="New redirects + validators"/>
  <int value="4" label="New Content-Disposition"/>
  <int value="5" label="New redirects + Content-Disposition"/>
  <int value="6" label="New validators + Content-Disposition"/>
  <int value="7" label="New redirects + validators + Content-Disposition"/>
</enum>

<enum name="DownloadPassKitResult" type="int">
  <int value="0" label="Successful"/>
  <int value="1" label="Other Failure"/>
  <int value="2" label="Unauthorized Failure"/>
  <int value="3" label="Wrong MIME Type Failure"/>
</enum>

<enum name="DownloadSavePackageEvent" type="int">
  <int value="0" label="Started"/>
  <int value="1" label="Cancelled"/>
  <int value="2" label="Finished"/>
  <int value="3" label="Write to already completed file"/>
  <int value="4" label="Write to already failed file"/>
</enum>

<enum name="DownloadSource" type="int">
  <int value="0" label="Initiated by Save Package on Non-HTML content"/>
  <int value="1" label="Initiated by Drag-and-drop"/>
  <int value="2" label="Initiated by RPC from Renderer"/>
  <int value="3" label="Initiated by Save from Pepper"/>
  <int value="4"
      label="Initiated by Resumption, manual or automatic (Deprecated)"/>
  <int value="5" label="Initiated by Manual Resumption"/>
  <int value="6" label="Initiated by Automatic Resumption"/>
</enum>

<enum name="DownloadUploadRequestedByServer" type="int">
  <int value="0" label="No Upload"/>
  <int value="1" label="Upload Requested"/>
</enum>

<enum name="DragDropEventSource" type="int">
  <int value="0" label="Mouse"/>
  <int value="1" label="Touch"/>
</enum>

<enum name="DriveApiErrorCode" type="int">
<!-- Generated from google_apis/drive/drive_api_error_codes.h -->

  <int value="200" label="HTTP_SUCCESS"/>
  <int value="201" label="HTTP_CREATED"/>
  <int value="204" label="HTTP_NO_CONTENT"/>
  <int value="302" label="HTTP_FOUND"/>
  <int value="304" label="HTTP_NOT_MODIFIED"/>
  <int value="308" label="HTTP_RESUME_INCOMPLETE"/>
  <int value="400" label="HTTP_BAD_REQUEST"/>
  <int value="401" label="HTTP_UNAUTHORIZED"/>
  <int value="403" label="HTTP_FORBIDDEN"/>
  <int value="404" label="HTTP_NOT_FOUND"/>
  <int value="409" label="HTTP_CONFLICT"/>
  <int value="410" label="HTTP_GONE"/>
  <int value="411" label="HTTP_LENGTH_REQUIRED"/>
  <int value="412" label="HTTP_PRECONDITION"/>
  <int value="500" label="HTTP_INTERNAL_SERVER_ERROR"/>
  <int value="501" label="HTTP_NOT_IMPLEMENTED"/>
  <int value="502" label="HTTP_BAD_GATEWAY"/>
  <int value="503" label="HTTP_SERVICE_UNAVAILABLE"/>
  <int value="1000" label="DRIVE_PARSE_ERROR"/>
  <int value="1001" label="DRIVE_FILE_ERROR"/>
  <int value="1002" label="DRIVE_CANCELLED"/>
  <int value="1003" label="DRIVE_OTHER_ERROR"/>
  <int value="1004" label="DRIVE_NO_CONNECTION"/>
  <int value="1005" label="DRIVE_NOT_READY"/>
  <int value="1006" label="DRIVE_NO_SPACE"/>
  <int value="1007" label="DRIVE_RESPONSE_TOO_LARGE"/>
</enum>

<enum name="DriveCacheDBOpenStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Corrupt database"/>
  <int value="2" label="Unknown recoverable failure"/>
  <int value="3" label="Unrecoverable (disk full?) failure"/>
</enum>

<enum name="DriveEntryKind" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Item"/>
  <int value="2" label="Site"/>
  <int value="3" label="Document"/>
  <int value="4" label="Spereadsheet"/>
  <int value="5" label="Presentation"/>
  <int value="6" label="Drawing"/>
  <int value="7" label="Table"/>
  <int value="8" label="External app"/>
  <int value="9" label="Folder"/>
  <int value="10" label="File"/>
  <int value="11" label="PDF"/>
</enum>

<enum name="DriveFileFormat" type="int">
  <int value="0" label="AAC"/>
  <int value="1" label="ASF"/>
  <int value="2" label="AVI"/>
  <int value="3" label="CSV"/>
  <int value="4" label="DOC"/>
  <int value="5" label="DOCX"/>
  <int value="6" label="FLV"/>
  <int value="7" label="JPG"/>
  <int value="8" label="MJPG"/>
  <int value="9" label="MOV"/>
  <int value="10" label="MP3"/>
  <int value="11" label="MP4"/>
  <int value="12" label="MPG"/>
  <int value="13" label="OTHER"/>
  <int value="14" label="PDF"/>
  <int value="15" label="PPT"/>
  <int value="16" label="PPTX"/>
  <int value="17" label="PSD"/>
  <int value="18" label="RAR"/>
  <int value="19" label="WMA"/>
  <int value="20" label="WMV"/>
  <int value="21" label="XLS"/>
  <int value="22" label="XLSX"/>
  <int value="23" label="ZIP"/>
</enum>

<enum name="DriveMetadataDBInitStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Not found"/>
  <int value="2" label="Corruption"/>
  <int value="3" label="IO error"/>
  <int value="4" label="Failed to open DB for unknown reason"/>
  <int value="5" label="Incompatible DB format"/>
  <int value="6" label="DB is broken"/>
  <int value="7" label="Opened existing DB."/>
  <int value="8" label="No existing DB was found. Created new DB."/>
  <int value="9" label="Cannot open existing DB. Created new DB."/>
</enum>

<enum name="DriveMetadataDBValidityCheckFailureReason" type="int">
  <int value="0" label="Invalid header"/>
  <int value="1" label="Broken ID entry"/>
  <int value="2" label="Broken entry"/>
  <int value="3" label="Invalid local ID"/>
  <int value="4" label="Invalid parent ID"/>
  <int value="5" label="Broken child map"/>
  <int value="6" label="Child entry count mismatch"/>
  <int value="7" label="Iterator error"/>
</enum>

<enum name="DriveUploadProtocol" type="int">
  <int value="0" label="Resumable"/>
  <int value="1" label="Multipart"/>
  <int value="2" label="Batch"/>
</enum>

<enum name="DTLS_SRTPCryptoSuite" type="int">
  <summary>
    DTLS/SRTP crypto suites from the IANA registry as specified at
    https://tools.ietf.org/html/rfc5764#section-4.1.2
  </summary>
  <int value="1" label="SRTP_AES128_CM_SHA1_80"/>
  <int value="2" label="SRTP_AES128_CM_SHA1_32"/>
  <int value="5" label="SRTP_NULL_SHA1_80"/>
  <int value="6" label="SRTP_NULL_SHA1_32"/>
</enum>

<enum name="DtlsHandshakeError" type="int">
  <int value="0" label="Incompatible cipher suite"/>
  <int value="1" label="Unknown error"/>
</enum>

<enum name="DumpOutcome" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Failure"/>
  <int value="2" label="Unknown"/>
</enum>

<enum name="DxgiFramePresentationMode" type="int">
  <int value="0" label="Composed"/>
  <int value="1" label="Overlay"/>
  <int value="2" label="None (Unknown)"/>
  <int value="3" label="Composition Failure"/>
</enum>

<enum name="EAPInnerProtocol" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="NONE"/>
  <int value="2" label="PEAP-MD5"/>
  <int value="3" label="PEAP-MSCHAPV2"/>
  <int value="4" label="TTLS-EAP-MD5"/>
  <int value="5" label="TTLS-EAP-MSCHAPV2"/>
  <int value="6" label="TTLS-MSCHAPV2"/>
  <int value="7" label="TTLS-MSCHAP"/>
  <int value="8" label="TTLS-PAP"/>
  <int value="9" label="TTLS-CHAP"/>
</enum>

<enum name="EAPOuterProtocol" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="LEAP"/>
  <int value="2" label="PEAP"/>
  <int value="3" label="TLS"/>
  <int value="4" label="TTLS"/>
</enum>

<enum name="EasyUnlockAuthEvent" type="int">
  <int value="0" label="Smart Lock success"/>
  <int value="1" label="Smart Lock failure"/>
  <int value="2" label="Password entry: No pairing"/>
  <int value="3" label="Password entry: Pairing changed"/>
  <int value="4" label="Password entry: User hardlock"/>
  <int value="5" label="Password entry: Service not active"/>
  <int value="6" label="Password entry: No Bluetooth"/>
  <int value="7" label="Password entry: Bluetooth connecting"/>
  <int value="8" label="Password entry: No phone"/>
  <int value="9" label="Password entry: Phone not authenticated"/>
  <int value="10" label="Password entry: Phone locked"/>
  <int value="11" label="Password entry: Phone not lockable"/>
  <int value="12" label="Password entry: RSSI too low"/>
  <int value="13" label="Password entry: Phone not supported"/>
  <int value="14" label="Password entry: Phone authenticated"/>
  <int value="15" label="Password entry: Tx power too high"/>
  <int value="16" label="Password entry: Easy sign-in failed"/>
  <int value="17" label="Password entry: Pairing added"/>
  <int value="18" label="Password entry: No screenlock state handler"/>
  <int value="19" label="Password entry: Phone locked and tx power too high"/>
</enum>

<enum name="EasyUnlockBluetoothType" type="int">
  <int value="0" label="No adapter"/>
  <int value="1" label="Normal"/>
  <int value="2" label="Low energy"/>
</enum>

<enum name="EasyUnlockButton" type="int">
  <int value="0" label="Setup app launches"/>
  <int value="1" label="Find device"/>
  <int value="2" label="Pair device"/>
  <int value="3" label="Try out"/>
  <int value="4" label="Enable"/>
  <int value="5" label="Disable"/>
  <int value="6" label="Dismiss ('done')"/>
</enum>

<enum name="EasyUnlockDeviceIneligibilityReason" type="int">
  <int value="0" label="Unrecognized reason">
    The server reported a reason that the client is not aware of. This should
    only be recorded if the client's list of possible reasons is out of date.
  </int>
  <int value="1" label="Unknown">
    The server returned the value &quot;Unknown&quot;.
  </int>
  <int value="2" label="Screen too large"/>
  <int value="3" label="Phone lacks Bluetooth"/>
  <int value="4" label="Bad OS version"/>
  <int value="5" label="Bad software version (GMS Core)"/>
  <int value="6" label="Auto unlocking not supported"/>
  <int value="7" label="Invalid credentials"/>
  <int value="8" label="Device offline"/>
  <int value="9" label="No recent updates"/>
</enum>

<enum name="EasyUnlockDeviceModelHash" type="int">
  <int value="-1829584143" label="Motorola XT1097"/>
  <int value="-1429808627" label="HTC One"/>
  <int value="-1168032746" label="Motorola Nexus 6"/>
  <int value="-617422855" label="LGE Nexus 4"/>
  <int value="684891985" label="Motorola Moto X"/>
  <int value="1286382027" label="Motorola XT1095"/>
  <int value="1412446710" label="Motorola XT1096"/>
  <int value="1881443083" label="LGE Nexus 5"/>
</enum>

<enum name="EasyUnlockDidUserManuallyUnlockPhone" type="int">
  <int value="0" label="Never locked"/>
  <int value="1" label="Manually unlocked"/>
</enum>

<enum name="EasyUnlockHasSecureScreenLock" type="int">
  <int value="0" label="Lacks secure screen lock"/>
  <int value="1" label="Has secure screen lock"/>
</enum>

<enum name="EasyUnlockHasTrustAgentEnabled" type="int">
  <int value="0" label="No trust agents enabled"/>
  <int value="1" label="1+ trust agents enabled"/>
</enum>

<enum name="EasyUnlockNotificationEvent" type="int">
  <int value="0" label="Set up notification shown"/>
  <int value="1" label="Set up notification clicked"/>
  <int value="2" label="Try out notification shown"/>
  <int value="3" label="Try out notification clicked"/>
</enum>

<enum name="EasyUnlockPromoNotificationEvent" type="int">
  <int value="0" label="Promo notification shown"/>
  <int value="1" label="Promo notification clicked"/>
  <int value="2" label="Promo notification dismissed"/>
  <int value="3" label="Setup app launched"/>
  <int value="4" label="Setup completed successfully"/>
</enum>

<enum name="EasyUnlockRemoteLockScreenState" type="int">
  <int value="0" label="Unknown state"/>
  <int value="1" label="Lock screen disabled, trust agent unsupported"/>
  <int value="2" label="Lock screen disabled, trust agent disabled"/>
  <int value="3" label="Lock screen disabled, trust agent enabled"/>
  <int value="4" label="Lock screen enabled, trust agent unsupported"/>
  <int value="5" label="Lock screen enabled, trust agent disabled"/>
  <int value="6" label="Lock screen enabled, trust agent enabled"/>
</enum>

<enum name="EasyUnlockSetupState" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Scan (initial)"/>
  <int value="2" label="Scan (in progress)"/>
  <int value="3" label="Scan (error)"/>
  <int value="4" label="Pairing (initial)"/>
  <int value="5" label="Pairing (in progress)"/>
  <int value="6" label="Pairing (error)"/>
  <int value="7" label="Help"/>
</enum>

<enum name="EasyUnlockTrialRunEvents" type="int">
  <int value="0" label="Trial run launched"/>
  <int value="1" label="User clicked lock icon"/>
</enum>

<enum name="EasyUnlockUnlockEvent" type="int">
  <int value="0" label="Screen unlocked (total)"/>
  <int value="1" label="Screen unlocked (via EasyUnlock)"/>
</enum>

<enum name="ECDHECurves" type="int">
  <int value="21" label="P-224"/>
  <int value="23" label="P-256"/>
  <int value="24" label="P-384"/>
  <int value="25" label="P-521"/>
  <int value="29" label="X25519"/>
</enum>

<enum name="EGLDisplayType" type="int">
  <int value="0" label="Default"/>
  <int value="1" label="SwiftShader"/>
  <int value="2" label="ANGLE WARP"/>
  <int value="3" label="ANGLE D3D9"/>
  <int value="4" label="ANGLE D3D11"/>
  <int value="5" label="ANGLE OpenGL"/>
  <int value="6" label="ANGLE OpenGL ES"/>
</enum>

<enum name="EmbeddedWorkerStartingPhase" type="int">
  <int value="0" label="NOT_STARTING"/>
  <int value="1" label="ALLOCATING_PROCESS"/>
  <int value="2" label="REGISTERING_TO_DEVTOOLS"/>
  <int value="3" label="SENT_START_WORKER"/>
  <int value="4" label="SCRIPT_DOWNLOADING"/>
  <int value="5" label="SCRIPT_LOADED"/>
  <int value="6" label="SCRIPT_EVALUATED"/>
  <int value="7" label="THREAD_STARTED"/>
  <int value="8" label="SCRIPT_READ_STARTED"/>
  <int value="9" label="SCRIPT_READ_FINISHED"/>
</enum>

<enum name="EncodingMethod" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="Big5"/>
  <int value="2" label="EUC-JP"/>
  <int value="3" label="EUC-KR"/>
  <int value="4" label="GBK"/>
  <int value="5" label="IBM866"/>
  <int value="6" label="ISO-2022-JP"/>
  <int value="7" label="ISO-8859-10"/>
  <int value="8" label="ISO-8859-13"/>
  <int value="9" label="ISO-8859-14"/>
  <int value="10" label="ISO-8859-15"/>
  <int value="11" label="ISO-8859-16"/>
  <int value="12" label="ISO-8859-2"/>
  <int value="13" label="ISO-8859-3"/>
  <int value="14" label="ISO-8859-4"/>
  <int value="15" label="ISO-8859-5"/>
  <int value="16" label="ISO-8859-6"/>
  <int value="17" label="ISO-8859-7"/>
  <int value="18" label="ISO-8859-8"/>
  <int value="19" label="ISO-8859-8-I"/>
  <int value="20" label="KOI8-R"/>
  <int value="21" label="KOI8-U"/>
  <int value="22" label="Shift_JIS"/>
  <int value="23" label="UTF-16LE"/>
  <int value="24" label="UTF-8"/>
  <int value="25" label="gb18030"/>
  <int value="26" label="macintosh"/>
  <int value="27" label="windows-1250"/>
  <int value="28" label="windows-1251"/>
  <int value="29" label="windows-1252"/>
  <int value="30" label="windows-1253"/>
  <int value="31" label="windows-1254"/>
  <int value="32" label="windows-1255"/>
  <int value="33" label="windows-1256"/>
  <int value="34" label="windows-1257"/>
  <int value="35" label="windows-1258"/>
  <int value="36" label="windows-874"/>
</enum>

<enum name="EnCrossCLD3LanguageCode" type="int">
  <summary>
    Hash values for strings of the form &quot;x,y&quot;, where x is either a
    common English language BCP47 code or &quot;other&quot;, and y is a language
    code supported by CLD3. Used to report conflicts between HTML language tags
    and CLD3 language detection.
  </summary>
  <int value="-2124369431" label="en-IN,sk"/>
  <int value="-2116468187" label="en-GB,lv"/>
  <int value="-2113557848" label="en-NZ,zh-Latn"/>
  <int value="-2111057442" label="en-AU,eu"/>
  <int value="-2109862064" label="en-GB,co"/>
  <int value="-2107569712" label="en-US,mn"/>
  <int value="-2104732247" label="en-GB,kn"/>
  <int value="-2095143481" label="en-IN,bg-Latn"/>
  <int value="-2093238145" label="en-NZ,ru"/>
  <int value="-2092755960" label="en-GB,pt"/>
  <int value="-2086002903" label="en-GB,iw"/>
  <int value="-2083244205" label="en-ZA,is"/>
  <int value="-2079128291" label="en-CA,pt"/>
  <int value="-2074513011" label="en-AU,hr"/>
  <int value="-2070318208" label="en-ZA,zh-Latn"/>
  <int value="-2067222357" label="en-GB,eu"/>
  <int value="-2064855342" label="en-CA,uz"/>
  <int value="-2058651483" label="en-GB,tg"/>
  <int value="-2056749569" label="other,su"/>
  <int value="-2050363884" label="en,ps"/>
  <int value="-2048564427" label="en-US,ceb"/>
  <int value="-2048426575" label="en,ne"/>
  <int value="-2044913616" label="en-AU,zu"/>
  <int value="-2043655475" label="en-IN,sr"/>
  <int value="-2040518330" label="en-US,is"/>
  <int value="-2038890712" label="en,is"/>
  <int value="-2032827489" label="en-US,bn"/>
  <int value="-2031322000" label="en-US,eo"/>
  <int value="-2029035680" label="en-ZA,ny"/>
  <int value="-2028938496" label="en-GB,no"/>
  <int value="-2024091344" label="en-ZA,no"/>
  <int value="-2023903582" label="en,de"/>
  <int value="-2022075322" label="en-ZA,iw"/>
  <int value="-2016934602" label="other,fi"/>
  <int value="-2013534235" label="en-IN,cs"/>
  <int value="-2012682082" label="en,so"/>
  <int value="-2009823796" label="other,en"/>
  <int value="-2006294893" label="en-ZA,mi"/>
  <int value="-2003513780" label="en-CA,ru-Latn"/>
  <int value="-2000117527" label="en-AU,sl"/>
  <int value="-1997617048" label="other,yi"/>
  <int value="-1993954446" label="en-AU,ms"/>
  <int value="-1985817663" label="en,km"/>
  <int value="-1982939971" label="en,ku"/>
  <int value="-1981060640" label="en-NZ,pa"/>
  <int value="-1969945476" label="en,kk"/>
  <int value="-1968768037" label="en,be"/>
  <int value="-1944914110" label="en-CA,tr"/>
  <int value="-1944124391" label="en-NZ,lt"/>
  <int value="-1938634095" label="en-AU,ur"/>
  <int value="-1937334700" label="en-CA,fil"/>
  <int value="-1936297420" label="en-ZA,th"/>
  <int value="-1912635719" label="en-IN,hr"/>
  <int value="-1911121699" label="en-NZ,iw"/>
  <int value="-1907190634" label="en-GB,sk"/>
  <int value="-1907045054" label="other,ca"/>
  <int value="-1902746237" label="en,mr"/>
  <int value="-1897496014" label="en-NZ,ja"/>
  <int value="-1896281532" label="en-GB,mr"/>
  <int value="-1894796887" label="other,uz"/>
  <int value="-1893186684" label="en-CA,sq"/>
  <int value="-1888655601" label="en-AU,hmn"/>
  <int value="-1879363959" label="en-CA,el-Latn"/>
  <int value="-1873453878" label="en-US,ht"/>
  <int value="-1869637891" label="en-CA,te"/>
  <int value="-1868526533" label="en,zu"/>
  <int value="-1864675515" label="en-NZ,mr"/>
  <int value="-1864404923" label="en-NZ,haw"/>
  <int value="-1863564796" label="en-AU,mg"/>
  <int value="-1862175609" label="en-US,az"/>
  <int value="-1860719141" label="en-GB,ja-Latn"/>
  <int value="-1858480480" label="en,su"/>
  <int value="-1848050043" label="en-AU,zh"/>
  <int value="-1844339140" label="en-NZ,bg"/>
  <int value="-1837172785" label="en,fy"/>
  <int value="-1830369415" label="en-AU,sn"/>
  <int value="-1820239738" label="en-ZA,so"/>
  <int value="-1814241674" label="en-IN,gu"/>
  <int value="-1787888508" label="en-NZ,gd"/>
  <int value="-1786621097" label="other,sd"/>
  <int value="-1785254801" label="en-AU,fr"/>
  <int value="-1772875851" label="en-IN,zu"/>
  <int value="-1771902729" label="en,ar"/>
  <int value="-1769596689" label="en-AU,si"/>
  <int value="-1759968348" label="en,und"/>
  <int value="-1751988881" label="en-AU,ta"/>
  <int value="-1747832209" label="en-NZ,uz"/>
  <int value="-1729190557" label="en-ZA,ig"/>
  <int value="-1728146239" label="en,ta"/>
  <int value="-1717781349" label="en-GB,st"/>
  <int value="-1713672416" label="en-CA,sv"/>
  <int value="-1712698203" label="en-ZA,sd"/>
  <int value="-1708467253" label="en-CA,unknown"/>
  <int value="-1705664959" label="en-US,yo"/>
  <int value="-1705158339" label="en-NZ,ka"/>
  <int value="-1704290230" label="en-AU,be"/>
  <int value="-1698540007" label="en-GB,ny"/>
  <int value="-1698336319" label="en-NZ,unknown"/>
  <int value="-1694265672" label="en-ZA,sn"/>
  <int value="-1694050683" label="en,tg"/>
  <int value="-1691613931" label="other,ja-Latn"/>
  <int value="-1684149366" label="en-CA,mt"/>
  <int value="-1665646354" label="en-ZA,fil"/>
  <int value="-1664646506" label="en-IN,ar"/>
  <int value="-1652807707" label="en-GB,mt"/>
  <int value="-1647274992" label="en-IN,ta"/>
  <int value="-1647174837" label="en-US,ps"/>
  <int value="-1634052364" label="en-NZ,ml"/>
  <int value="-1633713836" label="en-IN,sq"/>
  <int value="-1633251487" label="en-US,jv"/>
  <int value="-1630949789" label="en-NZ,ca"/>
  <int value="-1630270728" label="en-NZ,de"/>
  <int value="-1628320800" label="en-CA,ko"/>
  <int value="-1623073820" label="en,ru"/>
  <int value="-1623056651" label="en-ZA,sq"/>
  <int value="-1616849585" label="en-AU,co"/>
  <int value="-1615127115" label="en-AU,cy"/>
  <int value="-1611671963" label="en-IN,lb"/>
  <int value="-1611623912" label="other,fil"/>
  <int value="-1607077769" label="en-GB,xh"/>
  <int value="-1604279981" label="en-IN,hi-Latn"/>
  <int value="-1596875594" label="other,ky"/>
  <int value="-1592890693" label="en-GB,ceb"/>
  <int value="-1592738004" label="en-CA,sr"/>
  <int value="-1589728436" label="other,lo"/>
  <int value="-1570014714" label="other,iw"/>
  <int value="-1564093181" label="en-GB,el"/>
  <int value="-1556572633" label="en-CA,am"/>
  <int value="-1554730193" label="en-US,mi"/>
  <int value="-1552949884" label="en-US,mg"/>
  <int value="-1549687917" label="en-US,iw"/>
  <int value="-1544924120" label="en,tr"/>
  <int value="-1522200631" label="en-NZ,ht"/>
  <int value="-1520721572" label="en-US,my"/>
  <int value="-1520389273" label="other,da"/>
  <int value="-1516606179" label="en-ZA,ko"/>
  <int value="-1514674113" label="en,th"/>
  <int value="-1514217919" label="en-AU,uz"/>
  <int value="-1514197491" label="en-AU,ka"/>
  <int value="-1513794730" label="en-US,ca"/>
  <int value="-1511712239" label="en-GB,sl"/>
  <int value="-1507434828" label="en-IN,hmn"/>
  <int value="-1498956183" label="en-CA,sk"/>
  <int value="-1496658087" label="en-NZ,cy"/>
  <int value="-1486809235" label="en-IN,mt"/>
  <int value="-1479227188" label="en-AU,ky"/>
  <int value="-1476856301" label="en-US,lb"/>
  <int value="-1469669231" label="en-GB,sq"/>
  <int value="-1468074483" label="en-CA,af"/>
  <int value="-1462099981" label="en-IN,jv"/>
  <int value="-1457647003" label="en-NZ,eu"/>
  <int value="-1450386960" label="en-CA,nl"/>
  <int value="-1446631159" label="en-NZ,el-Latn"/>
  <int value="-1422491922" label="en-US,ka"/>
  <int value="-1420298629" label="en-ZA,fy"/>
  <int value="-1416903380" label="en-ZA,be"/>
  <int value="-1403910050" label="en-ZA,pl"/>
  <int value="-1402845617" label="en-GB,fr"/>
  <int value="-1399351496" label="en-ZA,gl"/>
  <int value="-1398520733" label="en-US,ro"/>
  <int value="-1390125648" label="en-CA,no"/>
  <int value="-1388486986" label="en-CA,eo"/>
  <int value="-1385835372" label="other,ta"/>
  <int value="-1383130458" label="en-US,gd"/>
  <int value="-1382832620" label="en-AU,mr"/>
  <int value="-1382630626" label="en-US,hi"/>
  <int value="-1376708570" label="en-GB,lb"/>
  <int value="-1372289390" label="en-GB,nl"/>
  <int value="-1370590322" label="en,pt"/>
  <int value="-1369722574" label="en-GB,ig"/>
  <int value="-1367992379" label="en-ZA,it"/>
  <int value="-1366543906" label="en-AU,unknown"/>
  <int value="-1360539588" label="en-ZA,mk"/>
  <int value="-1357419592" label="en-CA,ig"/>
  <int value="-1353345099" label="en-CA,cs"/>
  <int value="-1346503932" label="en,fa"/>
  <int value="-1346156856" label="en-IN,pl"/>
  <int value="-1343690599" label="en-CA,zh-Latn"/>
  <int value="-1331214321" label="en-ZA,unknown"/>
  <int value="-1329522963" label="other,sv"/>
  <int value="-1324503751" label="other,hmn"/>
  <int value="-1310042673" label="other,it"/>
  <int value="-1309690314" label="other,nl"/>
  <int value="-1301792573" label="en-US,pa"/>
  <int value="-1298978218" label="en-ZA,ru"/>
  <int value="-1298210853" label="en-AU,ru-Latn"/>
  <int value="-1295927056" label="en-ZA,nl"/>
  <int value="-1292209370" label="en-AU,hi"/>
  <int value="-1290497188" label="en-GB,ru-Latn"/>
  <int value="-1290070339" label="en-AU,ja"/>
  <int value="-1283031458" label="en-AU,ht"/>
  <int value="-1281458280" label="en,el-Latn"/>
  <int value="-1278516305" label="en-US,ml"/>
  <int value="-1263108473" label="en-IN,ru-Latn"/>
  <int value="-1259042225" label="other,pl"/>
  <int value="-1238995224" label="en-US,hy"/>
  <int value="-1238591345" label="en-NZ,kk"/>
  <int value="-1233706328" label="en,en"/>
  <int value="-1228999462" label="en-AU,es"/>
  <int value="-1227601505" label="en-US,ky"/>
  <int value="-1224781996" label="en-IN,te"/>
  <int value="-1224753420" label="en-US,fy"/>
  <int value="-1219920190" label="en-ZA,hmn"/>
  <int value="-1217746309" label="en-GB,hmn"/>
  <int value="-1213938554" label="en-AU,ne"/>
  <int value="-1213583239" label="en,da"/>
  <int value="-1209455268" label="en-IN,la"/>
  <int value="-1208444202" label="en-US,co"/>
  <int value="-1207597587" label="other,bs"/>
  <int value="-1196089827" label="en-GB,te"/>
  <int value="-1194882730" label="en-CA,bs"/>
  <int value="-1182285832" label="en-AU,ar"/>
  <int value="-1180706012" label="en-US,ku"/>
  <int value="-1176858165" label="en-NZ,es"/>
  <int value="-1161664630" label="en-CA,so"/>
  <int value="-1150612958" label="en-GB,ml"/>
  <int value="-1149861387" label="other,el-Latn"/>
  <int value="-1146067341" label="en-US,fil"/>
  <int value="-1134207512" label="en-NZ,lb"/>
  <int value="-1133970848" label="en-CA,ht"/>
  <int value="-1131269514" label="en-NZ,km"/>
  <int value="-1122870775" label="en-IN,ga"/>
  <int value="-1119552856" label="en-GB,hy"/>
  <int value="-1118006347" label="en-NZ,su"/>
  <int value="-1111896399" label="en-ZA,cs"/>
  <int value="-1111659918" label="en-ZA,bn"/>
  <int value="-1109349887" label="en-US,bs"/>
  <int value="-1104794613" label="en-ZA,eo"/>
  <int value="-1102200262" label="en-AU,bg"/>
  <int value="-1087479434" label="en-NZ,gu"/>
  <int value="-1086494101" label="en-IN,en"/>
  <int value="-1083832142" label="en-ZA,fr"/>
  <int value="-1082841040" label="en-AU,no"/>
  <int value="-1078817533" label="en-IN,ja-Latn"/>
  <int value="-1061831796" label="other,sw"/>
  <int value="-1060276304" label="en-AU,ml"/>
  <int value="-1058009879" label="en-AU,ku"/>
  <int value="-1049361969" label="en-CA,yo"/>
  <int value="-1048166271" label="en-IN,ceb"/>
  <int value="-1042239713" label="en-ZA,ne"/>
  <int value="-1041196877" label="en-NZ,lo"/>
  <int value="-1039980655" label="en-GB,et"/>
  <int value="-1039749771" label="en-GB,so"/>
  <int value="-1038109255" label="en,mk"/>
  <int value="-1035837896" label="en-AU,su"/>
  <int value="-1033591490" label="en-AU,sv"/>
  <int value="-1030469686" label="en-IN,haw"/>
  <int value="-1028065279" label="en-GB,und"/>
  <int value="-1026066097" label="en-IN,vi"/>
  <int value="-1026028202" label="other,fr"/>
  <int value="-1014607888" label="en-GB,ps"/>
  <int value="-1009703136" label="en-US,gu"/>
  <int value="-999407605" label="en-AU,sr"/>
  <int value="-998551972" label="other,st"/>
  <int value="-997491813" label="other,no"/>
  <int value="-997355335" label="en-IN,hy"/>
  <int value="-996302242" label="en-US,sn"/>
  <int value="-994546623" label="en,gd"/>
  <int value="-981430978" label="en-IN,zh-Latn"/>
  <int value="-980040557" label="en,ky"/>
  <int value="-973176337" label="en-ZA,am"/>
  <int value="-969434649" label="en-CA,ro"/>
  <int value="-965565591" label="en-ZA,bg"/>
  <int value="-963786426" label="en-GB,ha"/>
  <int value="-961625891" label="en-NZ,et"/>
  <int value="-955553888" label="en-ZA,mg"/>
  <int value="-952843725" label="en-US,mk"/>
  <int value="-949401757" label="en,my"/>
  <int value="-942062362" label="en-US,zh-Latn"/>
  <int value="-931047164" label="en-IN,cy"/>
  <int value="-922858301" label="en-GB,gu"/>
  <int value="-921098649" label="en-CA,ja-Latn"/>
  <int value="-919289357" label="en-AU,vi"/>
  <int value="-918912162" label="en-CA,co"/>
  <int value="-916808527" label="other,ko"/>
  <int value="-911043903" label="en,fil"/>
  <int value="-906245796" label="en-IN,su"/>
  <int value="-899190372" label="en-GB,unknown"/>
  <int value="-897318896" label="en-IN,af"/>
  <int value="-894681263" label="en-CA,fy"/>
  <int value="-888512967" label="other,kk"/>
  <int value="-888161970" label="en-ZA,az"/>
  <int value="-884692633" label="en-GB,ru"/>
  <int value="-867330946" label="en-GB,sm"/>
  <int value="-858362606" label="en-IN,nl"/>
  <int value="-856399552" label="en-ZA,yi"/>
  <int value="-855471302" label="en-US,ta"/>
  <int value="-843023273" label="en-ZA,eu"/>
  <int value="-836893384" label="en-AU,xh"/>
  <int value="-836276118" label="en-ZA,my"/>
  <int value="-832538906" label="en-ZA,el-Latn"/>
  <int value="-829280752" label="en-US,es"/>
  <int value="-825403216" label="other,ar"/>
  <int value="-822848490" label="en-IN,mn"/>
  <int value="-821693819" label="en-GB,ms"/>
  <int value="-815159881" label="other,pa"/>
  <int value="-809183331" label="en-ZA,ga"/>
  <int value="-807570056" label="en-CA,yi"/>
  <int value="-804692123" label="en-NZ,fr"/>
  <int value="-802011698" label="en-CA,ka"/>
  <int value="-800653639" label="en-NZ,ny"/>
  <int value="-799944497" label="en-IN,ml"/>
  <int value="-786069036" label="en,hy"/>
  <int value="-781392865" label="en-AU,fy"/>
  <int value="-774741229" label="en-US,uk"/>
  <int value="-774705893" label="en,ru-Latn"/>
  <int value="-771415808" label="en-NZ,sm"/>
  <int value="-770599199" label="en-NZ,la"/>
  <int value="-769370804" label="en-ZA,ht"/>
  <int value="-766020458" label="en,sl"/>
  <int value="-761784084" label="other,si"/>
  <int value="-755296599" label="en-AU,ca"/>
  <int value="-749134072" label="en-CA,be"/>
  <int value="-747589726" label="en-CA,pl"/>
  <int value="-746521712" label="en-AU,te"/>
  <int value="-730553903" label="en-IN,st"/>
  <int value="-718567737" label="en,uk"/>
  <int value="-712484664" label="en-NZ,mn"/>
  <int value="-711855661" label="en-US,el-Latn"/>
  <int value="-703823200" label="en-US,sm"/>
  <int value="-697784898" label="en-US,sd"/>
  <int value="-693708098" label="en-IN,hu"/>
  <int value="-689084995" label="en-AU,nl"/>
  <int value="-687121797" label="en-IN,ms"/>
  <int value="-683936001" label="en-GB,fil"/>
  <int value="-681691326" label="en-IN,eu"/>
  <int value="-677909491" label="other,de"/>
  <int value="-664749191" label="en,zh-Latn"/>
  <int value="-664666756" label="en-NZ,yi"/>
  <int value="-659037096" label="en-CA,az"/>
  <int value="-653328792" label="en,la"/>
  <int value="-651792270" label="en-CA,ga"/>
  <int value="-647724785" label="en-IN,hi"/>
  <int value="-640995328" label="en-NZ,bn"/>
  <int value="-629813533" label="en-IN,kn"/>
  <int value="-618249296" label="en-IN,bg"/>
  <int value="-615263868" label="en-GB,gl"/>
  <int value="-614537549" label="en-AU,mn"/>
  <int value="-608103664" label="en-CA,es"/>
  <int value="-599897624" label="en-IN,tr"/>
  <int value="-580470151" label="en-IN,sm"/>
  <int value="-579152612" label="en-ZA,id"/>
  <int value="-578031600" label="en,sk"/>
  <int value="-576525627" label="en-AU,ps"/>
  <int value="-569450071" label="other,ur"/>
  <int value="-564888613" label="en-IN,eo"/>
  <int value="-562158532" label="other,zh-Latn"/>
  <int value="-560384338" label="en-CA,sd"/>
  <int value="-557565099" label="en-NZ,ha"/>
  <int value="-556698502" label="en-GB,pa"/>
  <int value="-555419731" label="en-US,gl"/>
  <int value="-552151539" label="en-AU,fi"/>
  <int value="-548315734" label="en-IN,ka"/>
  <int value="-544980397" label="en-AU,mt"/>
  <int value="-542018328" label="other,es"/>
  <int value="-534482286" label="en-ZA,ro"/>
  <int value="-533872798" label="en-AU,zh-Latn"/>
  <int value="-533834685" label="en-IN,de"/>
  <int value="-522871017" label="en-ZA,lv"/>
  <int value="-519390252" label="en-GB,hi-Latn"/>
  <int value="-512294090" label="en,hr"/>
  <int value="-506627221" label="en-IN,si"/>
  <int value="-505475005" label="en-ZA,et"/>
  <int value="-496363418" label="en-NZ,mk"/>
  <int value="-495925829" label="en-GB,cy"/>
  <int value="-494116460" label="en-AU,yo"/>
  <int value="-492538502" label="en-ZA,lo"/>
  <int value="-489487792" label="en-NZ,hi-Latn"/>
  <int value="-488070282" label="en-NZ,sd"/>
  <int value="-484244598" label="other,sk"/>
  <int value="-479580786" label="en-GB,mn"/>
  <int value="-477712301" label="en-CA,ru"/>
  <int value="-473350786" label="en-AU,lo"/>
  <int value="-469999914" label="en-GB,la"/>
  <int value="-469484616" label="en-IN,co"/>
  <int value="-464923601" label="en-US,mt"/>
  <int value="-463472731" label="other,sq"/>
  <int value="-462215397" label="en-CA,lb"/>
  <int value="-460414518" label="en-US,la"/>
  <int value="-449171923" label="en-IN,mk"/>
  <int value="-438919066" label="en-AU,ru"/>
  <int value="-437634847" label="other,ku"/>
  <int value="-429170059" label="en-ZA,jv"/>
  <int value="-428711284" label="other,hr"/>
  <int value="-426218528" label="en-US,lt"/>
  <int value="-419753035" label="en-US,lo"/>
  <int value="-418116563" label="en-AU,so"/>
  <int value="-416557773" label="en-IN,km"/>
  <int value="-409223124" label="en-NZ,cs"/>
  <int value="-408820412" label="en-IN,no"/>
  <int value="-406936471" label="en,mi"/>
  <int value="-404916241" label="en-GB,ne"/>
  <int value="-403948453" label="en-IN,lv"/>
  <int value="-398623564" label="en-GB,id"/>
  <int value="-396833557" label="en-AU,ig"/>
  <int value="-396028589" label="en,hmn"/>
  <int value="-378569290" label="en-US,zh"/>
  <int value="-368423696" label="en,uz"/>
  <int value="-366405340" label="en,ko"/>
  <int value="-362116022" label="en-US,ar"/>
  <int value="-358433124" label="en-ZA,en"/>
  <int value="-356540717" label="en-ZA,ml"/>
  <int value="-355403459" label="en-NZ,ne"/>
  <int value="-354189899" label="en-US,lv"/>
  <int value="-350618888" label="en,bs"/>
  <int value="-348068803" label="en-US,el"/>
  <int value="-347968268" label="en-IN,pa"/>
  <int value="-344950263" label="en-US,sv"/>
  <int value="-340173781" label="en,sw"/>
  <int value="-337628003" label="en-ZA,xh"/>
  <int value="-328800060" label="en-ZA,ceb"/>
  <int value="-328614553" label="en-ZA,da"/>
  <int value="-327839206" label="en-CA,is"/>
  <int value="-318840877" label="en-NZ,yo"/>
  <int value="-309531049" label="en,gu"/>
  <int value="-308798721" label="en-IN,sl"/>
  <int value="-307369173" label="en-US,hi-Latn"/>
  <int value="-300476925" label="en,ml"/>
  <int value="-291188106" label="en-GB,th"/>
  <int value="-289299006" label="en-US,ny"/>
  <int value="-286225855" label="en-ZA,sr"/>
  <int value="-284562486" label="en-ZA,ky"/>
  <int value="-279786682" label="en-US,und"/>
  <int value="-273619891" label="en-CA,ne"/>
  <int value="-266075643" label="en-CA,tg"/>
  <int value="-244658645" label="en-CA,cy"/>
  <int value="-243735299" label="en-AU,lt"/>
  <int value="-238154724" label="en-US,ms"/>
  <int value="-238083370" label="other,ka"/>
  <int value="-236445557" label="en-US,ne"/>
  <int value="-234681308" label="en,mt"/>
  <int value="-227668781" label="en-IN,kk"/>
  <int value="-226564202" label="en-AU,iw"/>
  <int value="-212757062" label="en-ZA,mt"/>
  <int value="-212529805" label="en-CA,de"/>
  <int value="-210208396" label="en-IN,ky"/>
  <int value="-195613326" label="en-US,xh"/>
  <int value="-194304961" label="en-AU,ha"/>
  <int value="-183211755" label="en-NZ,ga"/>
  <int value="-180588871" label="other,uk"/>
  <int value="-176562730" label="en-ZA,la"/>
  <int value="-175945266" label="en-ZA,ta"/>
  <int value="-175546622" label="en,ga"/>
  <int value="-172830708" label="en-GB,fa"/>
  <int value="-170360146" label="en-CA,fi"/>
  <int value="-169367928" label="en-ZA,sw"/>
  <int value="-158046757" label="en-CA,hu"/>
  <int value="-157371194" label="en-ZA,hi-Latn"/>
  <int value="-151899928" label="en-NZ,hi"/>
  <int value="-147938422" label="en-IN,el"/>
  <int value="-145185628" label="en-CA,ps"/>
  <int value="-143554786" label="en-GB,si"/>
  <int value="-129286720" label="en-IN,yo"/>
  <int value="-127996003" label="en-GB,yi"/>
  <int value="-126871272" label="en-CA,my"/>
  <int value="-123482448" label="other,te"/>
  <int value="-119609134" label="en-AU,my"/>
  <int value="-116594264" label="en-IN,fr"/>
  <int value="-111605959" label="en-IN,my"/>
  <int value="-92573461" label="en-US,haw"/>
  <int value="-82976780" label="en-NZ,und"/>
  <int value="-78204086" label="en-IN,es"/>
  <int value="-76540753" label="en-GB,ht"/>
  <int value="-75045139" label="en-AU,haw"/>
  <int value="-73112949" label="en-GB,be"/>
  <int value="-72394213" label="other,vi"/>
  <int value="-69623762" label="en-NZ,zh"/>
  <int value="-69356326" label="other,id"/>
  <int value="-56300824" label="en-CA,sw"/>
  <int value="-53596266" label="other,bg"/>
  <int value="-52394574" label="other,ru"/>
  <int value="-50281907" label="en-GB,mi"/>
  <int value="-39535324" label="en,yo"/>
  <int value="-28950181" label="en,jv"/>
  <int value="-26764693" label="other,ru-Latn"/>
  <int value="-24388218" label="en-US,unknown"/>
  <int value="-15862101" label="en-IN,et"/>
  <int value="-15388410" label="en,lt"/>
  <int value="-8240870" label="en-ZA,pa"/>
  <int value="-7019923" label="en-ZA,sm"/>
  <int value="-2212741" label="en-AU,az"/>
  <int value="393297" label="other,eo"/>
  <int value="571301" label="en-US,fi"/>
  <int value="2586472" label="en,hi"/>
  <int value="11142866" label="en-IN,gd"/>
  <int value="12962928" label="en-US,hr"/>
  <int value="32976640" label="en-IN,und"/>
  <int value="34221237" label="other,haw"/>
  <int value="34572536" label="en-NZ,bg-Latn"/>
  <int value="35868033" label="other,mg"/>
  <int value="37620184" label="en-AU,mk"/>
  <int value="37790914" label="en-NZ,ko"/>
  <int value="40545721" label="en-IN,ht"/>
  <int value="41189157" label="other,hi"/>
  <int value="42657077" label="en-IN,mr"/>
  <int value="43554136" label="en-CA,zu"/>
  <int value="46974212" label="en-US,et"/>
  <int value="55397648" label="en-ZA,hr"/>
  <int value="59721356" label="en,st"/>
  <int value="61120844" label="other,gu"/>
  <int value="61901143" label="en-CA,lo"/>
  <int value="69561606" label="en-NZ,mt"/>
  <int value="80248107" label="en-NZ,ky"/>
  <int value="80343050" label="other,unknown"/>
  <int value="96729755" label="en-IN,ig"/>
  <int value="106556254" label="en-IN,fi"/>
  <int value="106824120" label="other,ig"/>
  <int value="109858538" label="other,kn"/>
  <int value="110814535" label="en-US,sl"/>
  <int value="111512557" label="en-CA,ca"/>
  <int value="111639146" label="en-US,ko"/>
  <int value="118312454" label="en,pl"/>
  <int value="122516567" label="en-ZA,sk"/>
  <int value="124014428" label="en-CA,uk"/>
  <int value="125937660" label="en-US,de"/>
  <int value="130279541" label="en-AU,hu"/>
  <int value="131823616" label="en-CA,ur"/>
  <int value="134776967" label="en-CA,sl"/>
  <int value="137726805" label="en-NZ,el"/>
  <int value="137743856" label="other,my"/>
  <int value="138088365" label="en-AU,bn"/>
  <int value="143906557" label="en,sq"/>
  <int value="148633933" label="en-US,su"/>
  <int value="149249801" label="en-ZA,vi"/>
  <int value="149254673" label="en-NZ,hu"/>
  <int value="159338274" label="en-CA,haw"/>
  <int value="160108056" label="en-CA,th"/>
  <int value="173175536" label="en-ZA,ur"/>
  <int value="174638312" label="other,sr"/>
  <int value="176692935" label="en-AU,en"/>
  <int value="177507595" label="en-ZA,es"/>
  <int value="179820951" label="en-CA,zh"/>
  <int value="183621141" label="other,yo"/>
  <int value="189106370" label="en-US,eu"/>
  <int value="194694507" label="en-NZ,sq"/>
  <int value="204011687" label="en-CA,ml"/>
  <int value="206430050" label="en-GB,es"/>
  <int value="210100759" label="en-CA,xh"/>
  <int value="211459852" label="en,vi"/>
  <int value="212244145" label="other,af"/>
  <int value="217457619" label="en-CA,ha"/>
  <int value="226603980" label="en-IN,it"/>
  <int value="228447752" label="en-CA,gl"/>
  <int value="229522242" label="en-AU,id"/>
  <int value="231593443" label="en-CA,mg"/>
  <int value="233491613" label="en-NZ,sl"/>
  <int value="238615518" label="en-NZ,ru-Latn"/>
  <int value="240447639" label="en-NZ,ig"/>
  <int value="241686897" label="other,co"/>
  <int value="248618927" label="en-AU,el-Latn"/>
  <int value="255346854" label="en-GB,gd"/>
  <int value="262272920" label="en,sm"/>
  <int value="262946543" label="en-US,am"/>
  <int value="264871477" label="en-CA,kn"/>
  <int value="266556636" label="en-ZA,zh"/>
  <int value="273592672" label="en,sv"/>
  <int value="279930804" label="other,und"/>
  <int value="281605263" label="en,ja"/>
  <int value="297068506" label="en-AU,hi-Latn"/>
  <int value="307890939" label="en-ZA,ka"/>
  <int value="311580662" label="en-AU,pl"/>
  <int value="314700048" label="en-GB,fy"/>
  <int value="321957105" label="en-AU,fil"/>
  <int value="330092459" label="en,no"/>
  <int value="333750610" label="en-NZ,ur"/>
  <int value="338185331" label="en,bg-Latn"/>
  <int value="340118597" label="en-ZA,ms"/>
  <int value="346399527" label="other,pt"/>
  <int value="346807260" label="en-GB,az"/>
  <int value="351405982" label="other,lb"/>
  <int value="352829367" label="other,ro"/>
  <int value="354495805" label="en-AU,ja-Latn"/>
  <int value="360333241" label="en,pa"/>
  <int value="360482886" label="other,km"/>
  <int value="361147661" label="en-GB,ja"/>
  <int value="369729502" label="en-IN,ur"/>
  <int value="374070776" label="en-GB,yo"/>
  <int value="382794171" label="other,az"/>
  <int value="385029378" label="en-ZA,hu"/>
  <int value="386122260" label="en,ig"/>
  <int value="390230115" label="en,xh"/>
  <int value="390230404" label="en-ZA,bg-Latn"/>
  <int value="395804990" label="en-NZ,sk"/>
  <int value="403914044" label="en-ZA,uz"/>
  <int value="409408505" label="en-AU,lb"/>
  <int value="413238463" label="other,mn"/>
  <int value="415649361" label="en-US,th"/>
  <int value="416845327" label="en-ZA,co"/>
  <int value="421338918" label="other,mi"/>
  <int value="425550335" label="en-US,cy"/>
  <int value="426525808" label="en-IN,da"/>
  <int value="427905069" label="en,bg"/>
  <int value="428418059" label="en-US,hu"/>
  <int value="433730304" label="other,sm"/>
  <int value="435389133" label="en-ZA,hi"/>
  <int value="435774878" label="en-ZA,lt"/>
  <int value="438943486" label="en,sn"/>
  <int value="441009234" label="en-AU,und"/>
  <int value="446363395" label="en-NZ,is"/>
  <int value="446396562" label="en-CA,en"/>
  <int value="448777481" label="en-US,da"/>
  <int value="453143797" label="en-IN,ru"/>
  <int value="455023577" label="en-AU,kk"/>
  <int value="464193252" label="en-GB,bn"/>
  <int value="469426247" label="en-NZ,da"/>
  <int value="470968744" label="en-IN,am"/>
  <int value="471525594" label="en-GB,bg-Latn"/>
  <int value="477790180" label="other,bn"/>
  <int value="481497515" label="other,ga"/>
  <int value="482150171" label="en-GB,uz"/>
  <int value="484422880" label="en-IN,sw"/>
  <int value="486304785" label="en-NZ,ar"/>
  <int value="486576942" label="en-CA,et"/>
  <int value="504950639" label="en-IN,pt"/>
  <int value="507474490" label="other,mr"/>
  <int value="511298624" label="en-AU,bg-Latn"/>
  <int value="519370622" label="other,hi-Latn"/>
  <int value="519539246" label="en-NZ,te"/>
  <int value="523832586" label="en-ZA,ha"/>
  <int value="527153503" label="en-AU,uk"/>
  <int value="529364835" label="other,hu"/>
  <int value="535527955" label="en-IN,ko"/>
  <int value="539528919" label="en-GB,is"/>
  <int value="549589790" label="en-IN,az"/>
  <int value="550300686" label="en,yi"/>
  <int value="559874907" label="en-ZA,lb"/>
  <int value="571750049" label="en-CA,pa"/>
  <int value="578680520" label="en-GB,vi"/>
  <int value="584050776" label="other,ne"/>
  <int value="586304261" label="en,fr"/>
  <int value="586492233" label="en-ZA,haw"/>
  <int value="595670153" label="other,be"/>
  <int value="595917413" label="en-CA,id"/>
  <int value="599526823" label="en-IN,ku"/>
  <int value="605876339" label="other,lt"/>
  <int value="612847367" label="en-ZA,te"/>
  <int value="614830922" label="other,ml"/>
  <int value="616504159" label="en-GB,jv"/>
  <int value="621990796" label="other,sl"/>
  <int value="624672740" label="en-GB,zh"/>
  <int value="626970505" label="en,ht"/>
  <int value="628097668" label="en-IN,sd"/>
  <int value="640262038" label="en-AU,sm"/>
  <int value="641686626" label="en-US,ru"/>
  <int value="646613899" label="en-IN,sn"/>
  <int value="647296114" label="en-US,ur"/>
  <int value="648256160" label="other,gl"/>
  <int value="648502016" label="en-CA,fr"/>
  <int value="651467435" label="en-AU,pt"/>
  <int value="653336951" label="en,bn"/>
  <int value="659151888" label="en,unknown"/>
  <int value="659781560" label="en-GB,eo"/>
  <int value="661495710" label="en,am"/>
  <int value="668031905" label="en,nl"/>
  <int value="670118633" label="en-GB,ro"/>
  <int value="672889168" label="en-NZ,sw"/>
  <int value="676999142" label="other,ms"/>
  <int value="678632750" label="other,ja"/>
  <int value="680060380" label="en-US,yi"/>
  <int value="680453726" label="en,hi-Latn"/>
  <int value="682029315" label="other,tg"/>
  <int value="683983274" label="en-IN,ha"/>
  <int value="687124847" label="en,cs"/>
  <int value="705544038" label="en-IN,ca"/>
  <int value="712186903" label="en-IN,lo"/>
  <int value="724168729" label="en-IN,fy"/>
  <int value="737198162" label="en-GB,sd"/>
  <int value="739427185" label="en-GB,bs"/>
  <int value="744516660" label="en,gl"/>
  <int value="756534358" label="en-IN,bn"/>
  <int value="758976688" label="en-IN,gl"/>
  <int value="759357339" label="en,sd"/>
  <int value="762656539" label="en-US,ig"/>
  <int value="794132649" label="en-IN,sv"/>
  <int value="796385096" label="en-GB,bg"/>
  <int value="796611332" label="en-ZA,kn"/>
  <int value="798691984" label="en-US,ha"/>
  <int value="799101140" label="en-IN,ny"/>
  <int value="801133153" label="en-GB,mg"/>
  <int value="804316451" label="other,el"/>
  <int value="807787788" label="en-ZA,gd"/>
  <int value="809250169" label="en-US,cs"/>
  <int value="816096178" label="en-GB,my"/>
  <int value="824645258" label="en-US,sk"/>
  <int value="826558712" label="en-ZA,sv"/>
  <int value="849084143" label="en,it"/>
  <int value="850862273" label="en-AU,de"/>
  <int value="853352499" label="other,so"/>
  <int value="854823242" label="en-ZA,ku"/>
  <int value="855074740" label="en-CA,el"/>
  <int value="857152633" label="en-CA,hi"/>
  <int value="857603803" label="other,et"/>
  <int value="859133433" label="en-NZ,sn"/>
  <int value="865348028" label="en,ha"/>
  <int value="880686769" label="en-GB,ku"/>
  <int value="880915916" label="other,ht"/>
  <int value="882319904" label="en-CA,sn"/>
  <int value="889210765" label="en-CA,gd"/>
  <int value="899191103" label="en-CA,mr"/>
  <int value="904203484" label="en-NZ,co"/>
  <int value="906138796" label="en-US,bg-Latn"/>
  <int value="909977985" label="en-GB,ga"/>
  <int value="911105608" label="en-CA,lv"/>
  <int value="912157886" label="en-NZ,ceb"/>
  <int value="912705685" label="en-ZA,el"/>
  <int value="918457519" label="en-NZ,sr"/>
  <int value="923188761" label="en-US,bg"/>
  <int value="923423627" label="en,mn"/>
  <int value="926439457" label="en-IN,unknown"/>
  <int value="928679325" label="en-CA,ny"/>
  <int value="931138724" label="en,eu"/>
  <int value="934631232" label="other,ny"/>
  <int value="937631019" label="en-US,ru-Latn"/>
  <int value="938838496" label="en-CA,hmn"/>
  <int value="948185011" label="en-CA,lt"/>
  <int value="955180290" label="en-CA,si"/>
  <int value="956064637" label="en-ZA,af"/>
  <int value="960562184" label="en-NZ,si"/>
  <int value="965503536" label="en-CA,hr"/>
  <int value="966547063" label="en-CA,iw"/>
  <int value="967746332" label="en-NZ,ja-Latn"/>
  <int value="973763517" label="en-US,sq"/>
  <int value="974585410" label="en-IN,is"/>
  <int value="977145120" label="other,la"/>
  <int value="977677962" label="en-NZ,lv"/>
  <int value="982872922" label="en-IN,mi"/>
  <int value="987399566" label="en-ZA,mr"/>
  <int value="990147394" label="other,gd"/>
  <int value="991829124" label="en-AU,gu"/>
  <int value="998803921" label="en-GB,fi"/>
  <int value="1002420538" label="en-CA,fa"/>
  <int value="1008823931" label="en-NZ,am"/>
  <int value="1013384242" label="en-ZA,hy"/>
  <int value="1015585848" label="en-CA,ku"/>
  <int value="1017943799" label="en-ZA,tr"/>
  <int value="1020968666" label="en-US,so"/>
  <int value="1021819779" label="en-US,si"/>
  <int value="1022348319" label="other,fy"/>
  <int value="1022666993" label="en-IN,be"/>
  <int value="1023969309" label="en-AU,pa"/>
  <int value="1029598412" label="en-GB,hu"/>
  <int value="1038405709" label="en-ZA,pt"/>
  <int value="1041158278" label="other,zh"/>
  <int value="1041314309" label="en-GB,sv"/>
  <int value="1041843225" label="en-AU,mi"/>
  <int value="1044512953" label="en-IN,bs"/>
  <int value="1047774851" label="en-NZ,th"/>
  <int value="1047990359" label="en-CA,st"/>
  <int value="1055706381" label="other,mt"/>
  <int value="1058027180" label="en-NZ,ps"/>
  <int value="1062243141" label="en-AU,el"/>
  <int value="1063843295" label="en-IN,el-Latn"/>
  <int value="1070881406" label="en-IN,iw"/>
  <int value="1072572125" label="en,az"/>
  <int value="1076247598" label="en-NZ,uk"/>
  <int value="1077340584" label="en-NZ,mi"/>
  <int value="1078066471" label="en-NZ,my"/>
  <int value="1086284012" label="other,th"/>
  <int value="1088333377" label="en-NZ,fi"/>
  <int value="1099612922" label="en-ZA,und"/>
  <int value="1100066240" label="en-AU,gl"/>
  <int value="1101277515" label="en-AU,bs"/>
  <int value="1102196185" label="en-GB,zh-Latn"/>
  <int value="1102359128" label="en,co"/>
  <int value="1104996635" label="en-GB,ka"/>
  <int value="1109268156" label="en-AU,sd"/>
  <int value="1113936347" label="en-US,ga"/>
  <int value="1116909928" label="en-ZA,km"/>
  <int value="1128555043" label="en-NZ,be"/>
  <int value="1135410106" label="en-CA,it"/>
  <int value="1135936276" label="en,af"/>
  <int value="1139383998" label="en,haw"/>
  <int value="1155102742" label="en-AU,sq"/>
  <int value="1163093350" label="en-ZA,ar"/>
  <int value="1167163022" label="en-GB,kk"/>
  <int value="1168246222" label="en-US,tg"/>
  <int value="1169881078" label="en,id"/>
  <int value="1170715716" label="en-ZA,zu"/>
  <int value="1174248653" label="en-GB,zu"/>
  <int value="1175423418" label="other,ha"/>
  <int value="1175589237" label="en-IN,zh"/>
  <int value="1175618948" label="en-US,no"/>
  <int value="1178260016" label="en-AU,lv"/>
  <int value="1178359238" label="en,hu"/>
  <int value="1181212519" label="en,mg"/>
  <int value="1182312689" label="other,lv"/>
  <int value="1185020245" label="en-CA,mn"/>
  <int value="1192415688" label="en-AU,ga"/>
  <int value="1197096620" label="en-IN,fa"/>
  <int value="1198326653" label="en-US,af"/>
  <int value="1201895414" label="en,sr"/>
  <int value="1204411090" label="en-GB,sr"/>
  <int value="1206951812" label="en-NZ,en"/>
  <int value="1207559379" label="other,ceb"/>
  <int value="1207746876" label="en-GB,ar"/>
  <int value="1210191695" label="en-GB,hr"/>
  <int value="1210299740" label="en-US,fa"/>
  <int value="1218130469" label="en-IN,yi"/>
  <int value="1233341588" label="en-AU,da"/>
  <int value="1239978088" label="en,el"/>
  <int value="1256797102" label="en-ZA,fa"/>
  <int value="1260927179" label="en-GB,ur"/>
  <int value="1262922540" label="en-ZA,uk"/>
  <int value="1264329857" label="en-NZ,tg"/>
  <int value="1278539454" label="en-US,hmn"/>
  <int value="1280510255" label="en-NZ,hr"/>
  <int value="1280736521" label="en-ZA,sl"/>
  <int value="1286376309" label="en-IN,xh"/>
  <int value="1292870564" label="en-ZA,ru-Latn"/>
  <int value="1300968709" label="en-GB,it"/>
  <int value="1302667839" label="en-NZ,bs"/>
  <int value="1306008814" label="en-NZ,pt"/>
  <int value="1307519081" label="other,fa"/>
  <int value="1310524684" label="en-AU,tg"/>
  <int value="1311997351" label="en-NZ,ku"/>
  <int value="1317436581" label="en,ka"/>
  <int value="1326944743" label="en-AU,tr"/>
  <int value="1329589180" label="en-NZ,zu"/>
  <int value="1333183401" label="en,te"/>
  <int value="1335991765" label="en-NZ,af"/>
  <int value="1340188273" label="en,kn"/>
  <int value="1344361345" label="en-ZA,ps"/>
  <int value="1345672063" label="en-GB,lt"/>
  <int value="1354542174" label="other,hy"/>
  <int value="1354544720" label="en-CA,sm"/>
  <int value="1366667779" label="en-AU,la"/>
  <int value="1368223495" label="other,is"/>
  <int value="1375141921" label="en-NZ,mg"/>
  <int value="1375516436" label="other,jv"/>
  <int value="1377425950" label="en-NZ,az"/>
  <int value="1382586179" label="en-GB,ko"/>
  <int value="1384498167" label="en-CA,ja"/>
  <int value="1389280901" label="en-AU,eo"/>
  <int value="1393996692" label="en-CA,mi"/>
  <int value="1395222628" label="en-IN,lt"/>
  <int value="1398402282" label="en-GB,de"/>
  <int value="1402000053" label="en-GB,ky"/>
  <int value="1416181656" label="en,ny"/>
  <int value="1418241073" label="en-NZ,sv"/>
  <int value="1420980063" label="en-AU,ro"/>
  <int value="1422442520" label="en-AU,jv"/>
  <int value="1430525845" label="en-AU,sk"/>
  <int value="1440048775" label="en-GB,ca"/>
  <int value="1440610021" label="other,cs"/>
  <int value="1448954659" label="en-AU,yi"/>
  <int value="1454462350" label="en-US,tr"/>
  <int value="1455512265" label="en-CA,da"/>
  <int value="1455668867" label="en-US,sr"/>
  <int value="1464251629" label="en-GB,uk"/>
  <int value="1468669496" label="en-GB,su"/>
  <int value="1468930251" label="en-ZA,tg"/>
  <int value="1473595362" label="en,et"/>
  <int value="1475867184" label="other,ps"/>
  <int value="1479752599" label="en-NZ,so"/>
  <int value="1486918374" label="en-CA,gu"/>
  <int value="1492342066" label="en-IN,ro"/>
  <int value="1494396409" label="en-NZ,tr"/>
  <int value="1502339637" label="en,ms"/>
  <int value="1512489951" label="en-US,kk"/>
  <int value="1516505763" label="en-IN,uk"/>
  <int value="1525021570" label="en-GB,hi"/>
  <int value="1529621431" label="en-IN,mg"/>
  <int value="1534291662" label="en,fi"/>
  <int value="1541318518" label="en-CA,ar"/>
  <int value="1545921996" label="en,cy"/>
  <int value="1547798712" label="en-CA,hy"/>
  <int value="1554560505" label="en,iw"/>
  <int value="1556599784" label="en-US,zu"/>
  <int value="1560108635" label="en-CA,bg"/>
  <int value="1569869322" label="en,lv"/>
  <int value="1571010464" label="other,tr"/>
  <int value="1574218451" label="en,ja-Latn"/>
  <int value="1574455066" label="en-NZ,hy"/>
  <int value="1577813196" label="en-ZA,ja-Latn"/>
  <int value="1583748372" label="en-US,uz"/>
  <int value="1584277030" label="en,lo"/>
  <int value="1586371836" label="en-GB,haw"/>
  <int value="1587065378" label="en-CA,ceb"/>
  <int value="1587149206" label="en-AU,is"/>
  <int value="1587448881" label="other,bg-Latn"/>
  <int value="1595122469" label="en-GB,am"/>
  <int value="1599809239" label="en-NZ,eo"/>
  <int value="1602933018" label="en-AU,km"/>
  <int value="1606599170" label="en-GB,af"/>
  <int value="1616893188" label="en-GB,en"/>
  <int value="1617301307" label="en-US,vi"/>
  <int value="1620733201" label="en-ZA,st"/>
  <int value="1622221024" label="en-NZ,st"/>
  <int value="1625230863" label="en-ZA,ca"/>
  <int value="1627858810" label="en-CA,su"/>
  <int value="1631878770" label="en-CA,eu"/>
  <int value="1633252733" label="en-CA,und"/>
  <int value="1640305574" label="en-CA,ms"/>
  <int value="1649537917" label="en-NZ,id"/>
  <int value="1650086272" label="en-IN,ja"/>
  <int value="1654964809" label="en-GB,ta"/>
  <int value="1658068744" label="en-ZA,si"/>
  <int value="1674861874" label="en-AU,af"/>
  <int value="1674862709" label="en-AU,ko"/>
  <int value="1678320412" label="en-US,sw"/>
  <int value="1682821330" label="en,ro"/>
  <int value="1685893517" label="en-IN,so"/>
  <int value="1688465225" label="en-NZ,gl"/>
  <int value="1693278011" label="en-US,pt"/>
  <int value="1697603371" label="en,si"/>
  <int value="1700824821" label="en-GB,tr"/>
  <int value="1717190578" label="en-CA,bn"/>
  <int value="1721644578" label="en-NZ,nl"/>
  <int value="1723571120" label="en-NZ,ta"/>
  <int value="1725099187" label="en,zh"/>
  <int value="1737627322" label="en-ZA,cy"/>
  <int value="1740225427" label="en-GB,cs"/>
  <int value="1742804144" label="en-US,te"/>
  <int value="1744275224" label="en-ZA,fi"/>
  <int value="1749696454" label="other,cy"/>
  <int value="1753505573" label="en-ZA,mn"/>
  <int value="1772273660" label="other,am"/>
  <int value="1787055860" label="en-CA,ta"/>
  <int value="1795956429" label="en-AU,ny"/>
  <int value="1797503688" label="en-NZ,jv"/>
  <int value="1805209460" label="en-IN,th"/>
  <int value="1825180324" label="en-GB,pl"/>
  <int value="1826276933" label="en-US,km"/>
  <int value="1837257554" label="en-IN,id"/>
  <int value="1839203236" label="en-CA,la"/>
  <int value="1840601524" label="en-US,pl"/>
  <int value="1843812704" label="en-US,en"/>
  <int value="1845750026" label="en-GB,mk"/>
  <int value="1850895272" label="en-ZA,su"/>
  <int value="1858092254" label="en-NZ,fy"/>
  <int value="1859062446" label="en-NZ,ms"/>
  <int value="1864323264" label="en-NZ,hmn"/>
  <int value="1879419731" label="en-NZ,fil"/>
  <int value="1887245165" label="en-IN,ne"/>
  <int value="1887547959" label="en-AU,hy"/>
  <int value="1896229543" label="en-AU,st"/>
  <int value="1897866500" label="en-AU,cs"/>
  <int value="1914113466" label="en-GB,sn"/>
  <int value="1916036344" label="en-AU,th"/>
  <int value="1921346058" label="en-NZ,kn"/>
  <int value="1921468722" label="en-GB,lo"/>
  <int value="1922305307" label="en,ca"/>
  <int value="1923055656" label="other,sn"/>
  <int value="1929310230" label="en-IN,tg"/>
  <int value="1935021242" label="en-GB,el-Latn"/>
  <int value="1947337323" label="en-GB,sw"/>
  <int value="1950716531" label="en,lb"/>
  <int value="1953379543" label="en-ZA,yo"/>
  <int value="1954146782" label="en-IN,ps"/>
  <int value="1955147896" label="en-US,ja"/>
  <int value="1960593815" label="en-IN,uz"/>
  <int value="1971945016" label="en-AU,am"/>
  <int value="1972836537" label="en-GB,km"/>
  <int value="1975943948" label="en-AU,gd"/>
  <int value="1981144369" label="en-US,be"/>
  <int value="1990402435" label="en-ZA,ja"/>
  <int value="1991206873" label="en,es"/>
  <int value="1992336755" label="en-NZ,xh"/>
  <int value="1993640855" label="en-CA,jv"/>
  <int value="1998909729" label="en-ZA,kk"/>
  <int value="2008193378" label="en-NZ,it"/>
  <int value="2009383888" label="other,xh"/>
  <int value="2019528786" label="en-CA,bg-Latn"/>
  <int value="2019768967" label="other,eu"/>
  <int value="2028809726" label="en-CA,km"/>
  <int value="2031218406" label="en,ur"/>
  <int value="2036627878" label="en-CA,mk"/>
  <int value="2041001332" label="en-NZ,no"/>
  <int value="2044661620" label="en-AU,sw"/>
  <int value="2045704410" label="en-AU,it"/>
  <int value="2047493862" label="en-CA,ky"/>
  <int value="2048503615" label="en,eo"/>
  <int value="2050034631" label="en-US,mr"/>
  <int value="2052081632" label="en-AU,ceb"/>
  <int value="2058678293" label="en-US,kn"/>
  <int value="2063559514" label="en-US,st"/>
  <int value="2069198284" label="en-IN,fil"/>
  <int value="2070565410" label="en-ZA,de"/>
  <int value="2075422927" label="en-AU,fa"/>
  <int value="2077918936" label="en-AU,kn"/>
  <int value="2078538264" label="en-AU,et"/>
  <int value="2078639052" label="en-US,nl"/>
  <int value="2083592559" label="en-US,it"/>
  <int value="2087547308" label="en-GB,da"/>
  <int value="2088017334" label="en-CA,hi-Latn"/>
  <int value="2088167089" label="en-NZ,vi"/>
  <int value="2095083633" label="en-ZA,gu"/>
  <int value="2095959023" label="en-NZ,pl"/>
  <int value="2099045123" label="en-NZ,ro"/>
  <int value="2100025793" label="en-US,id"/>
  <int value="2115803061" label="en-CA,kk"/>
  <int value="2116112642" label="en-US,fr"/>
  <int value="2116383804" label="en,ceb"/>
  <int value="2121668277" label="en-CA,vi"/>
  <int value="2123533843" label="other,zu"/>
  <int value="2132483133" label="en-US,ja-Latn"/>
  <int value="2137580597" label="en-NZ,fa"/>
  <int value="2141671912" label="other,mk"/>
  <int value="2144565498" label="en-ZA,bs"/>
</enum>

<enum name="EnhancedBookmarkViewMode" type="int">
  <obsolete>
    Deprecated 9/2015.
  </obsolete>
  <int value="0" label="Default view mode"/>
  <int value="1" label="List view mode"/>
  <int value="2" label="Grid view mode"/>
</enum>

<enum name="EnrollmentStatus" type="int">
  <int value="0" label="Non-managed"/>
  <int value="1" label="Managed EDU (Deprecated)"/>
  <int value="2" label="Managed"/>
  <int value="3" label="Error"/>
</enum>

<enum name="EnterpriseAttributesTPMConsistencyType" type="int">
  <int value="0" label="no attributes, other mode, TPM unlocked">
    valid: machine in pristine state
  </int>
  <int value="1" label="locked attributes, other mode, TPM unlocked">
    rare: install attributes locked but TPM clear (could happen if taking TPM
    ownership carries over a reboot)
  </int>
  <int value="2" label="no attributes, enterprise mode, TPM unlocked">
    impossible: non-existent install attributes cannot yield enterprise mode
  </int>
  <int value="3" label="locked attributes, enterprise mode, TPM unlocked">
    rare: install attributes locked but TPM clear (could happen if taking TPM
    ownership carries over a reboot)
  </int>
  <int value="4" label="no attributes, other mode, TPM locked">
    inconsistent: install attributes clear but TPM locked
  </int>
  <int value="5" label="locked attributes, other mode, TPM locked">
    valid: consumer owned
  </int>
  <int value="6" label="no attributes, enterprise mode, TPM locked">
    impossible: non-existent install attributes cannot yield enterprise mode
  </int>
  <int value="7" label="locked attributes, enterprise mode, TPM locked">
    valid: enterprise enrolled
  </int>
  <int value="8" label="TPM unreachable">error: cryptohomed unreachable</int>
</enum>

<enum name="EnterpriseCheckError" type="int">
  <summary>
    Defined as DomainCheckErrors in
    components/policy/core/common/policy_loader_win.cc.
  </summary>
  <int value="0" label="Cound not get net join info."/>
  <int value="1" label="Cound not bind to domain controller."/>
</enum>

<enum name="EnterpriseDeviceManagementStatus" type="int">
  <summary>
    Status codes produced by DeviceManagementService for requests made to the
    device management server as defined in
    components/policy/core/common/cloud/cloud_policy_constants.h.
  </summary>
  <int value="0" label="SUCCESS"/>
  <int value="1" label="REQUEST_INVALID"/>
  <int value="2" label="REQUEST_FAILED"/>
  <int value="3" label="TEMPORARY_UNAVAILABLE"/>
  <int value="4" label="HTTP_STATUS_ERROR"/>
  <int value="5" label="RESPONSE_DECODING_ERROR"/>
  <int value="6" label="SERVICE_MANAGEMENT_NOT_SUPPORTED"/>
  <int value="7" label="SERVICE_DEVICE_NOT_FOUND"/>
  <int value="8" label="SERVICE_MANAGEMENT_TOKEN_INVALID"/>
  <int value="9" label="SERVICE_ACTIVATION_PENDING"/>
  <int value="10" label="SERVICE_INVALID_SERIAL_NUMBER"/>
  <int value="11" label="SERVICE_DEVICE_ID_CONFLICT"/>
  <int value="12" label="SERVICE_MISSING_LICENSES"/>
  <int value="13" label="SERVICE_DEPROVISIONED"/>
  <int value="14" label="SERVICE_DOMAIN_MISMATCH"/>
  <int value="902" label="SERVICE_POLICY_NOT_FOUND"/>
</enum>

<enum name="EnterpriseDMServerRequestSuccess" type="int">
  <summary>
    Number of DeviceManagementServer request retries as defined in
    components/policy/core/common/cloud/device_management_service.cc.
  </summary>
  <int value="0" label="No retries"/>
  <int value="1" label="1 retry"/>
  <int value="2" label="2 retries"/>
  <int value="3" label="3 retries"/>
  <int value="10" label="Request failed"/>
  <int value="11" label="Server returned error"/>
</enum>

<enum name="EnterpriseDMTokenType" type="int">
  <summary>
    Result of DMToken operations as defined in
    components/policy/core/common/cloud/enterprise_metrics.h.
  </summary>
  <int value="0" label="Load Succeeded">
    A cached token was successfully loaded from disk.
  </int>
  <int value="1" label="Load Failed">
    Reading a cached token from disk failed.
  </int>
  <int value="2" label="Fetch Requested">
    A token fetch request was sent to the DM server.
  </int>
  <int value="3" label="Fetch Request Failed">
    The request was invalid, or the HTTP request failed.
  </int>
  <int value="4" label="Fetch Server Failed">
    Error HTTP status received, or the DM server failed in another way.
  </int>
  <int value="5" label="Fetch Response Received">
    A response to the fetch request was received.
  </int>
  <int value="6" label="Fetch Bad Response">
    The response received was invalid. This happens when some expected data was
    not present in the response.
  </int>
  <int value="7" label="Fetch Management Not Supported">
    DM server reported that management is not supported.
  </int>
  <int value="8" label="Fetch Device Not Found">
    DM server reported that the given device ID was not found.
  </int>
  <int value="9" label="Fetch OK">DM token successfully retrieved.</int>
  <int value="10" label="Store Succeeded">
    Successfully cached a token to disk.
  </int>
  <int value="11" label="Store Failed">Caching a token to disk failed.</int>
  <int value="12" label="Device ID Conflict">The Device-ID is not unique.</int>
  <int value="13" label="Invalid Serial">
    Serial number rejected by DMServer.
  </int>
  <int value="14" label="Missing Licenses">
    No more licenses available for that domain.
  </int>
</enum>

<enum name="EnterpriseDomainRegex" type="int">
  <summary>Which domain regex generated an ICU error.</summary>
  <int value="0" label="aol"/>
  <int value="1" label="googlemail"/>
  <int value="2" label="gmail"/>
  <int value="3" label="hotmail"/>
  <int value="4" label="live"/>
  <int value="5" label="mail.ru"/>
  <int value="6" label="msn"/>
  <int value="7" label="qq"/>
  <int value="8" label="yahoo"/>
  <int value="9" label="yandex"/>
</enum>

<enum name="EnterpriseEnrollmentType" type="int">
  <summary>
    Result of device enrollment as defined in
    components/policy/core/common/cloud/enterprise_metrics.h.
  </summary>
  <int value="0" label="Cancelled">
    User pressed 'Cancel' during the enrollment process.
  </int>
  <int value="1" label="Started with valid credentials">
    The user submitted valid credentials (GAIA or registration certificate) to
    start the enrollment process.
  </int>
  <int value="2" label="OAuth fetch: network failed">
    OAuth token fetch failed: network error.
  </int>
  <int value="3" label="Login Failed">
    OAuth token fetch failed: login error.
  </int>
  <int value="4" label="Not Supported">
    Registration / policy fetch failed: DM server reports management not
    supported.
  </int>
  <int value="5" label="Policy Failed (unused)">
    UNUSED: Enrollment failed because it failed to apply device policy.
  </int>
  <int value="6" label="Other Failed (unused)">
    UNUSED: Enrollment failed due to an unexpected error. This currently happens
    when the GAIA auth token is not issued for the DM service, the device cloud
    policy subsystem isn't initialized, or when fetching GAIA tokens fails for
    an unknown reason.
  </int>
  <int value="7" label="OK">Enrollment was successful.</int>
  <int value="8" label="Registration/fetch: invalid Serial">
    Registration / policy fetch failed: DM server reports that the serial number
    we try to register is not assigned to the domain used.
  </int>
  <int value="9" label="Auto-enrollment Started (unused)">
    UNUSED: Auto-enrollment started automatically after sign-in.
  </int>
  <int value="10" label="Auto-enrollment Failed (unused)">
    UNUSED: Auto-enrollment failed.
  </int>
  <int value="11" label="Auto-enrollment Restarted (unused)">
    UNUSED: Auto-enrollment started again after a failure.
  </int>
  <int value="12" label="Auto-enrollment Cancelled (unused)">
    UNUSED: User opted-out of auto-enrollment.
  </int>
  <int value="13" label="Auto-enrollment OK (unused)">
    UNUSED: Auto-enrollment OK.
  </int>
  <int value="14" label="Invalid enrollment mode">
    Registration failed: DM server returns unknown/disallowed enrollment mode.
  </int>
  <int value="15" label="Auto-enrollment not supported (unused)">
    UNUSED: Auto-enrollment is not supported for the mode supplied by the
    server.  This presently means trying to auto-enroll in kiosk mode.
  </int>
  <int value="16" label="Install attributes timeout">
    Lockbox initialization took too long to complete.
  </int>
  <int value="17" label="Lockbox domain mismatch on re-enrollment">
    Lockbox error on re-enrollment: domain does not match install attributes.
  </int>
  <int value="18" label="Registration/fetch: missing licenses">
    Registration / policy fetch failed: DM server reports licenses expired or
    exhausted.
  </int>
  <int value="19" label="Robot auth code fetch failed">
    Failed to fetch device robot authorization code from DM Server.
  </int>
  <int value="20" label="Robot refresh token fetch failed">
    Failed to fetch device robot refresh token from GAIA.
  </int>
  <int value="21" label="Robot refresh token store failed">
    Failed to persist robot account refresh token on device.
  </int>
  <int value="22" label="Registration/fetch: deprovisioned device">
    Registration / policy fetch failed: DM server reports administrator
    deprovisioned the device.
  </int>
  <int value="23" label="Registration/fetch: domain mismatch">
    Registration / policy fetch failed: DM server reports domain mismatch.
  </int>
  <int value="24" label="Triggered">
    Enrollment has been triggered, the webui login screen has been shown.
  </int>
  <int value="25" label="Restarted with valid credentials">
    The user submitted valid credentials (GAIA or registration certificate) to
    start the enrollment process for the second (or further) time.
  </int>
  <int value="26" label="Store token and ID failed (unused)">
    UNUSED: Failed to store DM token and device ID.
  </int>
  <int value="27" label="Error getting FRE state keys">
    Failed to obtain FRE state keys.
  </int>
  <int value="28" label="Error validating policy">
    Failed to validate policy.
  </int>
  <int value="29" label="Error in CloudPolicyStore">
    Failed due to error in CloudPolicyStore.
  </int>
  <int value="30" label="Error locking device (unused)">
    UNUSED: Failed to lock device.
  </int>
  <int value="31" label="Registration/fetch: request payload invalid">
    Registration / policy fetch failed: DM server reports invalid request
    payload.
  </int>
  <int value="32" label="Registration/fetch: device not found">
    Registration / policy fetch failed: DM server reports device not found.
  </int>
  <int value="33" label="Registration/fetch: DM token invalid">
    Registration / policy fetch failed: DM server reports DM token invalid.
  </int>
  <int value="34" label="Registration/fetch: activation pending">
    Registration / policy fetch failed: DM server reports activation pending.
  </int>
  <int value="35" label="Registration/fetch: device ID conflict">
    Registration / policy fetch failed: DM server reports device ID conflict.
  </int>
  <int value="36" label="Registration/fetch: policy not found">
    Registration / policy fetch failed: DM server can't find policy.
  </int>
  <int value="37" label="Registration/fetch: HTTP request failed">
    Registration / policy fetch failed: HTTP request failed.
  </int>
  <int value="38" label="Registration/fetch: temporary unavailable">
    Registration / policy fetch failed: DM server reports temporary problem.
  </int>
  <int value="39" label="Registration/fetch: HTTP error response">
    Registration / policy fetch failed: DM server returns non-success HTTP
    status code.
  </int>
  <int value="40" label="Registration/fetch: invalid response">
    Registration / policy fetch failed: can't decode DM server response.
  </int>
  <int value="41" label="OAuth fetch: account not signed up">
    OAuth token fetch failed: account not signed up.
  </int>
  <int value="42" label="OAuth fetch: account deleted">
    OAuth token fetch failed: account deleted.
  </int>
  <int value="43" label="OAuth fetch: account disabled">
    OAuth token fetch failed: account disabled.
  </int>
  <int value="44" label="Re-enrollment: pre-check domain mismatch">
    Re-enrollment pre-check failed: domain does not match install attributes.
  </int>
  <int value="45" label="Lockbox initialization failed">
    Lockbox backend failed to initialize.
  </int>
  <int value="46" label="Lockbox already locked">
    Lockbox backend (TPM) already locked.
  </int>
  <int value="47" label="Lockbox set attribute failed">
    Lockbox failure setting attributes.
  </int>
  <int value="48" label="Lockbox locking failed">
    Lockbox failure during locking.
  </int>
  <int value="49" label="Lockbox inconsistent read back">
    Lockbox read back is inconsistent.
  </int>
  <int value="50" label="Device attributes update failed">
    Failed to update device attributes.
  </int>
  <int value="51" label="Lockbox device mode mismatch">
    Enrollment mode does not match already locked install attributes.
  </int>
  <int value="52" label="Registration certificate fetch fail">
    A registration certificate could not be obtained from the PCA.
  </int>
  <int value="53" label="Cannot sign enrollment request">
    The request to enroll could not be signed.
  </int>
  <int value="54" label="Device identification missing">
    Device model or serial number missing from VPD.
  </int>
  <int value="55" label="AD policy fetch fail">
    Active Directory policy fetch failed.
  </int>
  <int value="56" label="Store DM token failed">
    Failed to store DM token into the local state.
  </int>
</enum>

<enum name="EnterprisePolicies" type="int">
<!-- Generated from components/policy/resources/policy_templates.json -->

  <int value="1" label="HomepageLocation"/>
  <int value="2" label="HomepageIsNewTabPage"/>
  <int value="3" label="DefaultBrowserSettingEnabled"/>
  <int value="4" label="ApplicationLocaleValue"/>
  <int value="5" label="AlternateErrorPagesEnabled"/>
  <int value="6" label="SearchSuggestEnabled"/>
  <int value="7" label="DnsPrefetchingEnabled"/>
  <int value="8" label="DisableSpdy"/>
  <int value="9" label="JavascriptEnabled"/>
  <int value="10" label="IncognitoEnabled"/>
  <int value="11" label="SavingBrowserHistoryDisabled"/>
  <int value="12" label="PrintingEnabled"/>
  <int value="13" label="CloudPrintProxyEnabled"/>
  <int value="14" label="SafeBrowsingEnabled"/>
  <int value="15" label="MetricsReportingEnabled"/>
  <int value="16" label="PasswordManagerEnabled"/>
  <int value="17" label="PasswordManagerAllowShowPasswords"/>
  <int value="18" label="AutoFillEnabled"/>
  <int value="19" label="DisabledPlugins"/>
  <int value="20" label="SyncDisabled"/>
  <int value="21" label="ProxyMode"/>
  <int value="22" label="ProxyServerMode"/>
  <int value="23" label="ProxyServer"/>
  <int value="24" label="ProxyPacUrl"/>
  <int value="25" label="ProxyBypassList"/>
  <int value="26" label="AuthSchemes"/>
  <int value="27" label="DisableAuthNegotiateCnameLookup"/>
  <int value="28" label="EnableAuthNegotiatePort"/>
  <int value="29" label="AuthServerWhitelist"/>
  <int value="30" label="AuthNegotiateDelegateWhitelist"/>
  <int value="31" label="GSSAPILibraryName"/>
  <int value="32" label="ExtensionInstallBlacklist"/>
  <int value="33" label="ExtensionInstallWhitelist"/>
  <int value="34" label="ExtensionInstallForcelist"/>
  <int value="35" label="ShowHomeButton"/>
  <int value="36" label="DeveloperToolsDisabled"/>
  <int value="37" label="RestoreOnStartup"/>
  <int value="38" label="RestoreOnStartupURLs"/>
  <int value="39" label="BlockThirdPartyCookies"/>
  <int value="40" label="DefaultSearchProviderEnabled"/>
  <int value="41" label="DefaultSearchProviderName"/>
  <int value="42" label="DefaultSearchProviderKeyword"/>
  <int value="43" label="DefaultSearchProviderSearchURL"/>
  <int value="44" label="DefaultSearchProviderSuggestURL"/>
  <int value="45" label="DefaultSearchProviderInstantURL"/>
  <int value="46" label="DefaultSearchProviderIconURL"/>
  <int value="47" label="DefaultSearchProviderEncodings"/>
  <int value="48" label="DefaultCookiesSetting"/>
  <int value="49" label="DefaultImagesSetting"/>
  <int value="50" label="DefaultJavaScriptSetting"/>
  <int value="51" label="DefaultPluginsSetting"/>
  <int value="52" label="DefaultPopupsSetting"/>
  <int value="53" label="DefaultNotificationsSetting"/>
  <int value="54" label="DefaultGeolocationSetting"/>
  <int value="55" label="Disable3DAPIs"/>
  <int value="56" label="PolicyRefreshRate"/>
  <int value="57" label="ChromeFrameRendererSettings"/>
  <int value="58" label="RenderInChromeFrameList"/>
  <int value="59" label="RenderInHostList"/>
  <int value="60" label="ChromeFrameContentTypes"/>
  <int value="61" label="ChromeOsLockOnIdleSuspend"/>
  <int value="62" label="InstantEnabled"/>
  <int value="63" label="UserDataDir"/>
  <int value="64" label="DownloadDirectory"/>
  <int value="65" label="ClearSiteDataOnExit"/>
  <int value="66" label="DisablePluginFinder"/>
  <int value="67" label="CookiesBlockedForUrls"/>
  <int value="68" label="CookiesSessionOnlyForUrls"/>
  <int value="69" label="ImagesAllowedForUrls"/>
  <int value="70" label="ImagesBlockedForUrls"/>
  <int value="71" label="JavaScriptAllowedForUrls"/>
  <int value="72" label="JavaScriptBlockedForUrls"/>
  <int value="73" label="PluginsAllowedForUrls"/>
  <int value="74" label="PluginsBlockedForUrls"/>
  <int value="75" label="PopupsAllowedForUrls"/>
  <int value="76" label="PopupsBlockedForUrls"/>
  <int value="77" label="CookiesAllowedForUrls"/>
  <int value="78" label="EnabledPlugins"/>
  <int value="79" label="DisabledPluginsExceptions"/>
  <int value="80" label="TranslateEnabled"/>
  <int value="81" label="AllowOutdatedPlugins"/>
  <int value="82" label="BookmarkBarEnabled"/>
  <int value="83" label="EditBookmarksEnabled"/>
  <int value="84" label="AllowFileSelectionDialogs"/>
  <int value="85" label="DisabledSchemes"/>
  <int value="86" label="AlwaysAuthorizePlugins"/>
  <int value="87" label="GCFUserDataDir"/>
  <int value="88" label="DiskCacheDir"/>
  <int value="89" label="AllowCrossOriginAuthPrompt"/>
  <int value="90" label="DevicePolicyRefreshRate"/>
  <int value="91" label="ChromeOsReleaseChannel"/>
  <int value="92" label="MaxConnectionsPerProxy"/>
  <int value="93" label="IncognitoModeAvailability"/>
  <int value="94" label="RemoteAccessClientFirewallTraversal"/>
  <int value="95" label="RemoteAccessHostFirewallTraversal"/>
  <int value="96" label="HideWebStorePromo"/>
  <int value="97" label="ImportBookmarks"/>
  <int value="98" label="ImportHistory"/>
  <int value="99" label="ImportHomepage"/>
  <int value="100" label="ImportSearchEngine"/>
  <int value="101" label="ImportSavedPasswords"/>
  <int value="102" label="AutoSelectCertificateForUrls"/>
  <int value="103" label="URLBlacklist"/>
  <int value="104" label="URLWhitelist"/>
  <int value="105" label="NotificationsAllowedForUrls"/>
  <int value="106" label="NotificationsBlockedForUrls"/>
  <int value="107" label="OpenNetworkConfiguration"/>
  <int value="108" label="DeviceOpenNetworkConfiguration"/>
  <int value="109" label="CloudPrintSubmitEnabled"/>
  <int value="110" label="DiskCacheSize"/>
  <int value="111" label="MediaCacheSize"/>
  <int value="112" label="EnterpriseWebStoreURL"/>
  <int value="113" label="EnterpriseWebStoreName"/>
  <int value="114" label="EnableOriginBoundCerts"/>
  <int value="115" label="EnableMemoryInfo"/>
  <int value="116" label="ProxySettings"/>
  <int value="117" label="DisablePrintPreview"/>
  <int value="118" label="DisableSSLRecordSplitting"/>
  <int value="119" label="ReportDeviceVersionInfo"/>
  <int value="120" label="ReportDeviceActivityTimes"/>
  <int value="121" label="ReportDeviceBootMode"/>
  <int value="122" label="DeviceUserWhitelist"/>
  <int value="123" label="DeviceAllowNewUsers"/>
  <int value="124" label="DeviceGuestModeEnabled"/>
  <int value="125" label="DeviceShowUserNamesOnSignin"/>
  <int value="126" label="DeviceDataRoamingEnabled"/>
  <int value="127" label="DeviceMetricsReportingEnabled"/>
  <int value="128" label="DeviceEphemeralUsersEnabled"/>
  <int value="129" label="EnableOnlineRevocationChecks"/>
  <int value="130" label="DeviceIdleLogoutTimeout"/>
  <int value="131" label="DeviceIdleLogoutWarningDuration"/>
  <int value="132" label="DeviceLoginScreenSaverId"/>
  <int value="133" label="DeviceLoginScreenSaverTimeout"/>
  <int value="134" label="ChromeOsReleaseChannelDelegated"/>
  <int value="135" label="DeviceAppPack"/>
  <int value="136" label="DeviceAutoUpdateDisabled"/>
  <int value="137" label="DeviceStartUpUrls"/>
  <int value="138" label="BackgroundModeEnabled"/>
  <int value="139" label="DriveDisabled"/>
  <int value="140" label="DriveDisabledOverCellular"/>
  <int value="141" label="AdditionalLaunchParameters"/>
  <int value="142" label="DeviceTargetVersionPrefix"/>
  <int value="143" label="ReportDeviceLocation"/>
  <int value="144" label="PinnedLauncherApps"/>
  <int value="145" label="DeviceUpdateScatterFactor"/>
  <int value="146" label="DeviceUpdateAllowedConnectionTypes"/>
  <int value="147" label="RestrictSigninToPattern"/>
  <int value="148" label="ExtensionInstallSources"/>
  <int value="149" label="DefaultMediaStreamSetting"/>
  <int value="150" label="DisableSafeBrowsingProceedAnyway"/>
  <int value="151" label="SpellCheckServiceEnabled"/>
  <int value="152" label="ExternalStorageDisabled"/>
  <int value="153" label="DisableScreenshots"/>
  <int value="154" label="RemoteAccessHostDomain"/>
  <int value="155" label="RemoteAccessHostRequireTwoFactor"/>
  <int value="156" label="RemoteAccessHostTalkGadgetPrefix"/>
  <int value="157" label="RemoteAccessHostRequireCurtain"/>
  <int value="158" label="SystemTimezone"/>
  <int value="159" label="AudioOutputAllowed"/>
  <int value="160" label="AudioCaptureAllowed"/>
  <int value="161" label="DefaultSearchProviderAlternateURLs"/>
  <int value="162" label="ForceSafeSearch"/>
  <int value="163" label="DeviceLocalAccounts"/>
  <int value="164" label="ShowLogoutButtonInTray"/>
  <int value="165" label="BuiltInDnsClientEnabled"/>
  <int value="166" label="ShelfAutoHideBehavior"/>
  <int value="167" label="VideoCaptureAllowed"/>
  <int value="168" label="ExtensionAllowedTypes"/>
  <int value="169" label="UserDisplayName"/>
  <int value="170" label="SessionLengthLimit"/>
  <int value="171" label="DefaultSearchProviderSearchTermsReplacementKey"/>
  <int value="172" label="ScreenDimDelayAC"/>
  <int value="173" label="ScreenOffDelayAC"/>
  <int value="174" label="ScreenLockDelayAC"/>
  <int value="175" label="IdleDelayAC"/>
  <int value="176" label="ScreenDimDelayBattery"/>
  <int value="177" label="ScreenOffDelayBattery"/>
  <int value="178" label="ScreenLockDelayBattery"/>
  <int value="179" label="IdleDelayBattery"/>
  <int value="180" label="IdleAction"/>
  <int value="181" label="LidCloseAction"/>
  <int value="182" label="PowerManagementUsesAudioActivity"/>
  <int value="183" label="PowerManagementUsesVideoActivity"/>
  <int value="184" label="PresentationIdleDelayScale"/>
  <int value="185" label="DeviceAllowRedeemChromeOsRegistrationOffers"/>
  <int value="186" label="TermsOfServiceURL"/>
  <int value="187" label="AllowDeletingBrowserHistory"/>
  <int value="188" label="ShowAccessibilityOptionsInSystemTrayMenu"/>
  <int value="189" label="HideWebStoreIcon"/>
  <int value="190" label="SigninAllowed"/>
  <int value="191" label="DeviceStartUpFlags"/>
  <int value="192" label="UptimeLimit"/>
  <int value="193" label="RebootAfterUpdate"/>
  <int value="194" label="DeviceLocalAccountAutoLoginId"/>
  <int value="195" label="DeviceLocalAccountAutoLoginDelay"/>
  <int value="196" label="VariationsRestrictParameter"/>
  <int value="197" label="IdleWarningDelayAC"/>
  <int value="198" label="IdleWarningDelayBattery"/>
  <int value="199" label="DeviceVariationsRestrictParameter"/>
  <int value="200" label="AttestationEnabledForUser"/>
  <int value="201" label="AttestationExtensionWhitelist"/>
  <int value="202" label="DeviceLocalAccountAutoLoginBailoutEnabled"/>
  <int value="203" label="AllowScreenWakeLocks"/>
  <int value="204" label="ContentPackDefaultFilteringBehavior"/>
  <int value="205" label="ContentPackManualBehaviorHosts"/>
  <int value="206" label="ContentPackManualBehaviorURLs"/>
  <int value="207" label="AttestationEnabledForDevice"/>
  <int value="208" label="AudioCaptureAllowedUrls"/>
  <int value="209" label="VideoCaptureAllowedUrls"/>
  <int value="210" label="UserActivityScreenDimDelayScale"/>
  <int value="211" label="LargeCursorEnabled"/>
  <int value="212" label="SpokenFeedbackEnabled"/>
  <int value="213" label="HighContrastEnabled"/>
  <int value="214" label="ScreenMagnifierType"/>
  <int value="215" label="DeviceLoginScreenDefaultLargeCursorEnabled"/>
  <int value="216" label="DeviceLoginScreenDefaultSpokenFeedbackEnabled"/>
  <int value="217" label="DeviceLoginScreenDefaultHighContrastEnabled"/>
  <int value="218" label="DeviceLoginScreenDefaultScreenMagnifierType"/>
  <int value="219" label="SupervisedUsersEnabled"/>
  <int value="220" label="PresentationScreenDimDelayScale"/>
  <int value="221" label="SuppressChromeFrameTurndownPrompt"/>
  <int value="222" label="IdleActionBattery"/>
  <int value="223" label="SupervisedUserCreationEnabled"/>
  <int value="224" label="ReportDeviceNetworkInterfaces"/>
  <int value="225" label="DeviceLoginScreenPowerManagement"/>
  <int value="226" label="IdleActionAC"/>
  <int value="227" label="ManagedBookmarks"/>
  <int value="228" label="MaxInvalidationFetchDelay"/>
  <int value="229" label="DefaultSearchProviderImageURL"/>
  <int value="230" label="DefaultSearchProviderSearchURLPostParams"/>
  <int value="231" label="DefaultSearchProviderSuggestURLPostParams"/>
  <int value="232" label="DefaultSearchProviderInstantURLPostParams"/>
  <int value="233" label="DefaultSearchProviderImageURLPostParams"/>
  <int value="234" label="RemoteAccessHostAllowClientPairing"/>
  <int value="235" label="RequireOnlineRevocationChecksForLocalAnchors"/>
  <int value="236" label="SystemUse24HourClock"/>
  <int value="237" label="DefaultSearchProviderNewTabURL"/>
  <int value="238" label="SkipMetadataCheck"/>
  <int value="239" label="AttestationForContentProtectionEnabled"/>
  <int value="240" label="FullscreenAllowed"/>
  <int value="241" label="DataCompressionProxyEnabled"/>
  <int value="242" label="DeviceAutoUpdateP2PEnabled"/>
  <int value="243" label="DeviceUpdateHttpDownloadsEnabled"/>
  <int value="244" label="ChromeOsMultiProfileUserBehavior"/>
  <int value="245" label="ForceEphemeralProfiles"/>
  <int value="246" label="AutoCleanUpStrategy"/>
  <int value="247" label="WaitForInitialUserActivity"/>
  <int value="248" label="ReportDeviceUsers"/>
  <int value="249" label="UserAvatarImage"/>
  <int value="250" label="DeviceLocalAccountPromptForNetworkWhenOffline"/>
  <int value="251" label="NativeMessagingBlacklist"/>
  <int value="252" label="NativeMessagingWhitelist"/>
  <int value="253" label="NativeMessagingUserLevelHosts"/>
  <int value="254" label="SAMLOfflineSigninTimeLimit"/>
  <int value="255" label="VirtualKeyboardEnabled"/>
  <int value="256" label="DeviceLoginScreenDefaultVirtualKeyboardEnabled"/>
  <int value="257" label="RemoteAccessHostAllowGnubbyAuth"/>
  <int value="258" label="PowerManagementIdleSettings"/>
  <int value="259" label="ScreenLockDelays"/>
  <int value="260" label="KeyboardDefaultToFunctionKeys"/>
  <int value="261" label="WPADQuickCheckEnabled"/>
  <int value="262" label="WallpaperImage"/>
  <int value="263" label="RemoteAccessHostAllowRelayedConnection"/>
  <int value="264" label="RemoteAccessHostUdpPortRange"/>
  <int value="265" label="EnableDeprecatedWebBasedSignin"/>
  <int value="266" label="DeviceBlockDevmode"/>
  <int value="267" label="ShowAppsShortcutInBookmarkBar"/>
  <int value="268" label="RegisteredProtocolHandlers"/>
  <int value="269" label="TouchVirtualKeyboardEnabled"/>
  <int value="270" label="EnableDeprecatedWebPlatformFeatures"/>
  <int value="271" label="DeviceTransferSAMLCookies"/>
  <int value="272" label="EasyUnlockAllowed"/>
  <int value="273" label="NetworkPredictionOptions"/>
  <int value="274" label="SessionLocales"/>
  <int value="275" label="BrowserGuestModeEnabled"/>
  <int value="276" label="BrowserAddPersonEnabled"/>
  <int value="277" label="ImportAutofillFormData"/>
  <int value="278" label="ExtensionSettings"/>
  <int value="279" label="SSLVersionMin"/>
  <int value="280" label="SSLVersionFallbackMin"/>
  <int value="281" label="ContextualSearchEnabled"/>
  <int value="282" label="ForceGoogleSafeSearch"/>
  <int value="283" label="ForceYouTubeSafetyMode"/>
  <int value="284" label="DeviceRebootOnShutdown"/>
  <int value="285" label="RemoteAccessHostMatchUsername"/>
  <int value="286" label="RemoteAccessHostTokenUrl"/>
  <int value="287" label="RemoteAccessHostTokenValidationUrl"/>
  <int value="288" label="RemoteAccessHostTokenValidationCertificateIssuer"/>
  <int value="289" label="RemoteAccessHostDebugOverridePolicies"/>
  <int value="290" label="ReportDeviceHardwareStatus"/>
  <int value="291" label="ReportDeviceSessionStatus"/>
  <int value="292" label="ReportUploadFrequency"/>
  <int value="293" label="HeartbeatEnabled"/>
  <int value="294" label="HeartbeatFrequency"/>
  <int value="295" label="CaptivePortalAuthenticationIgnoresProxy"/>
  <int value="296" label="ExtensionCacheSize"/>
  <int value="297" label="DeviceLoginScreenDomainAutoComplete"/>
  <int value="298" label="ForceMaximizeOnFirstRun"/>
  <int value="299" label="SafeBrowsingExtendedReportingOptInAllowed"/>
  <int value="300" label="SSLErrorOverrideAllowed"/>
  <int value="301" label="QuicAllowed"/>
  <int value="302" label="KeyPermissions"/>
  <int value="303" label="WelcomePageOnOSUpgradeEnabled"/>
  <int value="304" label="HardwareAccelerationModeEnabled"/>
  <int value="305" label="AuthAndroidNegotiateAccountType"/>
  <int value="306" label="LogUploadEnabled"/>
  <int value="307" label="UnifiedDesktopEnabledByDefault"/>
  <int value="308" label="DefaultPrinterSelection"/>
  <int value="309" label="AllowDinosaurEasterEgg"/>
  <int value="310" label="RC4Enabled"/>
  <int value="311" label="DisplayRotationDefault"/>
  <int value="312" label="SupervisedUserContentProviderEnabled"/>
  <int value="313" label="DefaultKeygenSetting"/>
  <int value="314" label="KeygenAllowedForUrls"/>
  <int value="315" label="KeygenBlockedForUrls"/>
  <int value="316" label="RemoteAccessHostClientDomain"/>
  <int value="317" label="ArcEnabled"/>
  <int value="318" label="ArcPolicy"/>
  <int value="319" label="AllowKioskAppControlChromeVersion"/>
  <int value="320" label="DefaultWebBluetoothGuardSetting"/>
  <int value="321" label="LoginAuthenticationBehavior"/>
  <int value="322" label="UsbDetachableWhitelist"/>
  <int value="323" label="DeviceAllowBluetooth"/>
  <int value="324" label="SuppressUnsupportedOSWarning"/>
  <int value="325" label="DeviceQuirksDownloadEnabled"/>
  <int value="326" label="SystemTimezoneAutomaticDetection"/>
  <int value="327" label="TaskManagerEndProcessEnabled"/>
  <int value="328" label="LoginVideoCaptureAllowedUrls"/>
  <int value="329" label="AllowScreenLock"/>
  <int value="330" label="ArcCertificatesSyncMode"/>
  <int value="331" label="AllowedDomainsForApps"/>
  <int value="332" label="PacHttpsUrlStrippingEnabled"/>
  <int value="333" label="EnableMediaRouter"/>
  <int value="334" label="DHEEnabled"/>
  <int value="335" label="CertificateTransparencyEnforcementDisabledForUrls"/>
  <int value="336" label="DeviceLoginScreenAppInstallList"/>
  <int value="337" label="ArcBackupRestoreEnabled"/>
  <int value="338" label="NTPContentSuggestionsEnabled"/>
  <int value="339" label="WebRtcUdpPortRange"/>
  <int value="340" label="EnableSha1ForLocalAnchors"/>
  <int value="341" label="WebRestrictionsAuthority"/>
  <int value="342" label="ComponentUpdatesEnabled"/>
  <int value="343" label="ExternalStorageReadOnly"/>
  <int value="344" label="RemoteAccessHostAllowUiAccessForRemoteAssistance"/>
  <int value="345" label="Http09OnNonDefaultPortsEnabled"/>
  <int value="346" label="ForceBrowserSignin"/>
  <int value="347" label="AlwaysOpenPdfExternally"/>
  <int value="348" label="ForceYouTubeRestrict"/>
  <int value="349" label="ReportArcStatusEnabled"/>
  <int value="350" label="NativePrinters"/>
  <int value="351" label="NetworkThrottlingEnabled"/>
  <int value="352" label="QuickUnlockModeWhitelist"/>
  <int value="353" label="QuickUnlockTimeout"/>
  <int value="354" label="PinUnlockMinimumLength"/>
  <int value="355" label="PinUnlockMaximumLength"/>
  <int value="356" label="PinUnlockWeakPinsAllowed"/>
  <int value="357" label="DeviceWallpaperImage"/>
  <int value="358" label="RoamingProfileSupportEnabled"/>
  <int value="359" label="RoamingProfileLocation"/>
  <int value="360" label="NewTabPageLocation"/>
  <int value="361" label="SSLVersionMax"/>
  <int value="362" label="ShowCastIconInToolbar"/>
  <int value="363" label="ArcLocationServiceEnabled"/>
  <int value="364" label="DeviceLoginScreenLocales"/>
  <int value="365" label="DeviceLoginScreenInputMethods"/>
  <int value="366" label="EnableCommonNameFallbackForLocalAnchors"/>
</enum>

<enum name="EnterprisePolicyInvalidations" type="int">
  <summary>
    Defined as PolicyInvalidationType in
    components/policy/core/common/cloud/enterprise_metrics.h.
  </summary>
  <int value="0" label="No payload; not expired"/>
  <int value="1" label="Payload; not expired"/>
  <int value="3" label="No payload; expired"/>
  <int value="4" label="Payload; expired"/>
</enum>

<enum name="EnterprisePolicyKeyVerification" type="int">
  <summary>
    Defined as MetricPolicyKeyVerification in
    components/policy/core/common/cloud/cloud_policy_validator.cc.
  </summary>
  <int value="0" label="Key missing">Client has no verification key.</int>
  <int value="1" label="Signature missing">
    The Policy being verified has no key signature (e.g. policy fetched before
    the server supported the verification key).
  </int>
  <int value="2" label="Verification failed">
    The key signature did not match the expected value (in theory, this should
    only happen after key rotation or if the policy cached on disk has been
    modified).
  </int>
  <int value="3" label="Verification succeeded">
    Key verification succeeded.
  </int>
</enum>

<enum name="EnterprisePolicyLoadStatus" type="int">
  <summary>
    Status codes produced by the policy loaders that pull policy settings from
    the platform-specific management infrastructure, such as Windows Group
    Policy.  Defined as PolicyLoadStatus in
    components/policy/core/common/policy_load_status.h.
  </summary>
  <int value="0" label="STARTED">
    Policy load attempt started. This gets logged for each policy load attempt
    to get a baseline on the number of requests, and an arbitrary number of the
    below status codes may get added in addition.
  </int>
  <int value="1" label="QUERY_FAILED">
    System failed to determine whether there's policy.
  </int>
  <int value="2" label="NO_POLICY">No policy present.</int>
  <int value="3" label="INACCCESSIBLE">
    Data inaccessible, such as non-local policy file.
  </int>
  <int value="4" label="MISSING">
    Data missing, such as policy file not present.
  </int>
  <int value="5" label="WOW64_REDIRECTION_DISABLED">
    Trying with Wow64 redirection disabled.
  </int>
  <int value="6" label="READ_ERROR">
    Data read error, for example file reading errors.
  </int>
  <int value="7" label="TOO_BIG">Data too large to process.</int>
  <int value="8" label="PARSE_ERROR">Parse error.</int>
</enum>

<enum name="EnterprisePolicyRefresh" type="int">
  <summary>
    Defined as MetricPolicyRefresh in
    components/policy/core/common/cloud/enterprise_metrics.h.
  </summary>
  <int value="0" label="Changed"/>
  <int value="1" label="Changed; Invalidations disabled"/>
  <int value="2" label="Unchanged"/>
  <int value="3" label="Invalidated; Changed"/>
  <int value="4" label="Invalidated; Unchanged"/>
</enum>

<enum name="EnterprisePolicyType" type="int">
  <summary>
    Result of Policy operations as defined as MetricPolicy in
    components/policy/core/common/cloud/enterprise_metrics.h.
  </summary>
  <int value="0" label="Load Succeeded">
    A cached policy was successfully loaded from disk.
  </int>
  <int value="1" label="Load Failed">
    Reading a cached policy from disk failed.
  </int>
  <int value="2" label="Fetch Requested">
    A policy fetch request was sent to the DM server.
  </int>
  <int value="3" label="Fetch Request Failed">
    The request was invalid, or the HTTP request failed.
  </int>
  <int value="4" label="Fetch Server Failed">
    Error HTTP status received, or the DM server failed in another way.
  </int>
  <int value="5" label="Fetch Not Found">
    Policy not found for the given user or device.
  </int>
  <int value="6" label="Fetch Invalid Token">
    DM server didn't accept the token used in the request.
  </int>
  <int value="7" label="Fetch Response Received">
    A response to the policy fetch request was received.
  </int>
  <int value="8" label="Fetch Bad Response">
    The policy response message didn't contain a policy, or other data was
    missing.
  </int>
  <int value="9" label="Fetch Invalid Policy">Failed to decode the policy.</int>
  <int value="10" label="Fetch Bad Signature">
    The device policy was rejected because its signature was invalid.
  </int>
  <int value="11" label="Fetch Timestamp In Future">
    Rejected policy because its timestamp is in the future.
  </int>
  <int value="12" label="Fetch Non Enterprise Device">
    Device policy rejected because the device is not managed.
  </int>
  <int value="13" label="Fetch User Mismatch">
    The policy was provided for a username that is different from the device
    owner, and the policy was rejected.
  </int>
  <int value="14" label="Fetch Other Failed">
    The policy was rejected for another reason. Currently this can happen only
    for device policies, when the SignedSettings fail to store or retrieve a
    stored policy.
  </int>
  <int value="15" label="Fetch OK">The fetched policy was accepted.</int>
  <int value="16" label="Fetch Not Modified">
    The policy just fetched didn't have any changes compared to the cached
    policy.
  </int>
  <int value="17" label="Store Succeeded">
    Successfully cached a policy to disk.
  </int>
  <int value="18" label="Store Failed">Caching a policy to disk failed.</int>
</enum>

<enum name="EnterpriseUploadJobSuccess" type="int">
  <summary>
    Number of UploadJob retries as defined in
    chrome/browser/chromeos/policy/upload_job_impl.cc.
  </summary>
  <int value="0" label="No retries"/>
  <int value="1" label="1 retry"/>
  <int value="2" label="2 retries"/>
  <int value="3" label="3 retries"/>
  <int value="10" label="Request failed"/>
  <int value="11" label="Request interrupted"/>
</enum>

<enum name="EnterpriseUserSessionLogins" type="int">
  <summary>
    Types of sign-in events as defined in
    chrome/browser/chromeos/login/enterprise_user_session_metrics.h
  </summary>
  <int value="0" label="Regular user"/>
  <int value="1" label="Manual public session"/>
  <int value="2" label="Automatic public session"/>
  <int value="3" label="Manual kiosk session"/>
  <int value="4" label="Automatic kiosk session"/>
</enum>

<enum name="ErrorCodesGetAdaptersAddresses" type="int">
  <int value="8" label="ERROR_NOT_ENOUGH_MEMORY"/>
  <int value="87" label="ERROR_INVALID_PARAMETER"/>
  <int value="111" label="ERROR_BUFFER_OVERFLOW"/>
  <int value="232" label="ERROR_NO_DATA"/>
  <int value="1228" label="ERROR_ADDRESS_NOT_ASSOCIATED"/>
</enum>

<enum name="ErrorCodesGetaddrinfo_All" type="int">
  <int value="1" label="EAI_BADFLAGS(L)"/>
  <int value="2" label="EAI_NONAME(L) EAI_AGAIN(M)"/>
  <int value="3" label="EAI_AGAIN(L) EAI_BADFLAGS(M)"/>
  <int value="4" label="EAI_FAIL"/>
  <int value="5" label="EAI_NODATA(L) EAI_FAMILY(M)"/>
  <int value="6" label="WSA_INVALID_HANDLE EAI_FAMILY(L) EAI_MEMORY(M)"/>
  <int value="7" label="EAI_SOCKTYPE(L) EAI_NODATA(M)"/>
  <int value="8" label="WSA_NOT_ENOUGH_MEMORY EAI_SERVICE(L) EAI_NONAME(M)"/>
  <int value="9" label="EAI_ADDRFAMILY EAI_SERVICE(M)"/>
  <int value="10" label="EAI_MEMORY(L) EAI_SOCKTYPE(L)"/>
  <int value="11" label="EAI_SYSTEM"/>
  <int value="12" label="EAI_OVERFLOW"/>
  <int value="10022" label="WSAEINVAL"/>
  <int value="10044" label="WSAESOCKTNOSUPPORT"/>
  <int value="10047" label="WSAEAFNOSUPPORT"/>
  <int value="10093" label="WSANOTINITIALISED"/>
  <int value="10109" label="WSA_TYPE_NOT_FOUND"/>
  <int value="11001" label="WSA_HOST_NOT_FOUND"/>
  <int value="11002" label="WSATRY_AGAIN"/>
  <int value="11003" label="WSA_ANO_RECOVERY"/>
  <int value="11004" label="WSANO_DATA"/>
</enum>

<enum name="ErrorCodesGetaddrinfo_Linux" type="int">
  <int value="1" label="EAI_BADFLAGS"/>
  <int value="2" label="EAI_NONAME"/>
  <int value="3" label="EAI_AGAIN"/>
  <int value="4" label="EAI_FAIL"/>
  <int value="5" label="EAI_NODATA"/>
  <int value="6" label="EAI_FAMILY"/>
  <int value="7" label="EAI_SOCKTYPE"/>
  <int value="8" label="EAI_SERVICE"/>
  <int value="9" label="EAI_ADDRFAMILY"/>
  <int value="10" label="EAI_MEMORY"/>
  <int value="11" label="EAI_SYSTEM"/>
  <int value="12" label="EAI_OVERFLOW"/>
</enum>

<enum name="ErrorCodesGetaddrinfo_Mac" type="int">
  <int value="1" label="EAI_ADDRFAMILY"/>
  <int value="2" label="EAI_AGAIN"/>
  <int value="3" label="EAI_BADFLAGS"/>
  <int value="4" label="EAI_FAIL"/>
  <int value="5" label="EAI_FAMILY"/>
  <int value="6" label="EAI_MEMORY"/>
  <int value="7" label="EAI_NODATA"/>
  <int value="8" label="EAI_NONAME"/>
  <int value="9" label="EAI_SERVICE"/>
  <int value="10" label="EAI_SOCKTYPE"/>
  <int value="11" label="EAI_SYSTEM"/>
  <int value="12" label="EAI_BADHINTS"/>
  <int value="13" label="EAI_PROTOCOL"/>
  <int value="14" label="EAI_OVERFLOW"/>
</enum>

<enum name="ErrorCodesGetaddrinfo_Win" type="int">
  <int value="6" label="WSA_INVALID_HANDLE"/>
  <int value="8" label="WSA_NOT_ENOUGH_MEMORY or EAI_SERVICE"/>
  <int value="10022" label="WSAEINVAL"/>
  <int value="10044" label="WSAESOCKTNOSUPPORT"/>
  <int value="10047" label="WSAEAFNOSUPPORT"/>
  <int value="10093" label="WSANOTINITIALISED"/>
  <int value="10109" label="WSA_TYPE_NOT_FOUND"/>
  <int value="11001" label="WSA_HOST_NOT_FOUND"/>
  <int value="11002" label="WSATRY_AGAIN"/>
  <int value="11003" label="WSA_ANO_RECOVERY"/>
  <int value="11004" label="WSANO_DATA"/>
</enum>

<enum name="ErrorPageButton" type="int">
  <int value="0" label="NO_BUTTON"/>
  <int value="1" label="RELOAD_BUTTON"/>
  <int value="2" label="SHOW_SAVED_COPY_BUTTON"/>
  <int value="3" label="MORE_BUTTON"/>
  <int value="4" label="EASTER_EGG"/>
  <int value="5" label="SHOW_CACHED_COPY_BUTTON"/>
  <int value="6" label="SHOW_CACHED_PAGE_BUTTON"/>
</enum>

<enum name="ErrorPageUnexpectedStates" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="NON_ERROR_PAGE_URL"/>
  <int value="2" label="NO_ERROR_INFO"/>
  <int value="3" label="NON_ERROR_PAGE_URL_AND_NO_ERROR_INFO"/>
</enum>

<enum name="EVCTCompliance" type="int">
  <int value="0" label="EV policy does not apply"/>
  <int value="1" label="Compliant because certificate is whitelisted"/>
  <int value="2" label="Compliant because SCTs satisfy CT policy"/>
  <int value="3" label="Not compliant because there are not enough SCTs"/>
  <int value="4"
      label="Not compliant because there are not diverse enough SCTs"/>
  <int value="5" label="Not compliant because the build is not timely"/>
</enum>

<enum name="EventHitTest" type="int">
  <int value="0" label="Miss, not found in cache."/>
  <int value="1" label="Miss, explicitly avoided."/>
  <int value="2" label="Miss, validity region matches; type doesn't."/>
  <int value="3" label="Hit, exact point."/>
  <int value="4" label="Hit, region matched."/>
</enum>

<enum name="EventHitTestValidity" type="int">
  <int value="0" label="Valid, exact match."/>
  <int value="1" label="Valid, region match."/>
  <int value="2" label="Incorrect, exact match (rect query)."/>
  <int value="3" label="Incorrect, exact match (point query)."/>
  <int value="4" label="Incorrect, region match (rect query)."/>
  <int value="5" label="Incorrect, region match (point query)."/>
</enum>

<enum name="EventHitTestValidityScore" type="int">
  <int value="0" label="Nothing matched."/>
  <int value="1" label="Over widget matched."/>
  <int value="2" label="Scrollbar matched."/>
  <int value="4" label="URL element matched."/>
  <int value="8" label="Local point matched."/>
  <int value="16" label="Point in inner frame matched."/>
  <int value="32" label="Inner pseudo node matched."/>
  <int value="64" label="Inner node matched."/>
  <int value="128" label="Request type matched."/>
</enum>

<enum name="EventResultType" type="int">
  <int value="0" label="Passive"/>
  <int value="1" label="Uncancelable"/>
  <int value="2" label="Suppressed"/>
  <int value="3" label="Cancelable and not canceled"/>
  <int value="4" label="Cancelable and canceled"/>
  <int value="5" label="Forced Non-Blocking Due to Fling"/>
  <int value="6" label="Forced Non-Blocking Due to Unresponsive Main Thread"/>
</enum>

<enum name="EventTimestampValidity" type="int">
  <int value="0" label="Invalid time base"/>
  <int value="1" label="Valid time base"/>
</enum>

<enum name="EVWhitelistStatus" type="int">
  <int value="0" label="Not present"/>
  <int value="1" label="Invalid"/>
  <int value="2" label="Valid"/>
</enum>

<enum name="ExecutionPhase" type="int">
  <int value="0" label="UNINITIALIZED_PHASE"/>
  <int value="100" label="START_METRICS_RECORDING"/>
  <int value="200" label="CREATE_PROFILE"/>
  <int value="300" label="STARTUP_TIMEBOMB_ARM"/>
  <int value="400" label="THREAD_WATCHER_START"/>
  <int value="500" label="MAIN_MESSAGE_LOOP_RUN"/>
  <int value="600" label="SHUTDOWN_TIMEBOMB_ARM"/>
  <int value="700" label="SHUTDOWN_COMPLETE"/>
</enum>

<enum name="ExpectCTHeaderResult" type="int">
  <int value="0" label="EXPECT_CT_HEADER_BAD_VALUE"/>
  <int value="1" label="EXPECT_CT_HEADER_BUILD_NOT_TIMELY"/>
  <int value="2" label="EXPECT_CT_HEADER_PRIVATE_ROOT"/>
  <int value="3" label="EXPECT_CT_HEADER_COMPLIANCE_DETAILS_UNAVAILABLE"/>
  <int value="4" label="EXPECT_CT_HEADER_COMPLIED"/>
  <int value="5" label="EXPECT_CT_HEADER_NOT_PRELOADED"/>
  <int value="6" label="EXPECT_CT_HEADER_PROCESSED"/>
</enum>

<enum name="ExtensionBackgroundPageType" type="int">
  <int value="0" label="None"/>
  <int value="1" label="Persistent"/>
  <int value="2" label="Event Page"/>
</enum>

<enum name="ExtensionBubbleAction" type="int">
  <int value="0" label="Learn more"/>
  <int value="1" label="Execute"/>
  <int value="2" label="Dismiss by user action"/>
  <int value="3" label="Dismiss by deactivation"/>
</enum>

<enum name="ExtensionCreationFlags" type="int">
  <int value="0" label="REQUIRE_KEY"/>
  <int value="1" label="REQUIRE_MODERN_MANIFEST_VERSION"/>
  <int value="2" label="ALLOW_FILE_ACCESS"/>
  <int value="3" label="FROM_WEBSTORE"/>
  <int value="4" label="FROM_BOOKMARK"/>
  <int value="5" label="FOLLOW_SYMLINKS_ANYWHERE"/>
  <int value="6" label="ERROR_ON_PRIVATE_KEY"/>
  <int value="7" label="WAS_INSTALLED_BY_DEFAULT"/>
  <int value="8" label="REQUIRE_PERMISSIONS_CONSENT"/>
  <int value="9" label="IS_EPHEMERAL_DEPRECATED"/>
  <int value="10" label="WAS_INSTALLED_BY_OEM"/>
</enum>

<enum name="ExtensionDisabledUIUserResponse" type="int">
  <int value="0" label="IGNORED"/>
  <int value="1" label="REENABLE"/>
  <int value="2" label="UNINSTALL"/>
</enum>

<enum name="ExtensionDisableReason" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="USER_ACTION"/>
  <int value="2" label="PERMISSIONS_INCREASE"/>
  <int value="4" label="RELOAD"/>
  <int value="8" label="UNSUPPORTED_REQUIREMENT"/>
  <int value="16" label="SIDELOAD_WIPEOUT"/>
  <int value="32" label="UNKNOWN_FROM_SYNC"/>
  <int value="64" label="DEPRECATED_PERMISSIONS_CONSENT"/>
  <int value="128" label="DEPRECATED_KNOWN_DISABLED"/>
  <int value="256" label="NOT_VERIFIED"/>
  <int value="512" label="GREYLIST"/>
  <int value="1024" label="CORRUPTED"/>
  <int value="2048" label="REMOTE_INSTALL"/>
  <int value="4096" label="INACTIVE_EPHEMERAL_APP_DEPRECATED"/>
  <int value="8192" label="EXTERNAL_EXTENSION"/>
  <int value="16384" label="UPDATE_REQUIRED_BY_POLICY"/>
  <int value="32768" label="CUSTODIAN_APPROVAL_REQUIRED"/>
</enum>

<enum name="ExtensionEvents" type="int">
<!-- Generated from extensions/browser/extension_event_histogram_value.h -->

  <int value="0" label="UNKNOWN"/>
  <int value="1" label="FOR_TEST"/>
  <int value="2" label="ACCESSIBILITY_PRIVATE_ON_INTRODUCE_CHROME_VOX"/>
  <int value="3" label="ACTIVITY_LOG_PRIVATE_ON_EXTENSION_ACTIVITY"/>
  <int value="4" label="ALARMS_ON_ALARM"/>
  <int value="5" label="APP_CURRENT_WINDOW_INTERNAL_ON_ALPHA_ENABLED_CHANGED"/>
  <int value="6" label="APP_CURRENT_WINDOW_INTERNAL_ON_BOUNDS_CHANGED"/>
  <int value="7" label="APP_CURRENT_WINDOW_INTERNAL_ON_CLOSED"/>
  <int value="8" label="APP_CURRENT_WINDOW_INTERNAL_ON_FULLSCREENED"/>
  <int value="9" label="APP_CURRENT_WINDOW_INTERNAL_ON_MAXIMIZED"/>
  <int value="10" label="APP_CURRENT_WINDOW_INTERNAL_ON_MINIMIZED"/>
  <int value="11" label="APP_CURRENT_WINDOW_INTERNAL_ON_RESTORED"/>
  <int value="12"
      label="APP_CURRENT_WINDOW_INTERNAL_ON_WINDOW_SHOWN_FOR_TESTS"/>
  <int value="13" label="APP_RUNTIME_ON_EMBED_REQUESTED"/>
  <int value="14" label="APP_RUNTIME_ON_LAUNCHED"/>
  <int value="15" label="APP_RUNTIME_ON_RESTARTED"/>
  <int value="16" label="APP_WINDOW_ON_BOUNDS_CHANGED"/>
  <int value="17" label="APP_WINDOW_ON_CLOSED"/>
  <int value="18" label="APP_WINDOW_ON_FULLSCREENED"/>
  <int value="19" label="APP_WINDOW_ON_MAXIMIZED"/>
  <int value="20" label="APP_WINDOW_ON_MINIMIZED"/>
  <int value="21" label="APP_WINDOW_ON_RESTORED"/>
  <int value="22" label="DELETED_AUDIO_MODEM_ON_RECEIVED"/>
  <int value="23" label="DELETED_AUDIO_MODEM_ON_TRANSMIT_FAIL"/>
  <int value="24" label="AUDIO_ON_DEVICE_CHANGED"/>
  <int value="25" label="AUDIO_ON_DEVICES_CHANGED"/>
  <int value="26" label="AUDIO_ON_LEVEL_CHANGED"/>
  <int value="27" label="AUDIO_ON_MUTE_CHANGED"/>
  <int value="28" label="AUTOFILL_PRIVATE_ON_ADDRESS_LIST_CHANGED"/>
  <int value="29" label="AUTOFILL_PRIVATE_ON_CREDIT_CARD_LIST_CHANGED"/>
  <int value="30" label="AUTOMATION_INTERNAL_ON_ACCESSIBILITY_EVENT"/>
  <int value="31" label="AUTOMATION_INTERNAL_ON_ACCESSIBILITY_TREE_DESTROYED"/>
  <int value="32" label="BLUETOOTH_LOW_ENERGY_ON_CHARACTERISTIC_VALUE_CHANGED"/>
  <int value="33" label="BLUETOOTH_LOW_ENERGY_ON_DESCRIPTOR_VALUE_CHANGED"/>
  <int value="34" label="BLUETOOTH_LOW_ENERGY_ON_SERVICE_ADDED"/>
  <int value="35" label="BLUETOOTH_LOW_ENERGY_ON_SERVICE_CHANGED"/>
  <int value="36" label="BLUETOOTH_LOW_ENERGY_ON_SERVICE_REMOVED"/>
  <int value="37" label="BLUETOOTH_ON_ADAPTER_STATE_CHANGED"/>
  <int value="38" label="BLUETOOTH_ON_DEVICE_ADDED"/>
  <int value="39" label="BLUETOOTH_ON_DEVICE_CHANGED"/>
  <int value="40" label="BLUETOOTH_ON_DEVICE_REMOVED"/>
  <int value="41" label="BLUETOOTH_PRIVATE_ON_PAIRING"/>
  <int value="42" label="BLUETOOTH_SOCKET_ON_ACCEPT"/>
  <int value="43" label="BLUETOOTH_SOCKET_ON_ACCEPT_ERROR"/>
  <int value="44" label="BLUETOOTH_SOCKET_ON_RECEIVE"/>
  <int value="45" label="BLUETOOTH_SOCKET_ON_RECEIVE_ERROR"/>
  <int value="46" label="BOOKMARK_MANAGER_PRIVATE_ON_DRAG_ENTER"/>
  <int value="47" label="BOOKMARK_MANAGER_PRIVATE_ON_DRAG_LEAVE"/>
  <int value="48" label="BOOKMARK_MANAGER_PRIVATE_ON_DROP"/>
  <int value="49" label="BOOKMARK_MANAGER_PRIVATE_ON_META_INFO_CHANGED"/>
  <int value="50" label="BOOKMARKS_ON_CHANGED"/>
  <int value="51" label="BOOKMARKS_ON_CHILDREN_REORDERED"/>
  <int value="52" label="BOOKMARKS_ON_CREATED"/>
  <int value="53" label="BOOKMARKS_ON_IMPORT_BEGAN"/>
  <int value="54" label="BOOKMARKS_ON_IMPORT_ENDED"/>
  <int value="55" label="BOOKMARKS_ON_MOVED"/>
  <int value="56" label="BOOKMARKS_ON_REMOVED"/>
  <int value="57" label="BRAILLE_DISPLAY_PRIVATE_ON_DISPLAY_STATE_CHANGED"/>
  <int value="58" label="BRAILLE_DISPLAY_PRIVATE_ON_KEY_EVENT"/>
  <int value="59" label="BROWSER_ACTION_ON_CLICKED"/>
  <int value="60" label="CAST_STREAMING_RTP_STREAM_ON_ERROR"/>
  <int value="61" label="CAST_STREAMING_RTP_STREAM_ON_STARTED"/>
  <int value="62" label="CAST_STREAMING_RTP_STREAM_ON_STOPPED"/>
  <int value="63" label="COMMANDS_ON_COMMAND"/>
  <int value="64" label="CONTEXT_MENUS_INTERNAL_ON_CLICKED"/>
  <int value="65" label="CONTEXT_MENUS_ON_CLICKED"/>
  <int value="66" label="COOKIES_ON_CHANGED"/>
  <int value="67" label="DELETED_COPRESENCE_ON_MESSAGES_RECEIVED"/>
  <int value="68" label="DELETED_COPRESENCE_ON_STATUS_UPDATED"/>
  <int value="69" label="DELETED_COPRESENCE_PRIVATE_ON_CONFIG_AUDIO"/>
  <int value="70" label="DELETED_COPRESENCE_PRIVATE_ON_DECODE_SAMPLES_REQUEST"/>
  <int value="71" label="DELETED_COPRESENCE_PRIVATE_ON_ENCODE_TOKEN_REQUEST"/>
  <int value="72" label="DEBUGGER_ON_DETACH"/>
  <int value="73" label="DEBUGGER_ON_EVENT"/>
  <int value="74" label="DECLARATIVE_CONTENT_ON_PAGE_CHANGED"/>
  <int value="75" label="DECLARATIVE_WEB_REQUEST_ON_MESSAGE"/>
  <int value="76" label="DECLARATIVE_WEB_REQUEST_ON_REQUEST"/>
  <int value="77" label="DEVELOPER_PRIVATE_ON_ITEM_STATE_CHANGED"/>
  <int value="78" label="DEVELOPER_PRIVATE_ON_PROFILE_STATE_CHANGED"/>
  <int value="79" label="DEVTOOLS_INSPECTED_WINDOW_ON_RESOURCE_ADDED"/>
  <int value="80"
      label="DEVTOOLS_INSPECTED_WINDOW_ON_RESOURCE_CONTENT_COMMITTED"/>
  <int value="81" label="DEVTOOLS_NETWORK_ON_NAVIGATED"/>
  <int value="82" label="DEVTOOLS_NETWORK_ON_REQUEST_FINISHED"/>
  <int value="83" label="DOWNLOADS_ON_CHANGED"/>
  <int value="84" label="DOWNLOADS_ON_CREATED"/>
  <int value="85" label="DOWNLOADS_ON_DETERMINING_FILENAME"/>
  <int value="86" label="DOWNLOADS_ON_ERASED"/>
  <int value="87" label="EASY_UNLOCK_PRIVATE_ON_START_AUTO_PAIRING"/>
  <int value="88" label="EASY_UNLOCK_PRIVATE_ON_USER_INFO_UPDATED"/>
  <int value="89" label="EXPERIENCE_SAMPLING_PRIVATE_ON_DECISION"/>
  <int value="90" label="EXPERIENCE_SAMPLING_PRIVATE_ON_DISPLAYED"/>
  <int value="91" label="EXPERIMENTAL_DEVTOOLS_CONSOLE_ON_MESSAGE_ADDED"/>
  <int value="92" label="EXTENSION_ON_REQUEST"/>
  <int value="93" label="EXTENSION_ON_REQUEST_EXTERNAL"/>
  <int value="94" label="EXTENSION_OPTIONS_INTERNAL_ON_CLOSE"/>
  <int value="95" label="EXTENSION_OPTIONS_INTERNAL_ON_LOAD"/>
  <int value="96" label="EXTENSION_OPTIONS_INTERNAL_ON_PREFERRED_SIZE_CHANGED"/>
  <int value="97" label="FEEDBACK_PRIVATE_ON_FEEDBACK_REQUESTED"/>
  <int value="98" label="FILE_BROWSER_HANDLER_ON_EXECUTE"/>
  <int value="99" label="FILE_MANAGER_PRIVATE_ON_COPY_PROGRESS"/>
  <int value="100" label="FILE_MANAGER_PRIVATE_ON_DEVICE_CHANGED"/>
  <int value="101" label="FILE_MANAGER_PRIVATE_ON_DIRECTORY_CHANGED"/>
  <int value="102"
      label="FILE_MANAGER_PRIVATE_ON_DRIVE_CONNECTION_STATUS_CHANGED"/>
  <int value="103" label="FILE_MANAGER_PRIVATE_ON_DRIVE_SYNC_ERROR"/>
  <int value="104" label="FILE_MANAGER_PRIVATE_ON_FILE_TRANSFERS_UPDATED"/>
  <int value="105" label="FILE_MANAGER_PRIVATE_ON_MOUNT_COMPLETED"/>
  <int value="106" label="FILE_MANAGER_PRIVATE_ON_PREFERENCES_CHANGED"/>
  <int value="107" label="FILE_SYSTEM_ON_VOLUME_LIST_CHANGED"/>
  <int value="108" label="FILE_SYSTEM_PROVIDER_ON_ABORT_REQUESTED"/>
  <int value="109" label="FILE_SYSTEM_PROVIDER_ON_ADD_WATCHER_REQUESTED"/>
  <int value="110" label="FILE_SYSTEM_PROVIDER_ON_CLOSE_FILE_REQUESTED"/>
  <int value="111" label="FILE_SYSTEM_PROVIDER_ON_CONFIGURE_REQUESTED"/>
  <int value="112" label="FILE_SYSTEM_PROVIDER_ON_COPY_ENTRY_REQUESTED"/>
  <int value="113" label="FILE_SYSTEM_PROVIDER_ON_CREATE_DIRECTORY_REQUESTED"/>
  <int value="114" label="FILE_SYSTEM_PROVIDER_ON_CREATE_FILE_REQUESTED"/>
  <int value="115" label="FILE_SYSTEM_PROVIDER_ON_DELETE_ENTRY_REQUESTED"/>
  <int value="116" label="FILE_SYSTEM_PROVIDER_ON_GET_METADATA_REQUESTED"/>
  <int value="117" label="FILE_SYSTEM_PROVIDER_ON_MOUNT_REQUESTED"/>
  <int value="118" label="FILE_SYSTEM_PROVIDER_ON_MOVE_ENTRY_REQUESTED"/>
  <int value="119" label="FILE_SYSTEM_PROVIDER_ON_OPEN_FILE_REQUESTED"/>
  <int value="120" label="FILE_SYSTEM_PROVIDER_ON_READ_DIRECTORY_REQUESTED"/>
  <int value="121" label="FILE_SYSTEM_PROVIDER_ON_READ_FILE_REQUESTED"/>
  <int value="122" label="FILE_SYSTEM_PROVIDER_ON_REMOVE_WATCHER_REQUESTED"/>
  <int value="123" label="FILE_SYSTEM_PROVIDER_ON_TRUNCATE_REQUESTED"/>
  <int value="124" label="FILE_SYSTEM_PROVIDER_ON_UNMOUNT_REQUESTED"/>
  <int value="125" label="FILE_SYSTEM_PROVIDER_ON_WRITE_FILE_REQUESTED"/>
  <int value="126" label="FONT_SETTINGS_ON_DEFAULT_FIXED_FONT_SIZE_CHANGED"/>
  <int value="127" label="FONT_SETTINGS_ON_DEFAULT_FONT_SIZE_CHANGED"/>
  <int value="128" label="FONT_SETTINGS_ON_FONT_CHANGED"/>
  <int value="129" label="FONT_SETTINGS_ON_MINIMUM_FONT_SIZE_CHANGED"/>
  <int value="130" label="DELETED_GCD_PRIVATE_ON_DEVICE_REMOVED"/>
  <int value="131" label="DELETED_GCD_PRIVATE_ON_DEVICE_STATE_CHANGED"/>
  <int value="132" label="GCM_ON_MESSAGE"/>
  <int value="133" label="GCM_ON_MESSAGES_DELETED"/>
  <int value="134" label="GCM_ON_SEND_ERROR"/>
  <int value="135" label="HANGOUTS_PRIVATE_ON_HANGOUT_REQUESTED_DEPRECATED"/>
  <int value="136" label="HID_ON_DEVICE_ADDED"/>
  <int value="137" label="HID_ON_DEVICE_REMOVED"/>
  <int value="138" label="HISTORY_ON_VISITED"/>
  <int value="139" label="HISTORY_ON_VISIT_REMOVED"/>
  <int value="140" label="HOTWORD_PRIVATE_ON_DELETE_SPEAKER_MODEL"/>
  <int value="141" label="HOTWORD_PRIVATE_ON_ENABLED_CHANGED"/>
  <int value="142" label="HOTWORD_PRIVATE_ON_FINALIZE_SPEAKER_MODEL"/>
  <int value="143" label="HOTWORD_PRIVATE_ON_HOTWORD_SESSION_REQUESTED"/>
  <int value="144" label="HOTWORD_PRIVATE_ON_HOTWORD_SESSION_STOPPED"/>
  <int value="145" label="HOTWORD_PRIVATE_ON_HOTWORD_TRIGGERED"/>
  <int value="146" label="HOTWORD_PRIVATE_ON_MICROPHONE_STATE_CHANGED"/>
  <int value="147" label="HOTWORD_PRIVATE_ON_SPEAKER_MODEL_EXISTS"/>
  <int value="148" label="HOTWORD_PRIVATE_ON_SPEAKER_MODEL_SAVED"/>
  <int value="149" label="IDENTITY_ON_SIGN_IN_CHANGED"/>
  <int value="150" label="IDENTITY_PRIVATE_ON_WEB_FLOW_REQUEST"/>
  <int value="151" label="IDLE_ON_STATE_CHANGED"/>
  <int value="152" label="IMAGE_WRITER_PRIVATE_ON_DEVICE_INSERTED"/>
  <int value="153" label="IMAGE_WRITER_PRIVATE_ON_DEVICE_REMOVED"/>
  <int value="154" label="IMAGE_WRITER_PRIVATE_ON_WRITE_COMPLETE"/>
  <int value="155" label="IMAGE_WRITER_PRIVATE_ON_WRITE_ERROR"/>
  <int value="156" label="IMAGE_WRITER_PRIVATE_ON_WRITE_PROGRESS"/>
  <int value="157" label="INPUT_IME_ON_ACTIVATE"/>
  <int value="158" label="INPUT_IME_ON_BLUR"/>
  <int value="159" label="INPUT_IME_ON_CANDIDATE_CLICKED"/>
  <int value="160" label="INPUT_IME_ON_DEACTIVATED"/>
  <int value="161" label="INPUT_IME_ON_FOCUS"/>
  <int value="162" label="INPUT_IME_ON_INPUT_CONTEXT_UPDATE"/>
  <int value="163" label="INPUT_IME_ON_KEY_EVENT"/>
  <int value="164" label="INPUT_IME_ON_MENU_ITEM_ACTIVATED"/>
  <int value="165" label="INPUT_IME_ON_RESET"/>
  <int value="166" label="INPUT_IME_ON_SURROUNDING_TEXT_CHANGED"/>
  <int value="167" label="INPUT_METHOD_PRIVATE_ON_CHANGED"/>
  <int value="168" label="INPUT_METHOD_PRIVATE_ON_COMPOSITION_BOUNDS_CHANGED"/>
  <int value="169" label="INPUT_METHOD_PRIVATE_ON_DICTIONARY_CHANGED"/>
  <int value="170" label="INPUT_METHOD_PRIVATE_ON_DICTIONARY_LOADED"/>
  <int value="171" label="INSTANCE_ID_ON_TOKEN_REFRESH"/>
  <int value="172" label="DELETED_LOCATION_ON_LOCATION_ERROR"/>
  <int value="173" label="DELETED_LOCATION_ON_LOCATION_UPDATE"/>
  <int value="174" label="LOG_PRIVATE_ON_CAPTURED_EVENTS"/>
  <int value="175" label="MANAGEMENT_ON_DISABLED"/>
  <int value="176" label="MANAGEMENT_ON_ENABLED"/>
  <int value="177" label="MANAGEMENT_ON_INSTALLED"/>
  <int value="178" label="MANAGEMENT_ON_UNINSTALLED"/>
  <int value="179" label="MDNS_ON_SERVICE_LIST"/>
  <int value="180" label="MEDIA_GALLERIES_ON_GALLERY_CHANGED"/>
  <int value="181" label="MEDIA_GALLERIES_ON_SCAN_PROGRESS"/>
  <int value="182" label="MEDIA_PLAYER_PRIVATE_ON_NEXT_TRACK"/>
  <int value="183" label="MEDIA_PLAYER_PRIVATE_ON_PREV_TRACK"/>
  <int value="184" label="MEDIA_PLAYER_PRIVATE_ON_TOGGLE_PLAY_STATE"/>
  <int value="185" label="NETWORKING_CONFIG_ON_CAPTIVE_PORTAL_DETECTED"/>
  <int value="186" label="NETWORKING_PRIVATE_ON_DEVICE_STATE_LIST_CHANGED"/>
  <int value="187" label="NETWORKING_PRIVATE_ON_NETWORK_LIST_CHANGED"/>
  <int value="188" label="NETWORKING_PRIVATE_ON_NETWORKS_CHANGED"/>
  <int value="189" label="NETWORKING_PRIVATE_ON_PORTAL_DETECTION_COMPLETED"/>
  <int value="190" label="DELETED_NOTIFICATION_PROVIDER_ON_CLEARED"/>
  <int value="191" label="DELETED_NOTIFICATION_PROVIDER_ON_CREATED"/>
  <int value="192" label="DELETED_NOTIFICATION_PROVIDER_ON_UPDATED"/>
  <int value="193" label="NOTIFICATIONS_ON_BUTTON_CLICKED"/>
  <int value="194" label="NOTIFICATIONS_ON_CLICKED"/>
  <int value="195" label="NOTIFICATIONS_ON_CLOSED"/>
  <int value="196" label="NOTIFICATIONS_ON_PERMISSION_LEVEL_CHANGED"/>
  <int value="197" label="NOTIFICATIONS_ON_SHOW_SETTINGS"/>
  <int value="198" label="OMNIBOX_ON_INPUT_CANCELLED"/>
  <int value="199" label="OMNIBOX_ON_INPUT_CHANGED"/>
  <int value="200" label="OMNIBOX_ON_INPUT_ENTERED"/>
  <int value="201" label="OMNIBOX_ON_INPUT_STARTED"/>
  <int value="202" label="PAGE_ACTION_ON_CLICKED"/>
  <int value="203"
      label="PASSWORDS_PRIVATE_ON_PASSWORD_EXCEPTIONS_LIST_CHANGED"/>
  <int value="204" label="PASSWORDS_PRIVATE_ON_PLAINTEXT_PASSWORD_RETRIEVED"/>
  <int value="205" label="PASSWORDS_PRIVATE_ON_SAVED_PASSWORDS_LIST_CHANGED"/>
  <int value="206" label="PERMISSIONS_ON_ADDED"/>
  <int value="207" label="PERMISSIONS_ON_REMOVED"/>
  <int value="208" label="PRINTER_PROVIDER_ON_GET_CAPABILITY_REQUESTED"/>
  <int value="209" label="PRINTER_PROVIDER_ON_GET_PRINTERS_REQUESTED"/>
  <int value="210" label="PRINTER_PROVIDER_ON_GET_USB_PRINTER_INFO_REQUESTED"/>
  <int value="211" label="PRINTER_PROVIDER_ON_PRINT_REQUESTED"/>
  <int value="212" label="PROCESSES_ON_CREATED"/>
  <int value="213" label="PROCESSES_ON_EXITED"/>
  <int value="214" label="PROCESSES_ON_UNRESPONSIVE"/>
  <int value="215" label="PROCESSES_ON_UPDATED"/>
  <int value="216" label="PROCESSES_ON_UPDATED_WITH_MEMORY"/>
  <int value="217" label="PROXY_ON_PROXY_ERROR"/>
  <int value="218" label="RUNTIME_ON_BROWSER_UPDATE_AVAILABLE"/>
  <int value="219" label="RUNTIME_ON_CONNECT"/>
  <int value="220" label="RUNTIME_ON_CONNECT_EXTERNAL"/>
  <int value="221" label="RUNTIME_ON_INSTALLED"/>
  <int value="222" label="RUNTIME_ON_MESSAGE"/>
  <int value="223" label="RUNTIME_ON_MESSAGE_EXTERNAL"/>
  <int value="224" label="RUNTIME_ON_RESTART_REQUIRED"/>
  <int value="225" label="RUNTIME_ON_STARTUP"/>
  <int value="226" label="RUNTIME_ON_SUSPEND"/>
  <int value="227" label="RUNTIME_ON_SUSPEND_CANCELED"/>
  <int value="228" label="RUNTIME_ON_UPDATE_AVAILABLE"/>
  <int value="229" label="SEARCH_ENGINES_PRIVATE_ON_SEARCH_ENGINES_CHANGED"/>
  <int value="230" label="SERIAL_ON_RECEIVE"/>
  <int value="231" label="SERIAL_ON_RECEIVE_ERROR"/>
  <int value="232" label="SESSIONS_ON_CHANGED"/>
  <int value="233" label="SETTINGS_PRIVATE_ON_PREFS_CHANGED"/>
  <int value="234" label="SIGNED_IN_DEVICES_ON_DEVICE_INFO_CHANGE"/>
  <int value="235" label="SOCKETS_TCP_ON_RECEIVE"/>
  <int value="236" label="SOCKETS_TCP_ON_RECEIVE_ERROR"/>
  <int value="237" label="SOCKETS_TCP_SERVER_ON_ACCEPT"/>
  <int value="238" label="SOCKETS_TCP_SERVER_ON_ACCEPT_ERROR"/>
  <int value="239" label="SOCKETS_UDP_ON_RECEIVE"/>
  <int value="240" label="SOCKETS_UDP_ON_RECEIVE_ERROR"/>
  <int value="241" label="STORAGE_ON_CHANGED"/>
  <int value="242" label="STREAMS_PRIVATE_ON_EXECUTE_MIME_TYPE_HANDLER"/>
  <int value="243" label="SYNC_FILE_SYSTEM_ON_FILE_STATUS_CHANGED"/>
  <int value="244" label="SYNC_FILE_SYSTEM_ON_SERVICE_STATUS_CHANGED"/>
  <int value="245" label="SYSTEM_DISPLAY_ON_DISPLAY_CHANGED"/>
  <int value="246" label="SYSTEM_INDICATOR_ON_CLICKED"/>
  <int value="247" label="SYSTEM_PRIVATE_ON_BRIGHTNESS_CHANGED"/>
  <int value="248" label="SYSTEM_PRIVATE_ON_SCREEN_UNLOCKED"/>
  <int value="249" label="SYSTEM_PRIVATE_ON_VOLUME_CHANGED"/>
  <int value="250" label="SYSTEM_PRIVATE_ON_WOKE_UP"/>
  <int value="251" label="SYSTEM_STORAGE_ON_ATTACHED"/>
  <int value="252" label="SYSTEM_STORAGE_ON_DETACHED"/>
  <int value="253" label="TAB_CAPTURE_ON_STATUS_CHANGED"/>
  <int value="254" label="TABS_ON_ACTIVATED"/>
  <int value="255" label="TABS_ON_ACTIVE_CHANGED"/>
  <int value="256" label="TABS_ON_ATTACHED"/>
  <int value="257" label="TABS_ON_CREATED"/>
  <int value="258" label="TABS_ON_DETACHED"/>
  <int value="259" label="TABS_ON_HIGHLIGHT_CHANGED"/>
  <int value="260" label="TABS_ON_HIGHLIGHTED"/>
  <int value="261" label="TABS_ON_MOVED"/>
  <int value="262" label="TABS_ON_REMOVED"/>
  <int value="263" label="TABS_ON_REPLACED"/>
  <int value="264" label="TABS_ON_SELECTION_CHANGED"/>
  <int value="265" label="TABS_ON_UPDATED"/>
  <int value="266" label="TABS_ON_ZOOM_CHANGE"/>
  <int value="267" label="TERMINAL_PRIVATE_ON_PROCESS_OUTPUT"/>
  <int value="268" label="TEST_ON_MESSAGE"/>
  <int value="269" label="TTS_ENGINE_ON_PAUSE"/>
  <int value="270" label="TTS_ENGINE_ON_RESUME"/>
  <int value="271" label="TTS_ENGINE_ON_SPEAK"/>
  <int value="272" label="TTS_ENGINE_ON_STOP"/>
  <int value="273" label="USB_ON_DEVICE_ADDED"/>
  <int value="274" label="USB_ON_DEVICE_REMOVED"/>
  <int value="275" label="VIRTUAL_KEYBOARD_PRIVATE_ON_BOUNDS_CHANGED"/>
  <int value="276" label="VIRTUAL_KEYBOARD_PRIVATE_ON_TEXT_INPUT_BOX_FOCUSED"/>
  <int value="277" label="VPN_PROVIDER_ON_CONFIG_CREATED"/>
  <int value="278" label="VPN_PROVIDER_ON_CONFIG_REMOVED"/>
  <int value="279" label="VPN_PROVIDER_ON_PACKET_RECEIVED"/>
  <int value="280" label="VPN_PROVIDER_ON_PLATFORM_MESSAGE"/>
  <int value="281" label="VPN_PROVIDER_ON_UI_EVENT"/>
  <int value="282" label="WALLPAPER_PRIVATE_ON_WALLPAPER_CHANGED_BY_3RD_PARTY"/>
  <int value="283" label="WEB_NAVIGATION_ON_BEFORE_NAVIGATE"/>
  <int value="284" label="WEB_NAVIGATION_ON_COMMITTED"/>
  <int value="285" label="WEB_NAVIGATION_ON_COMPLETED"/>
  <int value="286" label="WEB_NAVIGATION_ON_CREATED_NAVIGATION_TARGET"/>
  <int value="287" label="WEB_NAVIGATION_ON_DOM_CONTENT_LOADED"/>
  <int value="288" label="WEB_NAVIGATION_ON_ERROR_OCCURRED"/>
  <int value="289" label="WEB_NAVIGATION_ON_HISTORY_STATE_UPDATED"/>
  <int value="290" label="WEB_NAVIGATION_ON_REFERENCE_FRAGMENT_UPDATED"/>
  <int value="291" label="WEB_NAVIGATION_ON_TAB_REPLACED"/>
  <int value="292" label="WEB_REQUEST_ON_AUTH_REQUIRED"/>
  <int value="293" label="WEB_REQUEST_ON_BEFORE_REDIRECT"/>
  <int value="294" label="WEB_REQUEST_ON_BEFORE_REQUEST"/>
  <int value="295" label="WEB_REQUEST_ON_BEFORE_SEND_HEADERS"/>
  <int value="296" label="WEB_REQUEST_ON_COMPLETED"/>
  <int value="297" label="WEB_REQUEST_ON_ERROR_OCCURRED"/>
  <int value="298" label="WEB_REQUEST_ON_HEADERS_RECEIVED"/>
  <int value="299" label="WEB_REQUEST_ON_RESPONSE_STARTED"/>
  <int value="300" label="WEB_REQUEST_ON_SEND_HEADERS"/>
  <int value="301" label="WEBRTC_AUDIO_PRIVATE_ON_SINKS_CHANGED"/>
  <int value="302" label="WEBSTORE_ON_DOWNLOAD_PROGRESS"/>
  <int value="303" label="WEBSTORE_ON_INSTALL_STAGE_CHANGED"/>
  <int value="304" label="WEBSTORE_WIDGET_PRIVATE_ON_SHOW_WIDGET"/>
  <int value="305" label="WEBVIEW_TAG_CLOSE"/>
  <int value="306" label="WEBVIEW_TAG_CONSOLEMESSAGE"/>
  <int value="307" label="WEBVIEW_TAG_CONTENTLOAD"/>
  <int value="308" label="WEBVIEW_TAG_DIALOG"/>
  <int value="309" label="WEBVIEW_TAG_EXIT"/>
  <int value="310" label="WEBVIEW_TAG_FINDUPDATE"/>
  <int value="311" label="WEBVIEW_TAG_LOADABORT"/>
  <int value="312" label="WEBVIEW_TAG_LOADCOMMIT"/>
  <int value="313" label="WEBVIEW_TAG_LOADREDIRECT"/>
  <int value="314" label="WEBVIEW_TAG_LOADSTART"/>
  <int value="315" label="WEBVIEW_TAG_LOADSTOP"/>
  <int value="316" label="WEBVIEW_TAG_NEWWINDOW"/>
  <int value="317" label="WEBVIEW_TAG_PERMISSIONREQUEST"/>
  <int value="318" label="WEBVIEW_TAG_RESPONSIVE"/>
  <int value="319" label="WEBVIEW_TAG_SIZECHANGED"/>
  <int value="320" label="WEBVIEW_TAG_UNRESPONSIVE"/>
  <int value="321" label="WEBVIEW_TAG_ZOOMCHANGE"/>
  <int value="322" label="WINDOWS_ON_CREATED"/>
  <int value="323" label="WINDOWS_ON_FOCUS_CHANGED"/>
  <int value="324" label="WINDOWS_ON_REMOVED"/>
  <int value="325" label="FILE_SYSTEM_PROVIDER_ON_EXECUTE_ACTION_REQUESTED"/>
  <int value="326" label="FILE_SYSTEM_PROVIDER_ON_GET_ACTIONS_REQUESTED"/>
  <int value="327" label="LAUNCHER_SEARCH_PROVIDER_ON_QUERY_STARTED"/>
  <int value="328" label="LAUNCHER_SEARCH_PROVIDER_ON_QUERY_ENDED"/>
  <int value="329" label="LAUNCHER_SEARCH_PROVIDER_ON_OPEN_RESULT"/>
  <int value="330" label="CHROME_WEB_VIEW_INTERNAL_ON_CLICKED"/>
  <int value="331" label="WEB_VIEW_INTERNAL_CONTEXT_MENUS"/>
  <int value="332" label="CONTEXT_MENUS"/>
  <int value="333" label="TTS_ON_EVENT"/>
  <int value="334" label="LAUNCHER_PAGE_ON_TRANSITION_CHANGED"/>
  <int value="335" label="LAUNCHER_PAGE_ON_POP_SUBPAGE"/>
  <int value="336" label="DIAL_ON_DEVICE_LIST"/>
  <int value="337" label="DIAL_ON_ERROR"/>
  <int value="338" label="CAST_CHANNEL_ON_MESSAGE"/>
  <int value="339" label="CAST_CHANNEL_ON_ERROR"/>
  <int value="340" label="SCREENLOCK_PRIVATE_ON_CHANGED"/>
  <int value="341" label="SCREENLOCK_PRIVATE_ON_AUTH_ATTEMPTED"/>
  <int value="342" label="TYPES_CHROME_SETTING_ON_CHANGE"/>
  <int value="343" label="TYPES_PRIVATE_CHROME_DIRECT_SETTING_ON_CHANGE"/>
  <int value="344" label="WEB_VIEW_INTERNAL_ON_MESSAGE"/>
  <int value="345" label="EXTENSION_VIEW_INTERNAL_ON_LOAD_COMMIT"/>
  <int value="346" label="RUNTIME_ON_REQUEST"/>
  <int value="347" label="RUNTIME_ON_REQUEST_EXTERNAL"/>
  <int value="348" label="CHROME_WEB_VIEW_INTERNAL_ON_CONTEXT_MENU_SHOW"/>
  <int value="349" label="WEB_VIEW_INTERNAL_ON_BEFORE_REQUEST"/>
  <int value="350" label="WEB_VIEW_INTERNAL_ON_BEFORE_SEND_HEADERS"/>
  <int value="351" label="WEB_VIEW_INTERNAL_ON_CLOSE"/>
  <int value="352" label="WEB_VIEW_INTERNAL_ON_COMPLETED"/>
  <int value="353" label="WEB_VIEW_INTERNAL_ON_CONSOLE_MESSAGE"/>
  <int value="354" label="WEB_VIEW_INTERNAL_ON_CONTENT_LOAD"/>
  <int value="355" label="WEB_VIEW_INTERNAL_ON_DIALOG"/>
  <int value="356" label="WEB_VIEW_INTERNAL_ON_DROP_LINK"/>
  <int value="357" label="WEB_VIEW_INTERNAL_ON_EXIT"/>
  <int value="358" label="WEB_VIEW_INTERNAL_ON_EXIT_FULLSCREEN"/>
  <int value="359" label="WEB_VIEW_INTERNAL_ON_FIND_REPLY"/>
  <int value="360" label="WEB_VIEW_INTERNAL_ON_FRAME_NAME_CHANGED"/>
  <int value="361" label="WEB_VIEW_INTERNAL_ON_HEADERS_RECEIVED"/>
  <int value="362" label="WEB_VIEW_INTERNAL_ON_LOAD_ABORT"/>
  <int value="363" label="WEB_VIEW_INTERNAL_ON_LOAD_COMMIT"/>
  <int value="364" label="WEB_VIEW_INTERNAL_ON_LOAD_PROGRESS"/>
  <int value="365" label="WEB_VIEW_INTERNAL_ON_LOAD_REDIRECT"/>
  <int value="366" label="WEB_VIEW_INTERNAL_ON_LOAD_START"/>
  <int value="367" label="WEB_VIEW_INTERNAL_ON_LOAD_STOP"/>
  <int value="368" label="WEB_VIEW_INTERNAL_ON_NEW_WINDOW"/>
  <int value="369" label="WEB_VIEW_INTERNAL_ON_PERMISSION_REQUEST"/>
  <int value="370" label="WEB_VIEW_INTERNAL_ON_RESPONSE_STARTED"/>
  <int value="371" label="WEB_VIEW_INTERNAL_ON_RESPONSIVE"/>
  <int value="372" label="WEB_VIEW_INTERNAL_ON_SIZE_CHANGED"/>
  <int value="373" label="WEB_VIEW_INTERNAL_ON_UNRESPONSIVE"/>
  <int value="374" label="WEB_VIEW_INTERNAL_ON_ZOOM_CHANGE"/>
  <int value="375" label="GUEST_VIEW_INTERNAL_ON_RESIZE"/>
  <int value="376" label="LANGUAGE_SETTINGS_PRIVATE_ON_INPUT_METHOD_ADDED"/>
  <int value="377" label="LANGUAGE_SETTINGS_PRIVATE_ON_INPUT_METHOD_REMOVED"/>
  <int value="378"
      label="LANGUAGE_SETTINGS_PRIVATE_ON_SPELLCHECK_DICTIONARIES_CHANGED"/>
  <int value="379"
      label="LANGUAGE_SETTINGS_PRIVATE_ON_CUSTOM_DICTIONARY_CHANGED"/>
  <int value="380" label="CAST_DEVICES_PRIVATE_ON_UPDATE_DEVICES_REQUESTED"/>
  <int value="381" label="CAST_DEVICES_PRIVATE_ON_START_CAST"/>
  <int value="382" label="CAST_DEVICES_PRIVATE_ON_STOP_CAST"/>
  <int value="383" label="CERTIFICATEPROVIDER_ON_CERTIFICATES_REQUESTED"/>
  <int value="384" label="CERTIFICATEPROVIDER_ON_SIGN_DIGEST_REQUESTED"/>
  <int value="385" label="WEB_VIEW_INTERNAL_ON_AUTH_REQUIRED"/>
  <int value="386" label="WEB_VIEW_INTERNAL_ON_BEFORE_REDIRECT"/>
  <int value="387" label="WEB_VIEW_INTERNAL_ON_ERROR_OCCURRED"/>
  <int value="388" label="WEB_VIEW_INTERNAL_ON_SEND_HEADERS"/>
  <int value="389" label="EASY_UNLOCK_PRIVATE_ON_CONNECTION_STATUS_CHANGED"/>
  <int value="390" label="EASY_UNLOCK_PRIVATE_ON_DATA_RECEIVED"/>
  <int value="391" label="EASY_UNLOCK_PRIVATE_ON_SEND_COMPLETED"/>
  <int value="392" label="DISPLAY_SOURCE_ON_SINKS_UPDATED"/>
  <int value="393" label="INPUT_IME_ON_COMPOSITION_BOUNDS_CHANGED"/>
  <int value="394" label="INPUT_METHOD_PRIVATE_ON_IME_MENU_ACTIVATION_CHANGED"/>
  <int value="395" label="INPUT_METHOD_PRIVATE_ON_IME_MENU_LIST_CHANGED"/>
  <int value="396" label="INPUT_METHOD_PRIVATE_ON_IME_MENU_ITEMS_CHANGED"/>
  <int value="397" label="BLUETOOTH_LOW_ENERGY_ON_CHARACTERISTIC_READ_REQUEST"/>
  <int value="398"
      label="BLUETOOTH_LOW_ENERGY_ON_CHARACTERISTIC_WRITE_REQUEST"/>
  <int value="399" label="BLUETOOTH_LOW_ENERGY_ON_DESCRIPTOR_READ_REQUEST"/>
  <int value="400" label="BLUETOOTH_LOW_ENERGY_ON_DESCRIPTOR_WRITE_REQUEST"/>
  <int value="401" label="ACCESSIBILITY_PRIVATE_ON_ACCESSIBILITY_GESTURE"/>
  <int value="402" label="QUICK_UNLOCK_PRIVATE_ON_ACTIVE_MODES_CHANGED"/>
  <int value="403" label="CLIPBOARD_ON_CLIPBOARD_DATA_CHANGED"/>
  <int value="404" label="VIRTUAL_KEYBOARD_PRIVATE_ON_KEYBOARD_CLOSED"/>
  <int value="405" label="FILE_MANAGER_PRIVATE_ON_APPS_UPDATED"/>
  <int value="406" label="ACCESSIBILITY_PRIVATE_ON_TWO_FINGER_TOUCH_START"/>
  <int value="407" label="ACCESSIBILITY_PRIVATE_ON_TWO_FINGER_TOUCH_STOP"/>
</enum>

<enum name="ExtensionFileWriteResult" type="int">
  <obsolete>
    Deprecated 10/2013.
  </obsolete>
  <int value="0" label="SUCCESS"/>
  <int value="1" label="CANT_CREATE_TEMP_CRX"/>
  <int value="2" label="CANT_WRITE_CRX_DATA"/>
  <int value="3" label="CANT_READ_CRX_FILE"/>
</enum>

<enum name="ExtensionFromWebstoreInconcistencyEnum" type="int">
  <int value="0" label="Non-webstore update URL"/>
  <int value="1" label="External install location"/>
</enum>

<enum name="ExtensionFunctions" type="int">
<!-- Generated from extensions/browser/extension_function_histogram_value.h -->

  <int value="0" label="UNKNOWN"/>
  <int value="1" label="WEBNAVIGATION_GETALLFRAMES"/>
  <int value="2" label="BROWSINGDATA_REMOVEWEBSQL"/>
  <int value="3" label="ALARMS_CREATE"/>
  <int value="4" label="FILEMANAGERPRIVATEINTERNAL_REMOVEFILEWATCH"/>
  <int value="5" label="COOKIES_GET"/>
  <int value="6" label="FONTSETTINGS_GETMINIMUMFONTSIZE"/>
  <int value="7" label="CHROMEOSINFOPRIVATE_GET"/>
  <int value="8" label="BOOKMARKMANAGERPRIVATE_CUT"/>
  <int value="9" label="TABS_CAPTUREVISIBLETAB"/>
  <int value="10" label="MANAGEMENT_SETENABLED"/>
  <int value="11" label="HISTORY_DELETEALL"/>
  <int value="12" label="STORAGE_GET"/>
  <int value="13" label="SOCKET_SETKEEPALIVE"/>
  <int value="14" label="DOWNLOADS_CANCEL"/>
  <int value="15" label="BOOKMARKS_CREATE"/>
  <int value="16" label="BOOKMARKS_UPDATE"/>
  <int value="17" label="FILEMANAGERPRIVATE_GETDRIVEFILES"/>
  <int value="18" label="TERMINALPRIVATE_ONTERMINALRESIZE"/>
  <int value="19" label="DELETED_FILEMANAGERPRIVATE_REQUESTDIRECTORYREFRESH"/>
  <int value="20" label="BLUETOOTH_GETADAPTERSTATE"/>
  <int value="21" label="FILEMANAGERPRIVATEINTERNAL_CANCELFILETRANSFERS"/>
  <int value="22" label="FILEMANAGERPRIVATEINTERNAL_PINDRIVEFILE"/>
  <int value="23" label="SOCKET_WRITE"/>
  <int value="24" label="OMNIBOX_SETDEFAULTSUGGESTION"/>
  <int value="25" label="TTS_SPEAK"/>
  <int value="26" label="WALLPAPERPRIVATE_RESTOREMINIMIZEDWINDOWS"/>
  <int value="27" label="BROWSINGDATA_REMOVEHISTORY"/>
  <int value="28" label="DELETED_FILEMANAGERPRIVATE_ISFULLSCREEN"/>
  <int value="29" label="AUTOTESTPRIVATE_LOGOUT"/>
  <int value="30" label="EXPERIMENTAL_HISTORY_GETMOSTVISITED"/>
  <int value="31" label="DELETED_BLUETOOTH_DISCONNECT"/>
  <int value="32" label="DELETED_BLUETOOTH_SETOUTOFBANDPAIRINGDATA"/>
  <int value="33" label="BOOKMARKMANAGERPRIVATE_CANPASTE"/>
  <int value="34" label="AUTOTESTPRIVATE_RESTART"/>
  <int value="35" label="USB_CLAIMINTERFACE"/>
  <int value="36" label="MEDIAPLAYERPRIVATE_SETWINDOWHEIGHT"/>
  <int value="37" label="DELETED_EXPERIMENTAL_PROCESSES_GETPROCESSINFO"/>
  <int value="38" label="HISTORY_GETVISITS"/>
  <int value="39" label="SOCKET_BIND"/>
  <int value="40" label="TABS_MOVE"/>
  <int value="41" label="SOCKET_DISCONNECT"/>
  <int value="42" label="FILESYSTEM_GETWRITABLEENTRY"/>
  <int value="43" label="SYNCFILESYSTEM_REQUESTFILESYSTEM"/>
  <int value="44" label="COMMANDS_GETALL"/>
  <int value="45" label="EXPERIMENTAL_DISCOVERY_REMOVESUGGESTION"/>
  <int value="46" label="VIRTUALKEYBOARDPRIVATE_SENDKEYEVENT"/>
  <int value="47" label="BOOKMARKMANAGERPRIVATE_GETSUBTREE"/>
  <int value="48" label="DELETED_EXPERIMENTAL_RLZ_RECORDPRODUCTEVENT"/>
  <int value="49" label="BOOKMARKS_GETRECENT"/>
  <int value="50" label="APP_CURRENTWINDOWINTERNAL_SETBOUNDS"/>
  <int value="51" label="CLOUDPRINTPRIVATE_SETUPCONNECTOR"/>
  <int value="52" label="SERIAL_SETCONTROLSIGNALS"/>
  <int value="53" label="DELETED_FILEMANAGERPRIVATE_SETLASTMODIFIED"/>
  <int value="54" label="IDLE_SETDETECTIONINTERVAL"/>
  <int value="55" label="FILEMANAGERPRIVATEINTERNAL_GETFILETASKS"/>
  <int value="56" label="WEBSTOREPRIVATE_GETSTORELOGIN"/>
  <int value="57" label="SYSTEMPRIVATE_GETINCOGNITOMODEAVAILABILITY"/>
  <int value="58" label="IDLTEST_SENDARRAYBUFFERVIEW"/>
  <int value="59" label="SOCKET_SETNODELAY"/>
  <int value="60" label="APP_CURRENTWINDOWINTERNAL_SHOW"/>
  <int value="61" label="WEBSTOREPRIVATE_GETBROWSERLOGIN"/>
  <int value="62" label="EXPERIMENTAL_IDENTITY_GETAUTHTOKEN"/>
  <int value="63" label="DELETED_SYSTEMINFO_DISPLAY_GETDISPLAYINFO"/>
  <int value="64" label="BROWSINGDATA_REMOVEPLUGINDATA"/>
  <int value="65" label="SOCKET_LISTEN"/>
  <int value="66" label="MEDIAGALLERIES_GETMEDIAFILESYSTEMS"/>
  <int value="67" label="DOWNLOADS_OPEN"/>
  <int value="68" label="TABS_EXECUTESCRIPT"/>
  <int value="69" label="SYNCFILESYSTEM_GETUSAGEANDQUOTA"/>
  <int value="70" label="INPUTMETHODPRIVATE_GET"/>
  <int value="71" label="USB_CLOSEDEVICE"/>
  <int value="72" label="TTS_STOP"/>
  <int value="73" label="DELETED_SERIAL_GETPORTS"/>
  <int value="74" label="DELETED_FILEMANAGERPRIVATE_CLEARDRIVECACHE"/>
  <int value="75" label="SERIAL_GETCONTROLSIGNALS"/>
  <int value="76" label="DELETED_DEVELOPERPRIVATE_ENABLE"/>
  <int value="77" label="FILEMANAGERPRIVATEINTERNAL_GETENTRYPROPERTIES"/>
  <int value="78" label="USB_FINDDEVICES"/>
  <int value="79" label="BOOKMARKMANAGERPRIVATE_DROP"/>
  <int value="80" label="DELETED_FILEMANAGERPRIVATE_GETFILETRANSFERS"/>
  <int value="81" label="INPUT_IME_SETMENUITEMS"/>
  <int value="82" label="BOOKMARKS_EXPORT"/>
  <int value="83" label="HISTORY_SEARCH"/>
  <int value="84" label="TTSENGINE_SENDTTSEVENT"/>
  <int value="85" label="ACCESSIBILITY_PRIVATE_GETALERTSFORTAB"/>
  <int value="86" label="BOOKMARKS_IMPORT"/>
  <int value="87" label="SYNCFILESYSTEM_DELETEFILESYSTEM"/>
  <int value="88" label="DEBUGGER_SENDCOMMAND"/>
  <int value="89" label="DEBUGGER_DETACH"/>
  <int value="90" label="METRICSPRIVATE_RECORDSMALLCOUNT"/>
  <int value="91" label="APP_CURRENTWINDOWINTERNAL_MINIMIZE"/>
  <int value="92" label="DEVELOPERPRIVATE_AUTOUPDATE"/>
  <int value="93" label="DNS_RESOLVE"/>
  <int value="94" label="DELETED_EXPERIMENTAL_SYSTEMINFO_MEMORY_GET"/>
  <int value="95" label="HISTORY_ADDURL"/>
  <int value="96" label="TABS_GET"/>
  <int value="97" label="BROWSERACTION_SETBADGETEXT"/>
  <int value="98" label="TABS_RELOAD"/>
  <int value="99" label="WINDOWS_CREATE"/>
  <int value="100" label="DEVELOPERPRIVATE_LOADUNPACKED"/>
  <int value="101" label="DELETED_DOWNLOADS_SETDESTINATION"/>
  <int value="102" label="DELETED_EXPERIMENTAL_PROCESSES_GETPROCESSIDFORTAB"/>
  <int value="103" label="BOOKMARKS_GETCHILDREN"/>
  <int value="104" label="BROWSERACTION_GETTITLE"/>
  <int value="105" label="TERMINALPRIVATE_OPENTERMINALPROCESS"/>
  <int value="106" label="DELETED_SERIAL_CLOSE"/>
  <int value="107" label="CONTEXTMENUS_REMOVE"/>
  <int value="108" label="FILESYSTEM_REQUESTFILESYSTEM"/>
  <int value="109" label="ECHOPRIVATE_GETREGISTRATIONCODE"/>
  <int value="110" label="TABS_GETCURRENT"/>
  <int value="111" label="FONTSETTINGS_CLEARDEFAULTFIXEDFONTSIZE"/>
  <int value="112" label="MEDIAPLAYERPRIVATE_CLOSEWINDOW"/>
  <int value="113" label="WEBREQUESTINTERNAL_ADDEVENTLISTENER"/>
  <int value="114" label="CLOUDPRINTPRIVATE_GETPRINTERS"/>
  <int value="115" label="STORAGE_SET"/>
  <int value="116" label="FONTSETTINGS_GETDEFAULTFONTSIZE"/>
  <int value="117" label="EXTENSION_SETUPDATEURLDATA"/>
  <int value="118" label="DELETED_SERIAL_WRITE"/>
  <int value="119" label="IDLE_QUERYSTATE"/>
  <int value="120" label="DELETED_EXPERIMENTAL_RLZ_GETACCESSPOINTRLZ"/>
  <int value="121" label="WEBSTOREPRIVATE_SETSTORELOGIN"/>
  <int value="122" label="DELETED_PAGEACTIONS_ENABLEFORTAB"/>
  <int value="123" label="COOKIES_SET"/>
  <int value="124" label="CONTENTSETTINGS_SET"/>
  <int value="125" label="CONTEXTMENUS_REMOVEALL"/>
  <int value="126" label="TABS_INSERTCSS"/>
  <int value="127" label="WEBREQUEST_HANDLERBEHAVIORCHANGED"/>
  <int value="128" label="INPUT_IME_SETCURSORPOSITION"/>
  <int value="129" label="OMNIBOX_SENDSUGGESTIONS"/>
  <int value="130" label="SYSTEMINDICATOR_ENABLE"/>
  <int value="131" label="EVENTS_GETRULES"/>
  <int value="132" label="BOOKMARKMANAGERPRIVATE_COPY"/>
  <int value="133" label="SOCKET_RECVFROM"/>
  <int value="134" label="TABS_GETALLINWINDOW"/>
  <int value="135" label="CONTEXTMENUS_UPDATE"/>
  <int value="136" label="BOOKMARKS_SEARCH"/>
  <int value="137" label="EXPERIMENTAL_APP_CLEARALLNOTIFICATIONS"/>
  <int value="138" label="DELETED_BLUETOOTH_GETLOCALOUTOFBANDPAIRINGDATA"/>
  <int value="139" label="SYSTEMPRIVATE_GETUPDATESTATUS"/>
  <int value="140" label="FONTSETTINGS_CLEARMINIMUMFONTSIZE"/>
  <int value="141" label="DELETED_FILEMANAGERPRIVATE_GETFILELOCATIONS"/>
  <int value="142" label="EXPERIMENTAL_DISCOVERY_SUGGEST"/>
  <int value="143" label="FILEMANAGERPRIVATEINTERNAL_SETDEFAULTTASK"/>
  <int value="144" label="BROWSERACTION_GETBADGETEXT"/>
  <int value="145" label="APP_CURRENTWINDOWINTERNAL_HIDE"/>
  <int value="146" label="SOCKET_CONNECT"/>
  <int value="147" label="BOOKMARKS_GETSUBTREE"/>
  <int value="148" label="HISTORY_DELETEURL"/>
  <int value="149"
      label="DELETED_EXPERIMENTAL_MEDIAGALLERIES_ASSEMBLEMEDIAFILE"/>
  <int value="150" label="BOOKMARKMANAGERPRIVATE_STARTDRAG"/>
  <int value="151" label="BROWSINGDATA_REMOVEPASSWORDS"/>
  <int value="152" label="DOWNLOADS_DRAG"/>
  <int value="153" label="INPUT_IME_SETCOMPOSITION"/>
  <int value="154" label="METRICSPRIVATE_RECORDUSERACTION"/>
  <int value="155" label="USB_RELEASEINTERFACE"/>
  <int value="156" label="PAGEACTION_GETPOPUP"/>
  <int value="157" label="DELETED_SCRIPTBADGE_GETATTENTION"/>
  <int value="158" label="FONTSETTINGS_GETFONTLIST"/>
  <int value="159" label="PERMISSIONS_CONTAINS"/>
  <int value="160" label="DELETED_SCRIPTBADGE_GETPOPUP"/>
  <int value="161" label="ACCESSIBILITY_PRIVATE_GETFOCUSEDCONTROL"/>
  <int value="162" label="DEVELOPERPRIVATE_GETSTRINGS"/>
  <int value="163" label="METRICSPRIVATE_RECORDMEDIUMCOUNT"/>
  <int value="164" label="MANAGEMENT_GET"/>
  <int value="165" label="PERMISSIONS_GETALL"/>
  <int value="166" label="DOWNLOADS_SHOW"/>
  <int value="167" label="DELETED_EXPERIMENTAL_RLZ_CLEARPRODUCTSTATE"/>
  <int value="168" label="TABS_REMOVE"/>
  <int value="169" label="MANAGEMENT_GETPERMISSIONWARNINGSBYID"/>
  <int value="170" label="WINDOWS_GET"/>
  <int value="171" label="FILEMANAGERPRIVATEINTERNAL_EXECUTETASK"/>
  <int value="172" label="TTS_GETVOICES"/>
  <int value="173" label="MANAGEMENT_GETALL"/>
  <int value="174" label="MANAGEMENT_GETPERMISSIONWARNINGSBYMANIFEST"/>
  <int value="175" label="APP_CURRENTWINDOWINTERNAL_CLEARATTENTION"/>
  <int value="176" label="AUTOTESTPRIVATE_SHUTDOWN"/>
  <int value="177" label="FONTSETTINGS_CLEARDEFAULTFONTSIZE"/>
  <int value="178" label="BOOKMARKS_GETTREE"/>
  <int value="179" label="FILEMANAGERPRIVATE_SELECTFILES"/>
  <int value="180" label="RUNTIME_GETBACKGROUNDPAGE"/>
  <int value="181" label="DELETED_EXPERIMENTAL_RECORD_REPLAYURLS"/>
  <int value="182" label="WEBSTOREPRIVATE_COMPLETEINSTALL"/>
  <int value="183" label="DELETED_EXPERIMENTAL_SPEECHINPUT_START"/>
  <int value="184" label="COOKIES_GETALL"/>
  <int value="185" label="DOWNLOADS_GETFILEICON"/>
  <int value="186" label="PAGEACTION_GETTITLE"/>
  <int value="187" label="BROWSINGDATA_REMOVE"/>
  <int value="188" label="DELETED_SERIAL_OPEN"/>
  <int value="189" label="FILESYSTEM_GETDISPLAYPATH"/>
  <int value="190" label="FILEMANAGERPRIVATE_FORMATVOLUME"/>
  <int value="191" label="BOOKMARKS_GET"/>
  <int value="192" label="DELETED_MANAGEDMODEPRIVATE_GET"/>
  <int value="193" label="ALARMS_CLEAR"/>
  <int value="194" label="SYNCFILESYSTEM_GETFILESYNCSTATUS"/>
  <int value="195" label="SOCKET_GETINFO"/>
  <int value="196" label="WEBSTOREPRIVATE_INSTALLBUNDLE"/>
  <int value="197" label="BROWSERACTION_ENABLE"/>
  <int value="198" label="METRICSPRIVATE_RECORDMEDIUMTIME"/>
  <int value="199" label="PAGEACTION_SETTITLE"/>
  <int value="200" label="CLOUDPRINTPRIVATE_GETHOSTNAME"/>
  <int value="201" label="CONTENTSETTINGS_GETRESOURCEIDENTIFIERS"/>
  <int value="202" label="SOCKET_CREATE"/>
  <int value="203" label="DEVELOPERPRIVATE_RELOAD"/>
  <int value="204" label="FILEMANAGERPRIVATE_GETVOLUMEMETADATALIST"/>
  <int value="205" label="APP_RUNTIME_POSTINTENTRESPONSE"/>
  <int value="206" label="DELETED_MANAGEDMODEPRIVATE_SETPOLICY"/>
  <int value="207" label="WEBSTOREPRIVATE_BEGININSTALLWITHMANIFEST3"/>
  <int value="208" label="WALLPAPERPRIVATE_SETWALLPAPER"/>
  <int value="209" label="USB_CONTROLTRANSFER"/>
  <int value="210" label="DELETED_EXPERIMENTAL_SPEECHINPUT_STOP"/>
  <int value="211" label="USB_BULKTRANSFER"/>
  <int value="212" label="DELETED_FILEMANAGERPRIVATE_GETVOLUMEMETADATA"/>
  <int value="213" label="PAGECAPTURE_SAVEASMHTML"/>
  <int value="214" label="EXTENSION_ISALLOWEDINCOGNITOACCESS"/>
  <int value="215" label="BROWSINGDATA_REMOVEAPPCACHE"/>
  <int value="216" label="APP_CURRENTWINDOWINTERNAL_DRAWATTENTION"/>
  <int value="217" label="METRICSPRIVATE_RECORDCOUNT"/>
  <int value="218" label="USB_INTERRUPTTRANSFER"/>
  <int value="219" label="TYPES_CHROMESETTING_CLEAR"/>
  <int value="220" label="INPUT_IME_COMMITTEXT"/>
  <int value="221" label="IDLTEST_SENDARRAYBUFFER"/>
  <int value="222" label="WALLPAPERPRIVATE_SETWALLPAPERIFEXISTS"/>
  <int value="223" label="SOCKET_ACCEPT"/>
  <int value="224" label="WEBNAVIGATION_GETFRAME"/>
  <int value="225" label="EXPERIMENTAL_POWER_RELEASEKEEPAWAKE"/>
  <int value="226" label="APP_CURRENTWINDOWINTERNAL_SETICON"/>
  <int value="227" label="PUSHMESSAGING_GETCHANNELID"/>
  <int value="228" label="EXPERIMENTAL_INFOBARS_SHOW"/>
  <int value="229" label="INPUT_IME_SETCANDIDATEWINDOWPROPERTIES"/>
  <int value="230" label="METRICSPRIVATE_RECORDPERCENTAGE"/>
  <int value="231" label="TYPES_CHROMESETTING_GET"/>
  <int value="232" label="WINDOWS_GETLASTFOCUSED"/>
  <int value="233" label="DELETED_MANAGEDMODEPRIVATE_GETPOLICY"/>
  <int value="234" label="STORAGE_CLEAR"/>
  <int value="235" label="STORAGE_GETBYTESINUSE"/>
  <int value="236" label="TABS_QUERY"/>
  <int value="237" label="PAGEACTION_SETPOPUP"/>
  <int value="238" label="DEVELOPERPRIVATE_INSPECT"/>
  <int value="239" label="DOWNLOADS_SEARCH"/>
  <int value="240" label="FONTSETTINGS_CLEARFONT"/>
  <int value="241" label="WINDOWS_UPDATE"/>
  <int value="242" label="DELETED_BOOKMARKMANAGERPRIVATE_CANOPENNEWWINDOWS"/>
  <int value="243" label="SERIAL_FLUSH"/>
  <int value="244" label="BROWSERACTION_SETTITLE"/>
  <int value="245" label="BOOKMARKMANAGERPRIVATE_CANEDIT"/>
  <int value="246" label="WALLPAPERPRIVATE_SETCUSTOMWALLPAPER"/>
  <int value="247" label="BOOKMARKS_REMOVE"/>
  <int value="248" label="INPUT_IME_SETCANDIDATES"/>
  <int value="249" label="TERMINALPRIVATE_CLOSETERMINALPROCESS"/>
  <int value="250" label="HISTORY_DELETERANGE"/>
  <int value="251" label="IDLTEST_GETARRAYBUFFER"/>
  <int value="252" label="TERMINALPRIVATE_SENDINPUT"/>
  <int value="253" label="TABS_HIGHLIGHT"/>
  <int value="254" label="BLUETOOTH_STARTDISCOVERY"/>
  <int value="255" label="FILEMANAGERPRIVATE_SELECTFILE"/>
  <int value="256" label="WINDOWS_GETCURRENT"/>
  <int value="257" label="DEBUGGER_ATTACH"/>
  <int value="258" label="WALLPAPERPRIVATE_SAVETHUMBNAIL"/>
  <int value="259" label="INPUT_IME_KEYEVENTHANDLED"/>
  <int value="260" label="FONTSETTINGS_SETDEFAULTFONTSIZE"/>
  <int value="261" label="RUNTIME_REQUESTUPDATECHECK"/>
  <int value="262" label="PAGEACTION_SETICON"/>
  <int value="263" label="BROWSERACTION_SETBADGEBACKGROUNDCOLOR"/>
  <int value="264" label="DEVELOPERPRIVATE_GETITEMSINFO"/>
  <int value="265" label="BLUETOOTH_STOPDISCOVERY"/>
  <int value="266" label="COOKIES_REMOVE"/>
  <int value="267" label="DELETED_EXPERIMENTAL_RLZ_SENDFINANCIALPING"/>
  <int value="268" label="TABCAPTURE_GETCAPTUREDTABS"/>
  <int value="269" label="WINDOWS_REMOVE"/>
  <int value="270" label="WALLPAPERPRIVATE_GETOFFLINEWALLPAPERLIST"/>
  <int value="271" label="BROWSERACTION_GETBADGEBACKGROUNDCOLOR"/>
  <int value="272" label="DELETED_PAGEACTIONS_DISABLEFORTAB"/>
  <int value="273" label="DELETED_DEVELOPERPRIVATE_ALLOWFILEACCESS"/>
  <int value="274" label="FILEMANAGERPRIVATE_REMOVEMOUNT"/>
  <int value="275" label="DELETED_BLUETOOTH_CONNECT"/>
  <int value="276" label="TABCAPTURE_CAPTURE"/>
  <int value="277" label="NOTIFICATIONS_CREATE"/>
  <int value="278" label="TABS_DUPLICATE"/>
  <int value="279" label="DELETED_BLUETOOTH_WRITE"/>
  <int value="280" label="PAGEACTION_SHOW"/>
  <int value="281" label="WALLPAPERPRIVATE_GETTHUMBNAIL"/>
  <int value="282" label="DOWNLOADS_PAUSE"/>
  <int value="283" label="PERMISSIONS_REQUEST"/>
  <int value="284" label="TOPSITES_GET"/>
  <int value="285" label="BROWSINGDATA_REMOVEDOWNLOADS"/>
  <int value="286" label="BROWSINGDATA_REMOVELOCALSTORAGE"/>
  <int value="287" label="FILEBROWSERHANDLERINTERNAL_SELECTFILE"/>
  <int value="288" label="INPUT_IME_UPDATEMENUITEMS"/>
  <int value="289" label="FILEMANAGERPRIVATE_GETSTRINGS"/>
  <int value="290" label="CONTENTSETTINGS_GET"/>
  <int value="291" label="FONTSETTINGS_SETDEFAULTFIXEDFONTSIZE"/>
  <int value="292" label="EXPERIMENTAL_APP_NOTIFY"/>
  <int value="293" label="METRICSPRIVATE_RECORDLONGTIME"/>
  <int value="294" label="SOCKET_READ"/>
  <int value="295" label="DELETED_EXPERIMENTAL_PROCESSES_TERMINATE"/>
  <int value="296" label="METRICSPRIVATE_RECORDTIME"/>
  <int value="297" label="BOOKMARKMANAGERPRIVATE_GETSTRINGS"/>
  <int value="298" label="USB_ISOCHRONOUSTRANSFER"/>
  <int value="299" label="PERMISSIONS_REMOVE"/>
  <int value="300" label="MANAGEMENT_UNINSTALL"/>
  <int value="301" label="I18N_GETACCEPTLANGUAGES"/>
  <int value="302" label="MANAGEMENT_LAUNCHAPP"/>
  <int value="303" label="INPUT_IME_CLEARCOMPOSITION"/>
  <int value="304" label="ALARMS_GETALL"/>
  <int value="305" label="DIAL_DISCOVERNOW"/>
  <int value="306" label="TYPES_CHROMESETTING_SET"/>
  <int value="307" label="BROWSERACTION_SETICON"/>
  <int value="308" label="ACCESSIBILITY_PRIVATE_SETACCESSIBILITYENABLED"/>
  <int value="309" label="DELETED_FILEMANAGERPRIVATE_VIEWFILES"/>
  <int value="310" label="DELETED_BLUETOOTH_GETSERVICES"/>
  <int value="311" label="TABS_UPDATE"/>
  <int value="312" label="BROWSINGDATA_REMOVEFORMDATA"/>
  <int value="313" label="DELETED_FILEMANAGERPRIVATE_RELOADDRIVE"/>
  <int value="314" label="ALARMS_GET"/>
  <int value="315" label="BROWSINGDATA_REMOVEINDEXEDDB"/>
  <int value="316" label="FILEMANAGERPRIVATEINTERNAL_ADDFILEWATCH"/>
  <int value="317" label="CONTENTSETTINGS_CLEAR"/>
  <int value="318" label="FILEMANAGERPRIVATE_GETPREFERENCES"/>
  <int value="319" label="BOOKMARKMANAGERPRIVATE_PASTE"/>
  <int value="320" label="FILESYSTEM_ISWRITABLEENTRY"/>
  <int value="321" label="USB_SETINTERFACEALTERNATESETTING"/>
  <int value="322" label="FONTSETTINGS_SETMINIMUMFONTSIZE"/>
  <int value="323" label="BROWSERACTION_GETPOPUP"/>
  <int value="324" label="SOCKET_DESTROY"/>
  <int value="325" label="BLUETOOTH_GETDEVICES"/>
  <int value="326" label="ALARMS_CLEARALL"/>
  <int value="327" label="FONTSETTINGS_GETDEFAULTFIXEDFONTSIZE"/>
  <int value="328" label="FILEMANAGERPRIVATEINTERNAL_ZIPSELECTION"/>
  <int value="329" label="SYSTEMINDICATOR_DISABLE"/>
  <int value="330" label="DELETED_SCRIPTBADGE_SETPOPUP"/>
  <int value="331" label="EXTENSION_ISALLOWEDFILESCHEMEACCESS"/>
  <int value="332" label="EXPERIMENTAL_IDENTITY_LAUNCHWEBAUTHFLOW"/>
  <int value="333" label="FILEMANAGERPRIVATE_GETDRIVECONNECTIONSTATE"/>
  <int value="334" label="TABS_DETECTLANGUAGE"/>
  <int value="335" label="METRICSPRIVATE_RECORDVALUE"/>
  <int value="336" label="BOOKMARKMANAGERPRIVATE_SORTCHILDREN"/>
  <int value="337" label="DELETED_SERIAL_READ"/>
  <int value="338" label="APP_CURRENTWINDOWINTERNAL_MAXIMIZE"/>
  <int value="339" label="EXPERIMENTAL_DISCOVERY_CLEARALLSUGGESTIONS"/>
  <int value="340" label="DELETED_MANAGEDMODEPRIVATE_ENTER"/>
  <int value="341" label="DELETED_FILEMANAGERPRIVATE_TRANSFERFILE"/>
  <int value="342" label="BROWSERACTION_SETPOPUP"/>
  <int value="343" label="TABS_GETSELECTED"/>
  <int value="344" label="FONTSETTINGS_GETFONT"/>
  <int value="345" label="DELETED_BLUETOOTH_READ"/>
  <int value="346" label="WEBREQUESTINTERNAL_EVENTHANDLED"/>
  <int value="347" label="EVENTS_ADDRULES"/>
  <int value="348" label="CONTEXTMENUS_CREATE"/>
  <int value="349" label="MEDIAPLAYERPRIVATE_GETPLAYLIST"/>
  <int value="350" label="DOWNLOADS_ERASE"/>
  <int value="351" label="DELETED_EXPERIMENTAL_RECORD_CAPTUREURLS"/>
  <int value="352" label="TTS_ISSPEAKING"/>
  <int value="353" label="BOOKMARKS_REMOVETREE"/>
  <int value="354" label="FILEMANAGERPRIVATE_SEARCHDRIVE"/>
  <int value="355" label="DELETED_EXPERIMENTAL_SYSTEMINFO_CPU_GET"/>
  <int value="356" label="FILEMANAGERPRIVATE_SETPREFERENCES"/>
  <int value="357" label="FONTSETTINGS_SETFONT"/>
  <int value="358" label="SOCKET_GETNETWORKLIST"/>
  <int value="359" label="BOOKMARKS_MOVE"/>
  <int value="360" label="WALLPAPERPRIVATE_MINIMIZEINACTIVEWINDOWS"/>
  <int value="361" label="STORAGE_REMOVE"/>
  <int value="362" label="AUTOTESTPRIVATE_LOGINSTATUS"/>
  <int value="363" label="TABS_CREATE"/>
  <int value="364" label="FILEMANAGERPRIVATE_CANCELDIALOG"/>
  <int value="365" label="BROWSINGDATA_REMOVECOOKIES"/>
  <int value="366" label="FILESYSTEM_CHOOSEENTRY"/>
  <int value="367" label="MEDIAPLAYERPRIVATE_PLAY"/>
  <int value="368" label="WEBSTOREPRIVATE_GETWEBGLSTATUS"/>
  <int value="369" label="SOCKET_SENDTO"/>
  <int value="370" label="BROWSINGDATA_REMOVEFILESYSTEMS"/>
  <int value="371" label="WALLPAPERPRIVATE_GETSTRINGS"/>
  <int value="372" label="BROWSINGDATA_REMOVECACHE"/>
  <int value="373" label="BOOKMARKMANAGERPRIVATE_RECORDLAUNCH"/>
  <int value="374" label="BROWSERACTION_DISABLE"/>
  <int value="375" label="DELETED_EXPERIMENTAL_SPEECHINPUT_ISRECORDING"/>
  <int value="376" label="APP_WINDOW_CREATE"/>
  <int value="377" label="RUNTIME_RELOAD"/>
  <int value="378" label="EXPERIMENTAL_POWER_REQUESTKEEPAWAKE"/>
  <int value="379" label="SYSTEMINDICATOR_SETICON"/>
  <int value="380" label="FILEMANAGERPRIVATE_ADDMOUNT"/>
  <int value="381" label="APP_CURRENTWINDOWINTERNAL_FOCUS"/>
  <int value="382" label="EVENTS_REMOVERULES"/>
  <int value="383" label="DOWNLOADS_DOWNLOAD"/>
  <int value="384" label="WINDOWS_GETALL"/>
  <int value="385" label="DELETED_FILEMANAGERPRIVATE_TOGGLEFULLSCREEN"/>
  <int value="386" label="APP_CURRENTWINDOWINTERNAL_RESTORE"/>
  <int value="387" label="DELETED_WEBSOCKETPROXYPRIVATE_GETPASSPORTFORTCP"/>
  <int value="388" label="PAGEACTION_HIDE"/>
  <int value="389" label="DELETED_EXPERIMENTAL_SYSTEMINFO_STORAGE_GET"/>
  <int value="390" label="DOWNLOADS_ACCEPTDANGER"/>
  <int value="391" label="DELETED_WEBSOCKETPROXYPRIVATE_GETURLFORTCP"/>
  <int value="392" label="FILEMANAGERPRIVATE_GETSIZESTATS"/>
  <int value="393" label="DOWNLOADS_RESUME"/>
  <int value="394" label="COOKIES_GETALLCOOKIESTORES"/>
  <int value="395" label="DELETED_MEDIAGALLERIESPRIVATE_ADDGALLERYWATCH"/>
  <int value="396" label="DELETED_MEDIAGALLERIESPRIVATE_REMOVEGALLERYWATCH"/>
  <int value="397" label="DELETED_WEBVIEW_EXECUTESCRIPT"/>
  <int value="398" label="NOTIFICATIONS_UPDATE"/>
  <int value="399" label="NOTIFICATIONS_CLEAR"/>
  <int value="400" label="DELETED_SESSIONRESTORE_GETRECENTLYCLOSED"/>
  <int value="401" label="DELETED_SESSIONRESTORE_RESTORE"/>
  <int value="402" label="MANAGEMENT_UNINSTALLSELF"/>
  <int value="403" label="ECHOPRIVATE_GETOOBETIMESTAMP"/>
  <int value="404" label="FILEMANAGERPRIVATEINTERNAL_VALIDATEPATHNAMELENGTH"/>
  <int value="405" label="BROWSINGDATA_SETTINGS"/>
  <int value="406" label="WEBSTOREPRIVATE_GETISLAUNCHERENABLED"/>
  <int value="407" label="NETWORKINGPRIVATE_GETPROPERTIES"/>
  <int value="408" label="NETWORKINGPRIVATE_GETVISIBLENETWORKS"/>
  <int value="409" label="NETWORKINGPRIVATE_STARTCONNECT"/>
  <int value="410" label="NETWORKINGPRIVATE_STARTDISCONNECT"/>
  <int value="411" label="DELETED_MEDIAGALLERIESPRIVATE_GETALLGALLERYWATCH"/>
  <int value="412" label="DELETED_MEDIAGALLERIESPRIVATE_REMOVEALLGALLERYWATCH"/>
  <int value="413" label="FILEMANAGERPRIVATE_SEARCHDRIVEMETADATA"/>
  <int value="414" label="DELETED_ECHOPRIVATE_CHECKALLOWREDEEMOFFERS"/>
  <int value="415" label="DELETED_MEDIAGALLERIESPRIVATE_EJECTDEVICE"/>
  <int value="416" label="FILEMANAGERPRIVATE_LOGOUTUSERFORREAUTHENTICATION"/>
  <int value="417" label="DEVELOPERPRIVATE_CHOOSEPATH"/>
  <int value="418" label="DEVELOPERPRIVATE_PACKDIRECTORY"/>
  <int value="419" label="NETWORKINGPRIVATE_VERIFYDESTINATION"/>
  <int value="420" label="NETWORKINGPRIVATE_VERIFYANDENCRYPTCREDENTIALS"/>
  <int value="421" label="NETWORKINGPRIVATE_VERIFYANDENCRYPTDATA"/>
  <int value="422" label="DEVELOPERPRIVATE_RESTART"/>
  <int value="423" label="DELETED_DEVELOPERPRIVATE_ALLOWINCOGNITO"/>
  <int value="424" label="INPUT_IME_DELETESURROUNDINGTEXT"/>
  <int value="425" label="DELETED_FILEMANAGERPRIVATE_OPENNEWWINDOW"/>
  <int value="426" label="CLOUDPRINTPRIVATE_GETCLIENTID"/>
  <int value="427" label="ECHOPRIVATE_GETUSERCONSENT"/>
  <int value="428" label="SYNCFILESYSTEM_SETCONFLICTRESOLUTIONPOLICY"/>
  <int value="429" label="SYNCFILESYSTEM_GETCONFLICTRESOLUTIONPOLICY"/>
  <int value="430" label="NETWORKINGPRIVATE_SETPROPERTIES"/>
  <int value="431" label="NETWORKINGPRIVATE_GETSTATE"/>
  <int value="432" label="POWER_REQUESTKEEPAWAKE"/>
  <int value="433" label="POWER_RELEASEKEEPAWAKE"/>
  <int value="434" label="WALLPAPERPRIVATE_SETCUSTOMWALLPAPERLAYOUT"/>
  <int value="435" label="DOWNLOADSINTERNAL_DETERMINEFILENAME"/>
  <int value="436" label="SYNCFILESYSTEM_GETFILESYNCSTATUSES"/>
  <int value="437" label="DELETED_MEDIAGALLERIESPRIVATE_GETHANDLERS"/>
  <int value="438" label="WALLPAPERPRIVATE_RESETWALLPAPER"/>
  <int value="439" label="DEVELOPERPRIVATE_PERMISSIONS"/>
  <int value="440" label="WEBSTOREPRIVATE_ENABLEAPPLAUNCHER"/>
  <int value="441" label="APP_CURRENTWINDOWINTERNAL_FULLSCREEN"/>
  <int value="442" label="DEVELOPERPRIVATE_LOADUNPACKEDCROS"/>
  <int value="443" label="NETWORKINGPRIVATE_REQUESTNETWORKSCAN"/>
  <int value="444" label="ENTERPRISE_PLATFORMKEYSPRIVATE_CHALLENGEMACHINEKEY"/>
  <int value="445" label="ENTERPRISE_PLATFORMKEYSPRIVATE_CHALLENGEUSERKEY"/>
  <int value="446" label="DEVELOPERPRIVATE_LOADPROJECTTOSYNCFS"/>
  <int value="447" label="DEVELOPERPRIVATE_GETPROJECTSINFO"/>
  <int value="448" label="DEVELOPERPRIVATE_LOADPROJECT"/>
  <int value="449" label="COMMANDLINEPRIVATE_HASSWITCH"/>
  <int value="450" label="NETWORKINGPRIVATE_GETMANAGEDPROPERTIES"/>
  <int value="451" label="DELETED_LOCATION_WATCHLOCATION"/>
  <int value="452" label="DELETED_LOCATION_CLEARWATCH"/>
  <int value="453" label="DELETED_BLUETOOTH_ADDPROFILE"/>
  <int value="454" label="DELETED_BLUETOOTH_REMOVEPROFILE"/>
  <int value="455" label="DELETED_BLUETOOTH_GETPROFILES"/>
  <int value="456" label="EXPERIMENTAL_IDENTITY_REMOVECACHEDAUTHTOKEN"/>
  <int value="457" label="AUDIO_GETINFO"/>
  <int value="458" label="AUDIO_SETACTIVEDEVICES"/>
  <int value="459" label="AUDIO_SETPROPERTIES"/>
  <int value="460" label="USB_RESETDEVICE"/>
  <int value="461" label="SOCKET_MULTICAST_JOIN_GROUP"/>
  <int value="462" label="SOCKET_MULTICAST_LEAVE_GROUP"/>
  <int value="463" label="SOCKET_MULTICAST_SET_TIME_TO_LIVE"/>
  <int value="464" label="SOCKET_MULTICAST_SET_LOOPBACK_MODE"/>
  <int value="465" label="SOCKET_MULTICAST_GET_JOINED_GROUPS"/>
  <int value="466" label="ACCESSIBILITY_PRIVATE_SETNATIVEACCESSIBILITYENABLED"/>
  <int value="467" label="RUNTIME_GETPLATFORMINFO"/>
  <int value="468" label="DELETED_WEBVIEW_INSERTCSS"/>
  <int value="469" label="METRICSPRIVATE_GETISCRASHRECORDINGENABLED"/>
  <int value="470" label="DELETED_IDENTITYPRIVATE_GETSTRINGS"/>
  <int value="471" label="NOTIFICATIONS_GET_ALL"/>
  <int value="472" label="USB_LISTINTERFACES"/>
  <int value="473" label="FILESYSTEM_RETAINENTRY"/>
  <int value="474" label="FILESYSTEM_ISRESTORABLE"/>
  <int value="475" label="FILESYSTEM_RESTOREENTRY"/>
  <int value="476" label="RUNTIME_SETUNINSTALLURL"/>
  <int value="477" label="INPUTMETHODPRIVATE_STARTIME"/>
  <int value="478" label="MUSICMANAGERPRIVATE_GETDEVICEID"/>
  <int value="479" label="TTS_PAUSE"/>
  <int value="480" label="TTS_RESUME"/>
  <int value="481" label="DELETED_SYSTEMINFO_CPU_GET"/>
  <int value="482" label="DELETED_EXPERIMENTAL_SYSTEMINFO_STORAGE_ADDWATCH"/>
  <int value="483" label="DELETED_EXPERIMENTAL_SYSTEMINFO_STORAGE_REMOVEWATCH"/>
  <int value="484" label="DELETED_EXPERIMENTAL_SYSTEMINFO_STORAGE_GETALLWATCH"/>
  <int value="485"
      label="DELETED_EXPERIMENTAL_SYSTEMINFO_STORAGE_REMOVEALLWATCH"/>
  <int value="486" label="DELETED_SYSTEMINFO_MEMORY_GET"/>
  <int value="487" label="ACTIVITYLOGPRIVATE_GETEXTENSIONACTIVITIES"/>
  <int value="488" label="RUNTIME_GETPACKAGEDIRECTORYENTRY"/>
  <int value="489" label="DELETED_SYSTEMINFO_DISPLAY_SETDISPLAYPROPERTIES"/>
  <int value="490" label="FEEDBACKPRIVATE_GETUSEREMAIL"/>
  <int value="491" label="FEEDBACKPRIVATE_GETSYSTEMINFORMATION"/>
  <int value="492" label="FEEDBACKPRIVATE_SENDFEEDBACK"/>
  <int value="493" label="VIRTUALKEYBOARDPRIVATE_INSERTTEXT"/>
  <int value="494" label="DIAGNOSTICS_SENDPACKET"/>
  <int value="495" label="METRICSPRIVATE_GETFIELDTRIAL"/>
  <int value="496" label="FILEMANAGERPRIVATE_ZOOM"/>
  <int value="497" label="DELETED_WEBVIEW_GO"/>
  <int value="498" label="WEBSTOREPRIVATE_ISININCOGNITOMODEFUNCTION"/>
  <int value="499" label="FILEMANAGERPRIVATE_REQUESTACCESSTOKEN"/>
  <int value="500" label="DELETED_WEBVIEW_STOP"/>
  <int value="501" label="DELETED_WEBVIEW_RELOAD"/>
  <int value="502" label="DELETED_WEBVIEW_TERMINATE"/>
  <int value="503" label="TYPES_PRIVATE_CHROMEDIRECTSETTING_GET"/>
  <int value="504" label="TYPES_PRIVATE_CHROMEDIRECTSETTING_SET"/>
  <int value="505" label="TYPES_PRIVATE_CHROMEDIRECTSETTING_CLEAR"/>
  <int value="506" label="DELETED_EXPERIMENTAL_SYSTEMINFO_STORAGE_EJECTDEVICE"/>
  <int value="507" label="SYSTEM_CPU_GETINFO"/>
  <int value="508" label="BOOKMARKMANAGERPRIVATE_REMOVETREES"/>
  <int value="509" label="SYSTEM_DISPLAY_GETINFO"/>
  <int value="510" label="SYSTEM_DISPLAY_SETDISPLAYPROPERTIES"/>
  <int value="511" label="SYSTEM_MEMORY_GETINFO"/>
  <int value="512" label="FILEMANAGERPRIVATEINTERNAL_GETSHAREURL"/>
  <int value="513" label="SYSTEM_STORAGE_GETINFO"/>
  <int value="514" label="SYSTEM_STORAGE_EJECTDEVICE"/>
  <int value="515" label="DELETED_SYSTEM_STORAGE_ADDAVAILABLECAPACITYWATCH"/>
  <int value="516" label="DELETED_SYSTEM_STORAGE_REMOVEAVAILABLECAPACITYWATCH"/>
  <int value="517"
      label="DELETED_SYSTEM_STORAGE_GETALLAVAILABLECAPACITYWATCHES"/>
  <int value="518"
      label="DELETED_SYSTEM_STORAGE_REMOVEALLAVAILABLECAPACITYWATCHES"/>
  <int value="519" label="DOWNLOADS_REMOVEFILE"/>
  <int value="520" label="DOWNLOADS_SHOWDEFAULTFOLDER"/>
  <int value="521" label="INFOBARS_SHOW"/>
  <int value="522" label="DOWNLOADS_SETSHELFENABLED"/>
  <int value="523" label="IMAGEWRITER_WRITEFROMURL"/>
  <int value="524" label="IMAGEWRITER_WRITEFROMFILE"/>
  <int value="525" label="IMAGEWRITER_CANCELWRITE"/>
  <int value="526" label="IMAGEWRITER_DESTROYPARTITIONS"/>
  <int value="527" label="FEEDBACKPRIVATE_GETSTRINGS"/>
  <int value="528" label="LOGPRIVATE_GETHISTORICAL"/>
  <int value="529" label="VIRTUALKEYBOARDPRIVATE_MOVECURSOR"/>
  <int value="530" label="METRICSPRIVATE_GETVARIATIONPARAMS"/>
  <int value="531" label="DELETED_WEBVIEW_SETPERMISSION"/>
  <int value="532" label="DESKTOPCAPTURE_CHOOSEDESKTOPMEDIA"/>
  <int value="533" label="APP_CURRENTWINDOWINTERNAL_SETSHAPE"/>
  <int value="534" label="PROCESSES_GETPROCESSINFO"/>
  <int value="535" label="PROCESSES_GETPROCESSIDFORTAB"/>
  <int value="536" label="PROCESSES_TERMINATE"/>
  <int value="537" label="SOCKETS_UDP_CREATE"/>
  <int value="538" label="SOCKETS_UDP_UPDATE"/>
  <int value="539" label="SOCKETS_UDP_BIND"/>
  <int value="540" label="SOCKETS_UDP_SEND"/>
  <int value="541" label="SOCKETS_UDP_CLOSE"/>
  <int value="542" label="SOCKETS_UDP_GETINFO"/>
  <int value="543" label="SOCKETS_UDP_GETSOCKETS"/>
  <int value="544" label="SOCKETS_UDP_JOINGROUP"/>
  <int value="545" label="SOCKETS_UDP_LEAVEGROUP"/>
  <int value="546" label="SOCKETS_UDP_SETMULTICASTTIMETOLIVE"/>
  <int value="547" label="SOCKETS_UDP_SETMULTICASTLOOPBACKMODE"/>
  <int value="548" label="SOCKETS_UDP_GETJOINEDGROUPS"/>
  <int value="549" label="SIGNED_IN_DEVICES_GET"/>
  <int value="550" label="AUTOTESTPRIVATE_SIMULATEASANMEMORYBUG"/>
  <int value="551" label="DELETED_WEBVIEW_CLEARDATA"/>
  <int value="552" label="SESSIONS_GETRECENTLYCLOSED"/>
  <int value="553" label="SESSIONS_GETDEVICES"/>
  <int value="554" label="SESSIONS_RESTORE"/>
  <int value="555" label="SYNCFILESYSTEM_GETSERVICESTATUS"/>
  <int value="556" label="ECHOPRIVATE_SETOFFERINFO"/>
  <int value="557" label="ECHOPRIVATE_GETOFFERINFO"/>
  <int value="558" label="DEVELOPERPRIVATE_ISPROFILEMANAGED"/>
  <int value="559" label="DELETED_FILEMANAGERPRIVATE_INSTALLWEBSTOREITEM"/>
  <int value="560" label="FILEMANAGERPRIVATEINTERNAL_STARTCOPY"/>
  <int value="561" label="FILEMANAGERPRIVATE_CANCELCOPY"/>
  <int value="562" label="NETWORKINGPRIVATE_CREATENETWORK"/>
  <int value="563" label="BRAILLEDISPLAYPRIVATE_GETDISPLAYSTATE"/>
  <int value="564" label="BRAILLEDISPLAYPRIVATE_WRITEDOTS"/>
  <int value="565" label="USB_GETDEVICES"/>
  <int value="566" label="USB_REQUESTACCESS"/>
  <int value="567" label="USB_OPENDEVICE"/>
  <int value="568" label="ACTIVITYLOGPRIVATE_DELETEDATABASE"/>
  <int value="569" label="ACTIVITYLOGPRIVATE_DELETEURLS"/>
  <int value="570" label="FILEMANAGERPRIVATE_REQUESTWEBSTOREACCESSTOKEN"/>
  <int value="571" label="IMAGEWRITER_LISTREMOVABLESTORAGEDEVICES"/>
  <int value="572" label="WALLPAPER_SETWALLPAPER"/>
  <int value="573" label="VIRTUALKEYBOARDPRIVATE_HIDEKEYBOARD"/>
  <int value="574" label="AUTOTESTPRIVATE_LOCKSCREEN"/>
  <int value="575" label="WEBRTCLOGGINGPRIVATE_SETMETADATA"/>
  <int value="576" label="WEBRTCLOGGINGPRIVATE_START"/>
  <int value="577" label="WEBRTCLOGGINGPRIVATE_SETUPLOADONRENDERCLOSE"/>
  <int value="578" label="WEBRTCLOGGINGPRIVATE_STOP"/>
  <int value="579" label="WEBRTCLOGGINGPRIVATE_UPLOAD"/>
  <int value="580" label="WEBRTCLOGGINGPRIVATE_DISCARD"/>
  <int value="581" label="DELETED_WEBVIEW_OVERRIDEUSERAGENT"/>
  <int value="582" label="DELETED_PRINCIPALSPRIVATE_SHOWAVATARBUBBLE"/>
  <int value="583" label="DELETED_PRINCIPALSPRIVATE_SIGNOUT"/>
  <int value="584" label="CAST_CHANNEL_OPEN"/>
  <int value="585" label="CAST_CHANNEL_SEND"/>
  <int value="586" label="CAST_CHANNEL_CLOSE"/>
  <int value="587" label="RUNTIME_RESTART"/>
  <int value="588" label="DESKTOPCAPTURE_CANCELCHOOSEDESKTOPMEDIA"/>
  <int value="589" label="APP_CURRENTWINDOWINTERNAL_SETALWAYSONTOP"/>
  <int value="590" label="SOCKETS_TCP_CREATE"/>
  <int value="591" label="SOCKETS_TCP_UPDATE"/>
  <int value="592" label="SOCKETS_TCP_SETPAUSED"/>
  <int value="593" label="SOCKETS_TCP_SETKEEPALIVE"/>
  <int value="594" label="SOCKETS_TCP_SETNODELAY"/>
  <int value="595" label="SOCKETS_TCP_CONNECT"/>
  <int value="596" label="SOCKETS_TCP_DISCONNECT"/>
  <int value="597" label="SOCKETS_TCP_SEND"/>
  <int value="598" label="SOCKETS_TCP_CLOSE"/>
  <int value="599" label="SOCKETS_TCP_GETINFO"/>
  <int value="600" label="SOCKETS_TCP_GETSOCKETS"/>
  <int value="601" label="NETWORKINGPRIVATE_GETENABLEDNETWORKTYPES"/>
  <int value="602" label="NETWORKINGPRIVATE_ENABLENETWORKTYPE"/>
  <int value="603" label="NETWORKINGPRIVATE_DISABLENETWORKTYPE"/>
  <int value="604" label="SOCKETS_TCP_SERVER_CREATE"/>
  <int value="605" label="SOCKETS_TCP_SERVER_UPDATE"/>
  <int value="606" label="SOCKETS_TCP_SERVER_SETPAUSED"/>
  <int value="607" label="SOCKETS_TCP_SERVER_LISTEN"/>
  <int value="608" label="SOCKETS_TCP_SERVER_DISCONNECT"/>
  <int value="609" label="SOCKETS_TCP_SERVER_CLOSE"/>
  <int value="610" label="SOCKETS_TCP_SERVER_GETINFO"/>
  <int value="611" label="SOCKETS_TCP_SERVER_GETSOCKETS"/>
  <int value="612" label="SYSTEM_STORAGE_GETAVAILABLECAPACITY"/>
  <int value="613" label="BROWSERACTION_OPEN_POPUP"/>
  <int value="614" label="WEBRTC_AUDIO_PRIVATE_GET_SINKS"/>
  <int value="615" label="WEBRTC_AUDIO_PRIVATE_GET_ACTIVE_SINK"/>
  <int value="616" label="WEBRTC_AUDIO_PRIVATE_SET_ACTIVE_SINK"/>
  <int value="617" label="WEBRTC_AUDIO_PRIVATE_GET_ASSOCIATED_SINK"/>
  <int value="618" label="VIRTUALKEYBOARDPRIVATE_KEYBOARDLOADED"/>
  <int value="619" label="DELETED_APP_CURRENTWINDOWINTERNAL_SETMINWIDTH"/>
  <int value="620" label="DELETED_APP_CURRENTWINDOWINTERNAL_SETMINHEIGHT"/>
  <int value="621" label="DELETED_APP_CURRENTWINDOWINTERNAL_SETMAXWIDTH"/>
  <int value="622" label="DELETED_APP_CURRENTWINDOWINTERNAL_SETMAXHEIGHT"/>
  <int value="623" label="SYSTEMPRIVATE_GETAPIKEY"/>
  <int value="624" label="CHROMEOSINFOPRIVATE_SET"/>
  <int value="625" label="BOOKMARKMANAGERPRIVATE_GETMETAINFO"/>
  <int value="626" label="BOOKMARKMANAGERPRIVATE_SETMETAINFO"/>
  <int value="627" label="FILESYSTEMPROVIDER_MOUNT"/>
  <int value="628" label="AUTOTESTPRIVATE_GETEXTENSIONSINFO"/>
  <int value="629" label="SCREENLOCKPRIVATE_GETLOCKED"/>
  <int value="630" label="SCREENLOCKPRIVATE_SETLOCKED"/>
  <int value="631" label="SCREENLOCKPRIVATE_SHOWMESSAGE"/>
  <int value="632" label="FEEDBACKPRIVATE_GETHISTOGRAMS"/>
  <int value="633" label="SYSTEM_NETWORK_GETNETWORKINTERFACES"/>
  <int value="634" label="SERIAL_GETDEVICES"/>
  <int value="635" label="SERIAL_UPDATE"/>
  <int value="636" label="SERIAL_SETPAUSED"/>
  <int value="637" label="SERIAL_GETINFO"/>
  <int value="638" label="SERIAL_GETCONNECTIONS"/>
  <int value="639" label="SERIAL_SEND"/>
  <int value="640" label="GCM_REGISTER"/>
  <int value="641" label="GCM_SEND"/>
  <int value="642" label="SERIAL_CONNECT"/>
  <int value="643" label="SERIAL_DISCONNECT"/>
  <int value="644"
      label="DELETED_MEDIAGALLERIES_GETALLMEDIAFILESYSTEMMETADATA"/>
  <int value="645" label="FIRSTRUNPRIVATE_GETLOCALIZEDSTRINGS"/>
  <int value="646" label="FIRSTRUNPRIVATE_LAUNCHTUTORIAL"/>
  <int value="647" label="SOCKETS_UDP_SETPAUSED"/>
  <int value="648" label="DELETED_WEBVIEW_CAPTUREVISIBLEREGION"/>
  <int value="649" label="MEDIAGALLERIES_GETMETADATA"/>
  <int value="650" label="INPUT_IME_SENDKEYEVENTS"/>
  <int value="651" label="VIRTUALKEYBOARDPRIVATE_LOCKKEYBOARD"/>
  <int value="652" label="SCREENLOCKPRIVATE_SHOWCUSTOMICON"/>
  <int value="653" label="INPUT_IME_HIDEINPUTVIEW"/>
  <int value="654" label="BOOKMARKMANAGERPRIVATE_UNDO"/>
  <int value="655" label="BOOKMARKMANAGERPRIVATE_REDO"/>
  <int value="656" label="BOOKMARKMANAGERPRIVATE_UNDOINFO"/>
  <int value="657" label="BOOKMARKMANAGERPRIVATE_REDOINFO"/>
  <int value="658" label="MEDIAGALLERIES_ADDUSERSELECTEDFOLDER"/>
  <int value="659"
      label="DELETED_PREFERENCESPRIVATE_GETSYNCCATEGORIESWITHOUTPASSPHRASE"/>
  <int value="660" label="DELETED_READINGLISTPRIVATE_ADDENTRY"/>
  <int value="661" label="DELETED_READINGLISTPRIVATE_REMOVEENTRY"/>
  <int value="662" label="DELETED_READINGLISTPRIVATE_GETENTRIES"/>
  <int value="663" label="DELETED_MEDIAGALLERIES_STARTMEDIASCAN"/>
  <int value="664" label="DELETED_MEDIAGALLERIES_CANCELMEDIASCAN"/>
  <int value="665" label="DELETED_MEDIAGALLERIES_ADDSCANRESULTS"/>
  <int value="666" label="LOGPRIVATE_STARTNETINTERNALSWATCH"/>
  <int value="667" label="LOGPRIVATE_STOPNETINTERNALSWATCH"/>
  <int value="668" label="FILEMANAGERPRIVATE_GETPROFILES"/>
  <int value="669" label="DELETED_FILEMANAGERPRIVATE_VISITDESKTOP"/>
  <int value="670" label="VIRTUALKEYBOARDPRIVATE_GETKEYBOARDCONFIG"/>
  <int value="671" label="HID_GETDEVICES"/>
  <int value="672" label="HID_CONNECT"/>
  <int value="673" label="HID_DISCONNECT"/>
  <int value="674" label="HID_RECEIVE"/>
  <int value="675" label="HID_SEND"/>
  <int value="676" label="HID_RECEIVEFEATUREREPORT"/>
  <int value="677" label="HID_SENDFEATUREREPORT"/>
  <int value="678" label="HOTWORDPRIVATE_SETENABLED"/>
  <int value="679" label="HOTWORDPRIVATE_GETSTATUS"/>
  <int value="680" label="DELETED_APP_CURRENTWINDOWINTERNAL_SETBADGEICON"/>
  <int value="681" label="DELETED_APP_CURRENTWINDOWINTERNAL_CLEARBADGE"/>
  <int value="682" label="DELETED_WEBVIEW_SETZOOM"/>
  <int value="683" label="DELETED_WEBVIEW_GETZOOM"/>
  <int value="684" label="DEVELOPERPRIVATE_REQUESTFILESOURCE"/>
  <int value="685" label="DEVELOPERPRIVATE_OPENDEVTOOLS"/>
  <int value="686" label="ACTIVITYLOGPRIVATE_DELETEACTIVITIES"/>
  <int value="687" label="NETWORKINGPRIVATE_SETWIFITDLSENABLEDSTATE"/>
  <int value="688" label="NETWORKINGPRIVATE_GETWIFITDLSSTATUS"/>
  <int value="689" label="SCREENLOCKPRIVATE_HIDECUSTOMICON"/>
  <int value="690" label="SCREENLOCKPRIVATE_SETAUTHTYPE"/>
  <int value="691" label="SCREENLOCKPRIVATE_GETAUTHTYPE"/>
  <int value="692" label="SCREENLOCKPRIVATE_ACCEPTAUTHATTEMPT"/>
  <int value="693" label="DELETED_WEBVIEW_FIND"/>
  <int value="694" label="DELETED_WEBVIEW_STOPFINDING"/>
  <int value="695" label="DELETED_WEBVIEW_CONTEXTMENUSCREATE"/>
  <int value="696" label="DELETED_WEBVIEW_CONTEXTMENUSUPDATE"/>
  <int value="697" label="DELETED_WEBVIEW_CONTEXTMENUSREMOVE"/>
  <int value="698" label="DELETED_WEBVIEW_CONTEXTMENUSREMOVEALL"/>
  <int value="699" label="AUTOMATIONINTERNAL_ENABLETAB"/>
  <int value="700" label="APP_CURRENTWINDOWINTERNAL_SETSIZECONSTRAINTS"/>
  <int value="701" label="BLUETOOTH_GETDEVICE"/>
  <int value="702" label="GCM_UNREGISTER"/>
  <int value="703" label="FILEMANAGERPRIVATEINTERNAL_REQUESTDRIVESHARE"/>
  <int value="704" label="METRICSPRIVATE_RECORDSPARSEVALUE"/>
  <int value="705" label="HOTWORDPRIVATE_SETAUDIOLOGGINGENABLED"/>
  <int value="706" label="BLUETOOTHPRIVATE_SETADAPTERSTATE"/>
  <int value="707" label="DELETED_BLUETOOTHPRIVATE_ENABLEPAIRING"/>
  <int value="708" label="DELETED_BLUETOOTHPRIVATE_DISABLEPAIRING"/>
  <int value="709" label="BLUETOOTHPRIVATE_SETPAIRINGRESPONSE"/>
  <int value="710" label="NETWORKINGPRIVATE_GETCAPTIVEPORTALSTATUS"/>
  <int value="711" label="AUTOMATIONINTERNAL_PERFORMACTION"/>
  <int value="712" label="DELETED_BLUETOOTH_UPDATE_SOCKET"/>
  <int value="713" label="DELETED_BLUETOOTH_SET_SOCKET_PAUSED"/>
  <int value="714" label="DELETED_BLUETOOTH_GET_SOCKET"/>
  <int value="715" label="DELETED_BLUETOOTH_GET_SOCKETS"/>
  <int value="716" label="FILESYSTEMPROVIDER_UNMOUNT"/>
  <int value="717" label="FILESYSTEMPROVIDERINTERNAL_UNMOUNTREQUESTEDSUCCESS"/>
  <int value="718"
      label="DELETED_FILESYSTEMPROVIDERINTERNAL_UNMOUNTREQUESTEDERROR"/>
  <int value="719"
      label="DELETED_MEDIAGALLERIES_DROPPERMISSIONFORMEDIAFILESYSTEM"/>
  <int value="720" label="WEBCAMPRIVATE_SET"/>
  <int value="721" label="WEBCAMPRIVATE_RESET"/>
  <int value="722" label="WEBCAMPRIVATE_GET"/>
  <int value="723" label="BLUETOOTHLOWENERGY_GETSERVICE"/>
  <int value="724" label="BLUETOOTHLOWENERGY_GETSERVICES"/>
  <int value="725" label="BLUETOOTHLOWENERGY_GETCHARACTERISTIC"/>
  <int value="726" label="BLUETOOTHLOWENERGY_GETCHARACTERISTICS"/>
  <int value="727" label="BLUETOOTHLOWENERGY_GETINCLUDEDSERVICES"/>
  <int value="728" label="BLUETOOTHLOWENERGY_GETDESCRIPTOR"/>
  <int value="729" label="BLUETOOTHLOWENERGY_GETDESCRIPTORS"/>
  <int value="730" label="BLUETOOTHLOWENERGY_READCHARACTERISTICVALUE"/>
  <int value="731" label="BLUETOOTHLOWENERGY_WRITECHARACTERISTICVALUE"/>
  <int value="732" label="BLUETOOTHLOWENERGY_READDESCRIPTORVALUE"/>
  <int value="733" label="BLUETOOTHLOWENERGY_WRITEDESCRIPTORVALUE"/>
  <int value="734" label="BOOKMARKMANAGERPRIVATE_CREATEWITHMETAINFO"/>
  <int value="735" label="BOOKMARKMANAGERPRIVATE_UPDATEMETAINFO"/>
  <int value="736" label="BLUETOOTHSOCKET_CREATE"/>
  <int value="737" label="BLUETOOTHSOCKET_UPDATE"/>
  <int value="738" label="BLUETOOTHSOCKET_SETPAUSED"/>
  <int value="739" label="BLUETOOTHSOCKET_LISTENUSINGRFCOMM"/>
  <int value="740" label="BLUETOOTHSOCKET_LISTENUSINGINSECURERFCOMM"/>
  <int value="741" label="BLUETOOTHSOCKET_LISTENUSINGL2CAP"/>
  <int value="742" label="BLUETOOTHSOCKET_CONNECT"/>
  <int value="743" label="BLUETOOTHSOCKET_DISCONNECT"/>
  <int value="744" label="BLUETOOTHSOCKET_CLOSE"/>
  <int value="745" label="BLUETOOTHSOCKET_SEND"/>
  <int value="746" label="BLUETOOTHSOCKET_GETINFO"/>
  <int value="747" label="BLUETOOTHSOCKET_GETSOCKETS"/>
  <int value="748" label="DELETED_WEBSTOREPRIVATE_SIGNINFUNCTION"/>
  <int value="749" label="DELETED_SHELL_CREATEWINDOW"/>
  <int value="750"
      label="FILESYSTEMPROVIDERINTERNAL_GETMETADATAREQUESTEDSUCCESS"/>
  <int value="751"
      label="DELETED_FILESYSTEMPROVIDERINTERNAL_GETMETADATAREQUESTEDERROR"/>
  <int value="752" label="BROWSER_OPENTAB"/>
  <int value="753" label="MANAGEMENT_CREATEAPPSHORTCUT"/>
  <int value="754" label="DELETED_WEBVIEW_SHOWCONTEXTMENU"/>
  <int value="755" label="WEBRTCLOGGINGPRIVATE_STARTRTPDUMP"/>
  <int value="756" label="WEBRTCLOGGINGPRIVATE_STOPRTPDUMP"/>
  <int value="757" label="AUTOMATIONINTERNAL_ENABLEDESKTOP"/>
  <int value="758" label="HOTWORDPRIVATE_SETHOTWORDSESSIONSTATE"/>
  <int value="759" label="HOTWORDPRIVATE_NOTIFYHOTWORDRECOGNITION"/>
  <int value="760"
      label="FILESYSTEMPROVIDERINTERNAL_READDIRECTORYREQUESTEDSUCCESS"/>
  <int value="761"
      label="DELETED_FILESYSTEMPROVIDERINTERNAL_READDIRECTORYREQUESTEDERROR"/>
  <int value="762" label="DELETED_LEDGER_BATCHEXECUTE"/>
  <int value="763"
      label="DELETED_FILESYSTEMPROVIDERINTERNAL_OPENFILEREQUESTEDSUCCESS"/>
  <int value="764"
      label="DELETED_FILESYSTEMPROVIDERINTERNAL_OPENFILEREQUESTEDERROR"/>
  <int value="765"
      label="DELETED_FILESYSTEMPROVIDERINTERNAL_CLOSEFILEREQUESTEDSUCCESS"/>
  <int value="766"
      label="DELETED_FILESYSTEMPROVIDERINTERNAL_CLOSEFILEREQUESTEDERROR"/>
  <int value="767" label="DELETED_SYNCEDNOTIFICATIONSPRIVATE_GETINITIALDATA"/>
  <int value="768"
      label="DELETED_SYNCEDNOTIFICATIONSPRIVATE_UPDATENOTIFICATION"/>
  <int value="769" label="DELETED_SYNCEDNOTIFICATIONSPRIVATE_SETRENDERCONTEXT"/>
  <int value="770" label="IDENTITY_GETACCOUNTS"/>
  <int value="771" label="FILEMANAGERPRIVATE_RESOLVEISOLATEDENTRIES"/>
  <int value="772" label="FILESYSTEMPROVIDERINTERNAL_READFILEREQUESTEDSUCCESS"/>
  <int value="773"
      label="DELETED_FILESYSTEMPROVIDERINTERNAL_READFILEREQUESTEDERROR"/>
  <int value="774" label="NETWORKINGPRIVATE_GETNETWORKS"/>
  <int value="775" label="DELETED_WEBVIEW_SETNAME"/>
  <int value="776" label="ENTERPRISE_PLATFORMKEYSINTERNAL_GENERATEKEY"/>
  <int value="777" label="PLATFORMKEYSINTERNAL_SIGN"/>
  <int value="778" label="ENTERPRISE_PLATFORMKEYSINTERNAL_GETTOKENS"/>
  <int value="779" label="ENTERPRISE_PLATFORMKEYS_GETCERTIFICATES"/>
  <int value="780" label="ENTERPRISE_PLATFORMKEYS_IMPORTCERTIFICATE"/>
  <int value="781" label="ENTERPRISE_PLATFORMKEYS_REMOVECERTIFICATE"/>
  <int value="782" label="FILEMANAGERPRIVATE_OPENINSPECTOR"/>
  <int value="783" label="STREAMSPRIVATE_ABORT"/>
  <int value="784" label="MANAGEMENT_SETLAUNCHTYPE"/>
  <int value="785" label="MANAGEMENT_GENERATEAPPFORLINK"/>
  <int value="786" label="DELETED_GUESTVIEWINTERNAL_ALLOCATEINSTANCEID"/>
  <int value="787" label="DELETED_WEBVIEW_NAVIGATE"/>
  <int value="788" label="INPUTMETHODPRIVATE_GETCURRENTINPUTMETHOD"/>
  <int value="789" label="INPUTMETHODPRIVATE_SETCURRENTINPUTMETHOD"/>
  <int value="790" label="INPUTMETHODPRIVATE_GETINPUTMETHODS"/>
  <int value="791" label="IDENTITY_GETPROFILEUSERINFO"/>
  <int value="792" label="VIRTUALKEYBOARDPRIVATE_OPENSETTINGS"/>
  <int value="793" label="BLUETOOTHLOWENERGY_CONNECT"/>
  <int value="794" label="BLUETOOTHLOWENERGY_DISCONNECT"/>
  <int value="795" label="WEBSTOREPRIVATE_GETEPHEMERALAPPSENABLED"/>
  <int value="796" label="WEBSTOREPRIVATE_LAUNCHEPHEMERALAPP"/>
  <int value="797" label="FILESYSTEMPROVIDERINTERNAL_OPERATIONREQUESTEDERROR"/>
  <int value="798"
      label="FILESYSTEMPROVIDERINTERNAL_OPERATIONREQUESTEDSUCCESS"/>
  <int value="799" label="GUESTVIEWINTERNAL_CREATEGUEST"/>
  <int value="800" label="WEBVIEWINTERNAL_CAPTUREVISIBLEREGION"/>
  <int value="801" label="WEBVIEWINTERNAL_CONTEXTMENUSCREATE"/>
  <int value="802" label="WEBVIEWINTERNAL_CONTEXTMENUSREMOVE"/>
  <int value="803" label="WEBVIEWINTERNAL_CONTEXTMENUSREMOVEALL"/>
  <int value="804" label="WEBVIEWINTERNAL_CONTEXTMENUSUPDATE"/>
  <int value="805" label="WEBVIEWINTERNAL_CLEARDATA"/>
  <int value="806" label="WEBVIEWINTERNAL_EXECUTESCRIPT"/>
  <int value="807" label="WEBVIEWINTERNAL_FIND"/>
  <int value="808" label="WEBVIEWINTERNAL_GETZOOM"/>
  <int value="809" label="WEBVIEWINTERNAL_GO"/>
  <int value="810" label="WEBVIEWINTERNAL_INSERTCSS"/>
  <int value="811" label="WEBVIEWINTERNAL_NAVIGATE"/>
  <int value="812" label="WEBVIEWINTERNAL_OVERRIDEUSERAGENT"/>
  <int value="813" label="WEBVIEWINTERNAL_RELOAD"/>
  <int value="814" label="WEBVIEWINTERNAL_SETNAME"/>
  <int value="815" label="WEBVIEWINTERNAL_SETPERMISSION"/>
  <int value="816" label="WEBVIEWINTERNAL_SETZOOM"/>
  <int value="817" label="WEBVIEWINTERNAL_SHOWCONTEXTMENU"/>
  <int value="818" label="WEBVIEWINTERNAL_STOP"/>
  <int value="819" label="WEBVIEWINTERNAL_STOPFINDING"/>
  <int value="820" label="WEBVIEWINTERNAL_TERMINATE"/>
  <int value="821" label="BLUETOOTHLOWENERGY_STARTCHARACTERISTICNOTIFICATIONS"/>
  <int value="822" label="BLUETOOTHLOWENERGY_STOPCHARACTERISTICNOTIFICATIONS"/>
  <int value="823" label="DELETED_GCDPRIVATE_GETCLOUDDEVICELIST"/>
  <int value="824" label="DELETED_GCDPRIVATE_QUERYFORNEWLOCALDEVICES"/>
  <int value="825" label="DELETED_GCDPRIVATE_PREFETCHWIFIPASSWORD"/>
  <int value="826" label="DELETED_GCDPRIVATE_ESTABLISHSESSION"/>
  <int value="827" label="DELETED_GCDPRIVATE_SENDMESSAGE"/>
  <int value="828" label="DELETED_GCDPRIVATE_CONFIRMCODE"/>
  <int value="829" label="DELETED_GCDPRIVATE_TERMINATESESSION"/>
  <int value="830" label="TABS_SETZOOM"/>
  <int value="831" label="TABS_GETZOOM"/>
  <int value="832" label="TABS_SETZOOMSETTINGS"/>
  <int value="833" label="TABS_GETZOOMSETTINGS"/>
  <int value="834" label="DELETED_GCDPRIVATE_GETCOMMANDDEFINITIONS"/>
  <int value="835" label="DELETED_GCDPRIVATE_INSERTCOMMAND"/>
  <int value="836" label="DELETED_GCDPRIVATE_GETCOMMAND"/>
  <int value="837" label="DELETED_GCDPRIVATE_CANCELCOMMAND"/>
  <int value="838" label="DELETED_GCDPRIVATE_GETCOMMANDSLIST"/>
  <int value="839" label="APPVIEWINTERNAL_ATTACHFRAME"/>
  <int value="840" label="APPVIEWINTERNAL_DENYREQUEST"/>
  <int value="841" label="FILEMANAGERPRIVATEINTERNAL_GETDOWNLOADURL"/>
  <int value="842" label="EASYUNLOCKPRIVATE_PERFORMECDHKEYAGREEMENT"/>
  <int value="843" label="EASYUNLOCKPRIVATE_GENERATEECP256KEYPAIR"/>
  <int value="844" label="EASYUNLOCKPRIVATE_CREATESECUREMESSAGE"/>
  <int value="845" label="EASYUNLOCKPRIVATE_UNWRAPSECUREMESSAGE"/>
  <int value="846" label="LOGPRIVATE_STARTEVENTRECODER"/>
  <int value="847" label="LOGPRIVATE_STOPEVENTRECODER"/>
  <int value="848" label="LOGPRIVATE_DUMPLOGS"/>
  <int value="849" label="SOCKET_SECURE"/>
  <int value="850" label="SOCKETS_TCP_SECURE"/>
  <int value="851" label="EXPERIENCESAMPLINGPRIVATE_GETBROWSERINFO"/>
  <int value="852" label="EASYUNLOCKPRIVATE_SEEKBLUETOOTHDEVICEBYADDRESS"/>
  <int value="853" label="EASYUNLOCKPRIVATE_GETSTRINGS"/>
  <int value="854" label="NOTIFICATIONPROVIDER_SENDONCLEAR"/>
  <int value="855" label="NOTIFICATIONPROVIDER_NOTIFYONCLEARED"/>
  <int value="856" label="NOTIFICATIONPROVIDER_NOTIFYONCLICKED"/>
  <int value="857" label="NOTIFICATIONPROVIDER_NOTIFYONBUTTONCLICKED"/>
  <int value="858" label="NOTIFICATIONPROVIDER_NOTIFYONPERMISSIONLEVELCHANGED"/>
  <int value="859" label="NOTIFICATIONPROVIDER_NOTIFYONSHOWSETTINGS"/>
  <int value="860" label="NOTIFICATIONPROVIDER_GETNOTIFIER"/>
  <int value="861" label="NOTIFICATIONPROVIDER_GETALLNOTIFIERS"/>
  <int value="862" label="DELETED_GCDPRIVATE_GETPREFETCHEDWIFINAMELIST"/>
  <int value="863" label="GUESTVIEWINTERNAL_SETAUTOSIZE"/>
  <int value="864" label="DELETED_COPRESENCEPRIVATE_SENDFOUND"/>
  <int value="865" label="DELETED_COPRESENCEPRIVATE_SENDSAMPLES"/>
  <int value="866" label="DELETED_COPRESENCEPRIVATE_SENDDETECT"/>
  <int value="867" label="DELETED_COPRESENCEPRIVATE_SENDINITIALIZED"/>
  <int value="868" label="DELETED_COPRESENCE_EXECUTE"/>
  <int value="869" label="DELETED_COPRESENCE_SETAPIKEY"/>
  <int value="870" label="FILESYSTEM_OBSERVEDIRECTORY"/>
  <int value="871" label="FILESYSTEM_UNOBSERVEENTRY"/>
  <int value="872" label="FILESYSTEM_GETOBSERVEDENTRIES"/>
  <int value="873" label="BROWSINGDATA_REMOVESERVICEWORKERS"/>
  <int value="874" label="USBPRIVATE_GETDEVICES"/>
  <int value="875" label="USBPRIVATE_GETDEVICEINFO"/>
  <int value="876" label="EASYUNLOCKPRIVATE_UPDATESCREENLOCKSTATE"/>
  <int value="877" label="CAST_CHANNEL_GETLOGS"/>
  <int value="878" label="EASYUNLOCKPRIVATE_SETPERMITACCESS"/>
  <int value="879" label="EASYUNLOCKPRIVATE_GETPERMITACCESS"/>
  <int value="880" label="EASYUNLOCKPRIVATE_CLEARPERMITACCESS"/>
  <int value="881" label="EASYUNLOCKPRIVATE_SETREMOTEDEVICES"/>
  <int value="882" label="EASYUNLOCKPRIVATE_GETREMOTEDEVICES"/>
  <int value="883" label="FILESYSTEMPROVIDER_GETALL"/>
  <int value="884"
      label="EASYUNLOCKPRIVATE_CONNECTTOBLUETOOTHSERVICEINSECURELY"/>
  <int value="885" label="MEDIAGALLERIES_ADDGALLERYWATCH"/>
  <int value="886" label="MEDIAGALLERIES_REMOVEGALLERYWATCH"/>
  <int value="887" label="DELETED_MEDIAGALLERIES_GETALLGALLERYWATCH"/>
  <int value="888" label="DELETED_MEDIAGALLERIES_REMOVEALLGALLERYWATCH"/>
  <int value="889" label="MANAGEMENT_GETSELF"/>
  <int value="890" label="APP_CURRENTWINDOWINTERNAL_SETVISIBLEONALLWORKSPACES"/>
  <int value="891" label="EASYUNLOCKPRIVATE_GETSIGNINCHALLENGE"/>
  <int value="892" label="EASYUNLOCKPRIVATE_TRYSIGNINSECRET"/>
  <int value="893" label="ACCESSIBILITY_PRIVATE_SETFOCUSRING"/>
  <int value="894" label="USB_GETCONFIGURATION"/>
  <int value="895" label="WEBVIEWINTERNAL_SETALLOWTRANSPARENCY"/>
  <int value="896" label="EASYUNLOCKPRIVATE_GETUSERINFO"/>
  <int value="897" label="HOTWORDPRIVATE_GETLAUNCHSTATE"/>
  <int value="898" label="HOTWORDPRIVATE_SETHOTWORDALWAYSONSEARCHENABLED"/>
  <int value="899" label="WEBVIEWINTERNAL_LOADDATAWITHBASEURL"/>
  <int value="900" label="GUESTVIEWINTERNAL_DESTROYGUEST"/>
  <int value="901" label="DELETED_COPRESENCESOCKET_CREATEPEER"/>
  <int value="902" label="DELETED_COPRESENCESOCKET_DESTROYPEER"/>
  <int value="903" label="DELETED_COPRESENCESOCKET_SEND"/>
  <int value="904" label="DELETED_COPRESENCESOCKET_DISCONNECT"/>
  <int value="905" label="DELETED_BOOKMARKMANAGERPRIVATE_SETVERSION"/>
  <int value="906" label="FILESYSTEMPROVIDER_NOTIFY"/>
  <int value="907" label="USB_GETUSERSELECTEDDEVICES"/>
  <int value="908" label="INPUTMETHODPRIVATE_GETINPUTMETHODCONFIG"/>
  <int value="909" label="WALLPAPERPRIVATE_GETSYNCSETTING"/>
  <int value="910" label="DELETED_COPRESENCE_SETAUTHTOKEN"/>
  <int value="911" label="CAST_CHANNEL_SETAUTHORITYKEYS"/>
  <int value="912" label="HOTWORDPRIVATE_STARTTRAINING"/>
  <int value="913" label="HOTWORDPRIVATE_FINALIZESPEAKERMODEL"/>
  <int value="914" label="HOTWORDPRIVATE_STOPTRAINING"/>
  <int value="915" label="DELETED_GCDPRIVATE_STARTPAIRING"/>
  <int value="916" label="VPNPROVIDER_CREATECONFIG"/>
  <int value="917" label="VPNPROVIDER_DESTROYCONFIG"/>
  <int value="918" label="VPNPROVIDER_SETPARAMETERS"/>
  <int value="919" label="VPNPROVIDER_SENDPACKET"/>
  <int value="920" label="VPNPROVIDER_NOTIFYCONNECTIONSTATECHANGED"/>
  <int value="921" label="DOCUMENT_SCAN_SCAN"/>
  <int value="922" label="DELETED_EASYUNLOCKPRIVATE_GETUSERIMAGE"/>
  <int value="923" label="HOTWORDPRIVATE_NOTIFYSPEAKERMODELSAVED"/>
  <int value="924" label="HOTWORDPRIVATE_GETLOCALIZEDSTRINGS"/>
  <int value="925" label="HOTWORDPRIVATE_SETAUDIOHISTORYENABLED"/>
  <int value="926" label="HOTWORDPRIVATE_GETAUDIOHISTORYENABLED"/>
  <int value="927"
      label="DELETED_APP_CURRENTWINDOWINTERNAL_SETINTERCEPTALLKEYS"/>
  <int value="928" label="LAUNCHERPAGE_PUSHSUBPAGE"/>
  <int value="929" label="LAUNCHERPAGE_SHOW"/>
  <int value="930" label="AUTOTESTPRIVATE_SETTOUCHPADSENSITIVITY"/>
  <int value="931" label="AUTOTESTPRIVATE_SETTAPTOCLICK"/>
  <int value="932" label="AUTOTESTPRIVATE_SETTHREEFINGERCLICK"/>
  <int value="933" label="AUTOTESTPRIVATE_SETTAPDRAGGING"/>
  <int value="934" label="AUTOTESTPRIVATE_SETNATURALSCROLL"/>
  <int value="935" label="AUTOTESTPRIVATE_SETMOUSESENSITIVITY"/>
  <int value="936" label="AUTOTESTPRIVATE_SETPRIMARYBUTTONRIGHT"/>
  <int value="937" label="DELETED_COPRESENCEENDPOINTS_CREATELOCALENDPOINT"/>
  <int value="938" label="DELETED_COPRESENCEENDPOINTS_DESTROYLOCALENDPOINT"/>
  <int value="939" label="DELETED_COPRESENCEENDPOINTS_SEND"/>
  <int value="940" label="INLINE_INSTALL_PRIVATE_INSTALL"/>
  <int value="941" label="LAUNCHERPAGE_SETENABLED"/>
  <int value="942" label="DELETED_CRYPTOTOKENPRIVATE_REQUESTPERMISSION"/>
  <int value="943" label="BLUETOOTHPRIVATE_DISCONNECTALL"/>
  <int value="944" label="FILEMANAGERPRIVATEINTERNAL_GETMIMETYPE"/>
  <int value="945" label="USB_SETCONFIGURATION"/>
  <int value="946" label="EASYUNLOCKPRIVATE_GETCONNECTIONINFO"/>
  <int value="947" label="FILEMANAGERPRIVATEINTERNAL_COMPUTECHECKSUM"/>
  <int value="948" label="PRINTERPROVIDERINTERNAL_REPORTPRINTRESULT"/>
  <int value="949" label="PRINTERPROVIDERINTERNAL_REPORTPRINTERCAPABILITY"/>
  <int value="950" label="PRINTERPROVIDERINTERNAL_REPORTPRINTERS"/>
  <int value="951" label="FILESYSTEMPROVIDER_GET"/>
  <int value="952" label="FILEMANAGERPRIVATE_SEARCHFILESBYHASHES"/>
  <int value="953" label="EASYUNLOCKPRIVATE_SHOWERRORBUBBLE"/>
  <int value="954" label="EXTENSIONVIEWINTERNAL_NAVIGATE"/>
  <int value="955" label="NETWORKING_CONFIG_SETNETWORKFILTER"/>
  <int value="956" label="NETWORKING_CONFIG_FINISHAUTHENTICATION"/>
  <int value="957" label="PLATFORMKEYSINTERNAL_SELECTCLIENTCERTIFICATES"/>
  <int value="958" label="CRYPTOTOKENPRIVATE_CANORIGINASSERTAPPID"/>
  <int value="959" label="EASYUNLOCKPRIVATE_SETAUTOPAIRINGRESULT"/>
  <int value="960" label="FILEMANAGERPRIVATE_ISUMAENABLED"/>
  <int value="961" label="WEBVIEWINTERNAL_SETALLOWSCALING"/>
  <int value="962" label="PLATFORMKEYSINTERNAL_GETPUBLICKEY"/>
  <int value="963" label="RUNTIME_OPENOPTIONSPAGE"/>
  <int value="964" label="DELETED_AUDIOMODEM_TRANSMIT"/>
  <int value="965" label="DELETED_AUDIOMODEM_STOPTRANSMIT"/>
  <int value="966" label="DELETED_AUDIOMODEM_RECEIVE"/>
  <int value="967" label="DELETED_AUDIOMODEM_STOPRECEIVE"/>
  <int value="968" label="WEBRTCLOGGINGPRIVATE_STORE"/>
  <int value="969" label="WEBRTCLOGGINGPRIVATE_UPLOADSTORED"/>
  <int value="970" label="FILEMANAGERPRIVATEINTERNAL_SETENTRYTAG"/>
  <int value="971" label="INPUTMETHODPRIVATE_FETCHALLDICTIONARYWORDS"/>
  <int value="972" label="INPUTMETHODPRIVATE_ADDWORDTODICTIONARY"/>
  <int value="973"
      label="DASHBOARDPRIVATE_SHOWPERMISSIONPROMPTFORDELEGATEDINSTALL"/>
  <int value="974" label="PRINTERPROVIDERINTERNAL_GETPRINTDATA"/>
  <int value="975" label="VIRTUALKEYBOARDPRIVATE_SETMODE"/>
  <int value="976" label="NETWORKINGPRIVATE_STARTACTIVATE"/>
  <int value="977" label="FILEMANAGERPRIVATE_GRANTACCESS"/>
  <int value="978" label="DEVELOPERPRIVATE_GETEXTENSIONSINFO"/>
  <int value="979" label="DEVELOPERPRIVATE_GETEXTENSIONINFO"/>
  <int value="980" label="FILEMANAGERPRIVATE_ENABLEEXTERNALFILESCHEME"/>
  <int value="981" label="DEVELOPERPRIVATE_UPDATEEXTENSIONCONFIGURATION"/>
  <int value="982" label="DEVELOPERPRIVATE_DELETEEXTENSIONERRORS"/>
  <int value="983" label="FILEMANAGERPRIVATE_ISPIEXLOADERENABLED"/>
  <int value="984" label="HOTWORDPRIVATE_SPEAKERMODELEXISTSRESULT"/>
  <int value="985" label="SETTINGSPRIVATE_SETPREF"/>
  <int value="986" label="DELETED_SETTINGSPRIVATE_SETDOUBLEPREF"/>
  <int value="987" label="DELETED_SETTINGSPRIVATE_SETSTRINGPREF"/>
  <int value="988" label="DELETED_SETTINGSPRIVATE_SETURLPREF"/>
  <int value="989" label="SETTINGSPRIVATE_GETALLPREFS"/>
  <int value="990" label="SETTINGSPRIVATE_GETPREF"/>
  <int value="991" label="NETWORKINGPRIVATE_FORGETNETWORK"/>
  <int value="992" label="EASYUNLOCKPRIVATE_HIDEERRORBUBBLE"/>
  <int value="993" label="WEBVIEWINTERNAL_SETZOOMMODE"/>
  <int value="994" label="WEBVIEWINTERNAL_GETZOOMMODE"/>
  <int value="995" label="LAUNCHERSEARCHPROVIDER_SETSEARCHRESULTS"/>
  <int value="996" label="DATAREDUCTIONPROXY_CLEARDATASAVINGS"/>
  <int value="997" label="BLUETOOTHPRIVATE_SETDISCOVERYFILTER"/>
  <int value="998" label="FILESYSTEM_GETVOLUMELIST"/>
  <int value="999" label="NETWORKINGPRIVATE_GETDEVICESTATES"/>
  <int value="1000" label="DEVELOPERPRIVATE_GETPROFILECONFIGURATION"/>
  <int value="1001" label="DEVELOPERPRIVATE_UPDATEPROFILECONFIGURATION"/>
  <int value="1002" label="SOCKETS_UDP_SETBROADCAST"/>
  <int value="1003" label="FILEMANAGERPRIVATE_GETPROVIDINGEXTENSIONS"/>
  <int value="1004" label="WEBVIEWINTERNAL_ADDCONTENTSCRIPTS"/>
  <int value="1005" label="WEBVIEWINTERNAL_REMOVECONTENTSCRIPTS"/>
  <int value="1006" label="DEVELOPERPRIVATE_REPAIREXTENSION"/>
  <int value="1007" label="DEVELOPERPRIVATE_SHOWOPTIONS"/>
  <int value="1008" label="DEVELOPERPRIVATE_SHOWPATH"/>
  <int value="1009" label="FILEMANAGERPRIVATE_ADDPROVIDEDFILESYSTEM"/>
  <int value="1010" label="FILEMANAGERPRIVATE_CONFIGUREVOLUME"/>
  <int value="1011" label="DELETED_SEARCHENGINESPRIVATE_GETSEARCHENGINES"/>
  <int value="1012"
      label="DELETED_SEARCHENGINESPRIVATE_SETSELECTEDSEARCHENGINE"/>
  <int value="1013" label="AUTOFILLPRIVATE_SAVEADDRESS"/>
  <int value="1014" label="AUTOFILLPRIVATE_GETADDRESSCOMPONENTS"/>
  <int value="1015" label="AUTOFILLPRIVATE_SAVECREDITCARD"/>
  <int value="1016" label="AUTOFILLPRIVATE_REMOVEENTRY"/>
  <int value="1017" label="AUTOFILLPRIVATE_VALIDATEPHONENUMBERS"/>
  <int value="1018" label="AUTOFILLPRIVATE_MASKCREDITCARD"/>
  <int value="1019" label="INSTANCEID_GETID"/>
  <int value="1020" label="INSTANCEID_GETCREATIONTIME"/>
  <int value="1021" label="INSTANCEID_GETTOKEN"/>
  <int value="1022" label="INSTANCEID_DELETETOKEN"/>
  <int value="1023" label="INSTANCEID_DELETEID"/>
  <int value="1024" label="DELETED_GCDPRIVATE_GETDEVICEINFO"/>
  <int value="1025" label="DELETED_SEARCHENGINESPRIVATE_GETHOTWORDSTATE"/>
  <int value="1026" label="DELETED_SEARCHENGINESPRIVATE_ADDOTHERSEARCHENGINE"/>
  <int value="1027" label="DELETED_SEARCHENGINESPRIVATE_REMOVESEARCHENGINE"/>
  <int value="1028" label="DELETED_SEARCHENGINESPRIVATE_UPDATESEARCHENGINE"/>
  <int value="1029" label="DELETED_SEARCHENGINESPRIVATE_OPTINTOHOTWORDING"/>
  <int value="1030" label="WEBSTOREWIDGETPRIVATE_INSTALLWEBSTOREITEM"/>
  <int value="1031" label="WEBSTOREWIDGETPRIVATE_GETSTRINGS"/>
  <int value="1032" label="WEBRTCDESKTOPCAPTUREPRIVATE_CHOOSEDESKTOPMEDIA"/>
  <int value="1033"
      label="WEBRTCDESKTOPCAPTUREPRIVATE_CANCELCHOOSEDESKTOPMEDIA"/>
  <int value="1034" label="BLUETOOTHLOWENERGY_REGISTERADVERTISEMENT"/>
  <int value="1035" label="BLUETOOTHLOWENERGY_UNREGISTERADVERTISEMENT"/>
  <int value="1036"
      label="DELETED_PASSWORDSPRIVATE_CANPASSWORDACCOUNTBEMANAGED"/>
  <int value="1037" label="PASSWORDSPRIVATE_REMOVESAVEDPASSWORD"/>
  <int value="1038" label="PASSWORDSPRIVATE_REMOVEPASSWORDEXCEPTION"/>
  <int value="1039" label="PASSWORDSPRIVATE_REQUESTPLAINTEXTPASSWORD"/>
  <int value="1040" label="LAUNCHERPAGE_HIDE"/>
  <int value="1041" label="PLATFORMKEYS_VERIFYTLSSERVERCERTIFICATE"/>
  <int value="1042" label="DEVELOPERPRIVATE_SETSHORTCUTHANDLINGSUSPENDED"/>
  <int value="1043" label="DEVELOPERPRIVATE_UPDATEEXTENSIONCOMMAND"/>
  <int value="1044" label="INPUTMETHODPRIVATE_GETENCRYPTSYNCENABLED"/>
  <int value="1045" label="USERSPRIVATE_GETWHITELISTEDUSERS"/>
  <int value="1046" label="USERSPRIVATE_ADDWHITELISTEDUSER"/>
  <int value="1047" label="USERSPRIVATE_REMOVEWHITELISTEDUSER"/>
  <int value="1048" label="USERSPRIVATE_ISCURRENTUSEROWNER"/>
  <int value="1049" label="USERSPRIVATE_ISWHITELISTMANAGED"/>
  <int value="1050" label="PRINTERPROVIDERINTERNAL_REPORTUSBPRINTERINFO"/>
  <int value="1051" label="WEBCAMPRIVATE_OPENSERIALWEBCAM"/>
  <int value="1052" label="WEBCAMPRIVATE_CLOSEWEBCAM"/>
  <int value="1053" label="SERIAL_SETBREAK"/>
  <int value="1054" label="SERIAL_CLEARBREAK"/>
  <int value="1055" label="EXTENSIONVIEWINTERNAL_LOADSRC"/>
  <int value="1056" label="EXTENSIONVIEWINTERNAL_PARSESRC"/>
  <int value="1057" label="HID_GETUSERSELECTEDDEVICES"/>
  <int value="1058"
      label="FILESYSTEMPROVIDERINTERNAL_GETACTIONSREQUESTEDSUCCESS"/>
  <int value="1059"
      label="DASHBOARDPRIVATE_SHOWPERMISSIONPROMPTFORDELEGATEDBUNDLEINSTALL"/>
  <int value="1060" label="FILEMANAGERPRIVATEINTERNAL_GETCUSTOMACTIONS"/>
  <int value="1061" label="FILEMANAGERPRIVATEINTERNAL_EXECUTECUSTOMACTION"/>
  <int value="1062" label="MDNS_FORCEDISCOVERY"/>
  <int value="1063" label="LANGUAGESETTINGSPRIVATE_GETLANGUAGELIST"/>
  <int value="1064" label="DELETED_LANGUAGESETTINGSPRIVATE_SETLANGUAGELIST"/>
  <int value="1065"
      label="LANGUAGESETTINGSPRIVATE_GETSPELLCHECKDICTIONARYSTATUS"/>
  <int value="1066" label="LANGUAGESETTINGSPRIVATE_GETSPELLCHECKWORDS"/>
  <int value="1067" label="LANGUAGESETTINGSPRIVATE_GETTRANSLATETARGETLANGUAGE"/>
  <int value="1068" label="LANGUAGESETTINGSPRIVATE_GETINPUTMETHODLISTS"/>
  <int value="1069" label="LANGUAGESETTINGSPRIVATE_ADDINPUTMETHOD"/>
  <int value="1070" label="LANGUAGESETTINGSPRIVATE_REMOVEINPUTMETHOD"/>
  <int value="1071" label="FILEMANAGERPRIVATE_CANCELALLFILETRANSFERS"/>
  <int value="1072" label="NETWORKINGPRIVATE_UNLOCKCELLULARSIM"/>
  <int value="1073" label="NETWORKINGPRIVATE_SETCELLULARSIMSTATE"/>
  <int value="1074" label="ENTERPRISE_DEVICEATTRIBUTES_GETDIRECTORYDEVICEID"/>
  <int value="1075" label="CASTDEVICESPRIVATE_UPDATEDEVICES"/>
  <int value="1076" label="SYSTEM_DISPLAY_ENABLEUNIFIEDDESKTOP"/>
  <int value="1077" label="BROWSINGDATA_REMOVECACHESTORAGE"/>
  <int value="1078" label="VIRTUALKEYBOARDPRIVATE_SETKEYBOARDSTATE"/>
  <int value="1079" label="VIRTUALKEYBOARDPRIVATE_SETHOTRODKEYBOARD"/>
  <int value="1080" label="CERTIFICATEPROVIDERINTERNAL_REPORTSIGNATURE"/>
  <int value="1081" label="CERTIFICATEPROVIDERINTERNAL_REPORTCERTIFICATES"/>
  <int value="1082" label="BLUETOOTHPRIVATE_PAIR"/>
  <int value="1083" label="EASYUNLOCKPRIVATE_FINDSETUPCONNECTION"/>
  <int value="1084" label="RESOURCESPRIVATE_GETSTRINGS"/>
  <int value="1085" label="USB_GETCONFIGURATIONS"/>
  <int value="1086" label="EASYUNLOCKPRIVATE_SETUPCONNECTIONSTATUS"/>
  <int value="1087" label="EASYUNLOCKPRIVATE_SETUPCONNECTIONDISCONNECT"/>
  <int value="1088" label="EASYUNLOCKPRIVATE_SETUPCONNECTIONSEND"/>
  <int value="1089" label="DATAREDUCTIONPROXY_GETDATAUSAGE"/>
  <int value="1090" label="EASYUNLOCKPRIVATE_SETUPCONNECTIONGETDEVICEADDRESS"/>
  <int value="1091" label="TABCAPTURE_CAPTUREOFFSCREENTAB"/>
  <int value="1092" label="LANGUAGESETTINGSPRIVATE_ADDSPELLCHECKWORD"/>
  <int value="1093" label="LANGUAGESETTINGSPRIVATE_REMOVESPELLCHECKWORD"/>
  <int value="1094" label="SETTINGSPRIVATE_GETDEFAULTZOOMFUNCTION"/>
  <int value="1095" label="SETTINGSPRIVATE_SETDEFAULTZOOMFUNCTION"/>
  <int value="1096" label="BLUETOOTHPRIVATE_CONNECT"/>
  <int value="1097" label="BLUETOOTHPRIVATE_FORGETDEVICE"/>
  <int value="1098" label="DISPLAYSOURCE_GETAVAILABLESINKS"/>
  <int value="1099" label="DISPLAYSOURCE_REQUESTAUTHENTICATION"/>
  <int value="1100" label="WEBRTCLOGGINGPRIVATE_STARTAUDIODEBUGRECORDINGS"/>
  <int value="1101" label="WEBRTCLOGGINGPRIVATE_STOPAUDIODEBUGRECORDINGS"/>
  <int value="1102" label="TERMINALPRIVATE_ACKOUTPUT"/>
  <int value="1103" label="INPUT_IME_CREATEWINDOW"/>
  <int value="1104" label="INPUTMETHODPRIVATE_SETXKBLAYOUT"/>
  <int value="1105" label="ACCESSIBILITY_PRIVATE_SETKEYBOARDLISTENER"/>
  <int value="1106" label="INPUT_IME_ACTIVATE"/>
  <int value="1107" label="INPUT_IME_DEACTIVATE"/>
  <int value="1108" label="ENTERPRISE_PLATFORMKEYS_CHALLENGEMACHINEKEY"/>
  <int value="1109" label="ENTERPRISE_PLATFORMKEYS_CHALLENGEUSERKEY"/>
  <int value="1110" label="INPUTMETHODPRIVATE_NOTIFYIMEMENUITEMACTIVATED"/>
  <int value="1111" label="INPUT_IME_SHOWWINDOW"/>
  <int value="1112" label="INPUT_IME_HIDEWINDOW"/>
  <int value="1113" label="INPUTMETHODPRIVATE_SHOWINPUTVIEW"/>
  <int value="1114" label="WALLPAPERPRIVATE_RECORDWALLPAPERUMA"/>
  <int value="1115" label="AUTOTESTPRIVATE_GETVISIBLENOTIFICATIONS"/>
  <int value="1116" label="WEBRTCLOGGINGPRIVATE_STARTRTCEVENTLOGGING"/>
  <int value="1117" label="WEBRTCLOGGINGPRIVATE_STOPRTCEVENTLOGGING"/>
  <int value="1118" label="PASSWORDSPRIVATE_GETSAVEDPASSWORDLIST"/>
  <int value="1119" label="PASSWORDSPRIVATE_GETPASSWORDEXCEPTIONLIST"/>
  <int value="1120" label="INPUTMETHODPRIVATE_OPENOPTIONSPAGE"/>
  <int value="1121" label="FEEDBACKPRIVATE_LOGSRTPROMPTRESULT"/>
  <int value="1122" label="BLUETOOTHLOWENERGY_CREATESERVICE"/>
  <int value="1123" label="BLUETOOTHLOWENERGY_CREATECHARACTERISTIC"/>
  <int value="1124" label="BLUETOOTHLOWENERGY_CREATEDESCRIPTOR"/>
  <int value="1125" label="BLUETOOTHLOWENERGY_REGISTERSERVICE"/>
  <int value="1126" label="BLUETOOTHLOWENERGY_UNREGISTERSERVICE"/>
  <int value="1127" label="BLUETOOTHLOWENERGY_SENDREQUESTRESPONSE"/>
  <int value="1128"
      label="BLUETOOTHLOWENERGY_NOTIFYCHARACTERISTICVALUECHANGED"/>
  <int value="1129" label="BLUETOOTHLOWENERGY_REMOVESERVICE"/>
  <int value="1130" label="AUTOFILLPRIVATE_GETADDRESSLIST"/>
  <int value="1131" label="AUTOFILLPRIVATE_GETCREDITCARDLIST"/>
  <int value="1132" label="SYSTEM_DISPLAY_OVERSCANCALIBRATIONSTART"/>
  <int value="1133" label="SYSTEM_DISPLAY_OVERSCANCALIBRATIONADJUST"/>
  <int value="1134" label="SYSTEM_DISPLAY_OVERSCANCALIBRATIONRESET"/>
  <int value="1135" label="SYSTEM_DISPLAY_OVERSCANCALIBRATIONCOMPLETE"/>
  <int value="1136" label="AUTOFILLPRIVATE_GETCOUNTRYLIST"/>
  <int value="1137" label="RUNTIME_RESTARTAFTERDELAY"/>
  <int value="1138" label="SYSTEM_DISPLAY_SETDISPLAYLAYOUT"/>
  <int value="1139" label="SYSTEM_DISPLAY_GETDISPLAYLAYOUT"/>
  <int value="1140" label="QUICKUNLOCKPRIVATE_SETMODES"/>
  <int value="1141" label="QUICKUNLOCKPRIVATE_GETACTIVEMODES"/>
  <int value="1142" label="QUICKUNLOCKPRIVATE_GETAVAILABLEMODES"/>
  <int value="1143" label="WEBSTOREPRIVATE_ISPENDINGCUSTODIANAPPROVAL"/>
  <int value="1144" label="TABS_DISCARD"/>
  <int value="1145" label="LANGUAGESETTINGSPRIVATE_ENABLELANGUAGE"/>
  <int value="1146" label="LANGUAGESETTINGSPRIVATE_DISABLELANGUAGE"/>
  <int value="1147" label="FILEMANAGERPRIVATEINTERNAL_GETDIRECTORYSIZE"/>
  <int value="1148" label="BLUETOOTHLOWENERGY_SETADVERTISINGINTERVAL"/>
  <int value="1149" label="SYSTEM_DISPLAY_SHOWNATIVETOUCHCALIBRATION"/>
  <int value="1150" label="SYSTEM_DISPLAY_COMPLETECUSTOMTOUCHCALIBRATION"/>
  <int value="1151" label="SYSTEM_DISPLAY_CLEARTOUCHCALIBRATION"/>
  <int value="1152" label="CERTIFICATEPROVIDER_REQUESTPIN"/>
  <int value="1153" label="CERTIFICATEPROVIDER_STOPPINREQUEST"/>
  <int value="1154" label="QUICKUNLOCKPRIVATE_CHECKCREDENTIAL"/>
  <int value="1155" label="QUICKUNLOCKPRIVATE_GETCREDENTIALREQUIREMENTS"/>
  <int value="1156" label="CLIPBOARD_SETIMAGEDATA"/>
  <int value="1157" label="NETWORKINGPRIVATE_GETGLOBALPOLICY"/>
  <int value="1158" label="DIAL_FETCHDEVICEDESCRIPTION"/>
  <int value="1159" label="SYSTEM_DISPLAY_STARTCUSTOMTOUCHCALIBRATION"/>
  <int value="1160" label="AUDIO_GETMUTE"/>
  <int value="1161" label="AUDIO_SETMUTE"/>
  <int value="1162" label="AUDIO_GETDEVICES"/>
  <int value="1163" label="VIRTUALKEYBOARD_RESTRICTFEATURES"/>
  <int value="1164" label="NETWORKINGCASTPRIVATE_VERIFYDESTINATION"/>
  <int value="1165" label="NETWORKINGCASTPRIVATE_VERIFYANDENCRYPTCREDENTIALS"/>
  <int value="1166" label="NETWORKINGCASTPRIVATE_VERIFYANDENCRYPTDATA"/>
  <int value="1167" label="NETWORKINGCASTPRIVATE_SETWIFITDLSENABLEDSTATE"/>
  <int value="1168" label="NETWORKINGCASTPRIVATE_GETWIFITDLSSTATUS"/>
  <int value="1169" label="ACCESSIBILITY_PRIVATE_DARKENSCREEN"/>
  <int value="1170" label="WEBRTC_AUDIO_PRIVATE_SET_AUDIO_EXPERIMENTS"/>
  <int value="1171" label="AUTOTESTPRIVATE_GETPLAYSTORESTATE"/>
  <int value="1172" label="AUTOTESTPRIVATE_SETPLAYSTOREENABLED"/>
</enum>

<enum name="ExtensionIconState" type="int">
  <int value="0" label="DISABLED"/>
  <int value="1" label="VISIBLE"/>
  <int value="2" label="OVERFLOWED"/>
</enum>

<enum name="ExtensionInstallCause" type="int">
  <int value="0" label="INSTALL_CAUSE_UNSET"/>
  <int value="1" label="INSTALL_CAUSE_USER_DOWNLOAD"/>
  <int value="2" label="INSTALL_CAUSE_UPDATE"/>
  <int value="3" label="INSTALL_CAUSE_EXTERNAL_FILE"/>
  <int value="4" label="INSTALL_CAUSE_AUTOMATION"/>
</enum>

<enum name="ExtensionInstallPromptExperimentLinkAction" type="int">
  <int value="0" label="Link is shown"/>
  <int value="1" label="Link is not shown"/>
  <int value="2" label="Link is clicked"/>
</enum>

<enum name="ExtensionInstallPromptType" type="int">
  <int value="0" label="Install prompt"/>
  <int value="1" label="Inline install prompt"/>
  <int value="2" label="Bundle install prompt"/>
  <int value="3" label="Re-enable prompt"/>
  <int value="4" label="Permissions prompt"/>
  <int value="5" label="External install prompt"/>
  <int value="6" label="Post install permissions prompt"/>
  <int value="7" label="Launch prompt"/>
  <int value="8" label="Remote install prompt"/>
</enum>

<enum name="ExtensionInstallVerifierGetSignatureResult" type="int">
  <int value="0" label="No signature (network error, etc)"/>
  <int value="1" label="Invalid signature"/>
  <int value="2" label="Valid signature"/>
</enum>

<enum name="ExtensionInstallVerifierInitResult" type="int">
  <int value="0" label="No value in prefs"/>
  <int value="1" label="Pref present but parsing failed"/>
  <int value="2" label="Invalid signature"/>
  <int value="3" label="Valid signature"/>
</enum>

<enum name="ExtensionInstallVerifierMustRemainDisabled" type="int">
  <int value="0" label="VERIFIED"/>
  <int value="1" label="NOT_EXTENSION"/>
  <int value="2" label="UNPACKED"/>
  <int value="3" label="ENTERPRISE_POLICY_ALLOWED"/>
  <int value="4" label="FORCED_NOT_VERIFIED"/>
  <int value="5" label="NOT_FROM_STORE"/>
  <int value="6" label="NO_SIGNATURE"/>
  <int value="7" label="NOT_VERIFIED_BUT_NOT_ENFORCING"/>
  <int value="8" label="NOT_VERIFIED"/>
  <int value="9" label="NOT_VERIFIED_BUT_INSTALL_TIME_NEWER_THAN_SIGNATURE"/>
  <int value="10" label="NOT_VERIFIED_BUT_UNKNOWN_ID"/>
  <int value="11" label="COMPONENT"/>
</enum>

<enum name="ExtensionInstallVerifierStatus" type="int">
  <int value="0" label="NONE"/>
  <int value="1" label="BOOTSTRAP"/>
  <int value="2" label="ENFORCE"/>
  <int value="3" label="ENFORCE_STRICT"/>
</enum>

<enum name="ExtensionLaunchType" type="int">
  <int value="0" label="PINNED"/>
  <int value="1" label="REGULAR"/>
  <int value="2" label="FULLSCREEN"/>
</enum>

<enum name="ExtensionLocation" type="int">
  <int value="0" label="INVALID"/>
  <int value="1" label="INTERNAL"/>
  <int value="2" label="EXTERNAL_PREF"/>
  <int value="3" label="EXTERNAL_REGISTRY"/>
  <int value="4" label="LOAD"/>
  <int value="5" label="COMPONENT"/>
  <int value="6" label="EXTERNAL_PREF_DOWNLOAD"/>
  <int value="7" label="EXTERNAL_POLICY_DOWNLOAD"/>
  <int value="8" label="COMMAND_LINE"/>
  <int value="9" label="EXTERNAL_POLICY"/>
  <int value="10" label="EXTERNAL_COMPONENT"/>
</enum>

<enum name="ExtensionNotificationType" type="int">
  <int value="0" label="NOTIFICATION_TYPE_SIMPLE"/>
  <int value="1" label="NOTIFICATION_TYPE_BASE_FORMAT"/>
  <int value="2" label="NOTIFICATION_TYPE_IMAGE"/>
  <int value="3" label="NOTIFICATION_TYPE_MULTIPLE"/>
  <int value="4" label="NOTIFICATION_TYPE_PROGRESS"/>
</enum>

<enum name="ExtensionPermission" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="NONE"/>
  <int value="2" label="BOOKMARKS"/>
  <int value="3" label="GEOLOCATION"/>
  <int value="4" label="BROWSING_HISTORY"/>
  <int value="5" label="TABS"/>
  <int value="6" label="MANAGEMENT"/>
  <int value="7" label="DEBUGGER"/>
  <int value="8" label="1_HOST"/>
  <int value="9" label="2_HOSTS"/>
  <int value="10" label="3_HOSTS"/>
  <int value="11" label="4_OR_MORE_HOSTS"/>
  <int value="12" label="ALL_HOSTS"/>
  <int value="13" label="FULL_ACCESS"/>
  <int value="14" label="CLIPBOARD"/>
  <int value="15" label="TTS_ENGINE"/>
  <int value="16" label="CONTENT_SETTINGS"/>
  <int value="17" label="PRIVACY"/>
  <int value="18" label="MANAGED_MODE"/>
  <int value="19" label="INPUT"/>
  <int value="20" label="AUDIO_CAPTURE"/>
  <int value="21" label="VIDEO_CAPTURE"/>
  <int value="22" label="DOWNLOADS"/>
  <int value="23" label="FILE_SYSTEM_WRITE"/>
  <int value="24" label="ALL_MEDIA_GALLERIES"/>
  <int value="25" label="SERIAL"/>
  <int value="26" label="SOCKET_ANY_HOST"/>
  <int value="27" label="SOCKET_DOMAIN_HOSTS"/>
  <int value="28" label="SOCKET_SPECIFIC_HOSTS"/>
</enum>

<enum name="ExtensionPermission2" type="int">
<!-- Generated from extensions/common/permissions/permission_message.h -->

  <int value="0" label="kUnknown"/>
  <int value="1" label="kNone"/>
  <int value="2" label="kBookmarks"/>
  <int value="3" label="kGeolocation"/>
  <int value="4" label="kBrowsingHistory"/>
  <int value="5" label="kTabs"/>
  <int value="6" label="kManagement"/>
  <int value="7" label="kDebugger"/>
  <int value="8" label="kDesktopCapture"/>
  <int value="9" label="kHid"/>
  <int value="10" label="kHosts1"/>
  <int value="11" label="kHosts2"/>
  <int value="12" label="kHosts3"/>
  <int value="13" label="kHosts4OrMore"/>
  <int value="14" label="kHostsAll"/>
  <int value="15" label="kFullAccess"/>
  <int value="16" label="kClipboard"/>
  <int value="17" label="kTtsEngine"/>
  <int value="18" label="kContentSettings"/>
  <int value="19" label="kPrivacy"/>
  <int value="20" label="kSupervisedUser"/>
  <int value="21" label="kInput"/>
  <int value="22" label="kAudioCapture"/>
  <int value="23" label="kVideoCapture"/>
  <int value="24" label="kDownloads"/>
  <int value="25" label="kDeleted_FileSystemWrite"/>
  <int value="26" label="kMediaGalleriesAllGalleriesRead"/>
  <int value="27" label="kSerial"/>
  <int value="28" label="kSocketAnyHost"/>
  <int value="29" label="kSocketDomainHosts"/>
  <int value="30" label="kSocketSpecificHosts"/>
  <int value="31" label="kBluetooth"/>
  <int value="32" label="kUsb"/>
  <int value="33" label="kSystemIndicator"/>
  <int value="34" label="kUsbDevice"/>
  <int value="35" label="kMediaGalleriesAllGalleriesCopyTo"/>
  <int value="36" label="kSystemInfoDisplay"/>
  <int value="37" label="kNativeMessaging"/>
  <int value="38" label="kSyncFileSystem"/>
  <int value="39" label="kAudio"/>
  <int value="40" label="kFavicon"/>
  <int value="41" label="kMusicManagerPrivate"/>
  <int value="42" label="kWebConnectable"/>
  <int value="43" label="kActivityLogPrivate"/>
  <int value="44" label="kBluetoothDevices"/>
  <int value="45" label="kDownloadsOpen"/>
  <int value="46" label="kNetworkingPrivate"/>
  <int value="47" label="kDeclarativeWebRequest"/>
  <int value="48" label="kFileSystemDirectory"/>
  <int value="49" label="kFileSystemWriteDirectory"/>
  <int value="50" label="kSignedInDevices"/>
  <int value="51" label="kWallpaper"/>
  <int value="52" label="kNetworkState"/>
  <int value="53" label="kHomepage"/>
  <int value="54" label="kSearchProvider"/>
  <int value="55" label="kStartupPages"/>
  <int value="56" label="kMediaGalleriesAllGalleriesDelete"/>
  <int value="57" label="kScreenlockPrivate"/>
  <int value="58" label="kOverrideBookmarksUI"/>
  <int value="59" label="kAutomation"/>
  <int value="60" label="kAccessibilityFeaturesModify"/>
  <int value="61" label="kAccessibilityFeaturesRead"/>
  <int value="62" label="kBluetoothPrivate"/>
  <int value="63" label="kIdentityEmail"/>
  <int value="64" label="kExperienceSamplingPrivate"/>
  <int value="65" label="kCopresence"/>
  <int value="66" label="kTopSites"/>
  <int value="67" label="kU2fDevices"/>
  <int value="68" label="kDocumentScan"/>
  <int value="69" label="kNetworkingConfig"/>
  <int value="70" label="kPlatformKeys"/>
  <int value="71" label="kMDns"/>
  <int value="72" label="kVpnProvider"/>
  <int value="73" label="kHosts1ReadOnly"/>
  <int value="74" label="kHosts2ReadOnly"/>
  <int value="75" label="kHosts3ReadOnly"/>
  <int value="76" label="kHosts4OrMoreReadOnly"/>
  <int value="77" label="kHostsAllReadOnly"/>
  <int value="78" label="kDeleted_InterceptAllKeys"/>
  <int value="79" label="kSettingsPrivate"/>
  <int value="80" label="kPrinterProvider"/>
  <int value="81" label="kSearchEnginesPrivate"/>
  <int value="82" label="kAutofillPrivate"/>
  <int value="83" label="kPasswordsPrivate"/>
  <int value="84" label="kUsersPrivate"/>
</enum>

<enum name="ExtensionPermission3" type="int">
<!-- Generated from extensions/common/permissions/api_permission.h -->

  <int value="0" label="kInvalid"/>
  <int value="1" label="kUnknown"/>
  <int value="2" label="kAccessibilityFeaturesModify"/>
  <int value="3" label="kAccessibilityFeaturesRead"/>
  <int value="4" label="kAccessibilityPrivate"/>
  <int value="5" label="kActiveTab"/>
  <int value="6" label="kActivityLogPrivate"/>
  <int value="7" label="kAlarms"/>
  <int value="8" label="kAlphaEnabled"/>
  <int value="9" label="kAlwaysOnTopWindows"/>
  <int value="10" label="kAppView"/>
  <int value="11" label="kAudio"/>
  <int value="12" label="kAudioCapture"/>
  <int value="13" label="kDeleted_AudioModem"/>
  <int value="14" label="kAutofillPrivate"/>
  <int value="15" label="kAutomation"/>
  <int value="16" label="kAutoTestPrivate"/>
  <int value="17" label="kBackground"/>
  <int value="18" label="kBluetoothPrivate"/>
  <int value="19" label="kBookmark"/>
  <int value="20" label="kBookmarkManagerPrivate"/>
  <int value="21" label="kBrailleDisplayPrivate"/>
  <int value="22" label="kBrowser"/>
  <int value="23" label="kBrowsingData"/>
  <int value="24" label="kCast"/>
  <int value="25" label="kCastStreaming"/>
  <int value="26" label="kChromeosInfoPrivate"/>
  <int value="27" label="kClipboardRead"/>
  <int value="28" label="kClipboardWrite"/>
  <int value="29" label="kCloudPrintPrivate"/>
  <int value="30" label="kCommandLinePrivate"/>
  <int value="31" label="kCommandsAccessibility"/>
  <int value="32" label="kContentSettings"/>
  <int value="33" label="kContextMenus"/>
  <int value="34" label="kCookie"/>
  <int value="35" label="kDeleted_Copresence"/>
  <int value="36" label="kDeleted_CopresencePrivate"/>
  <int value="37" label="kCryptotokenPrivate"/>
  <int value="38" label="kDataReductionProxy"/>
  <int value="39" label="kDiagnostics"/>
  <int value="40" label="kDial"/>
  <int value="41" label="kDebugger"/>
  <int value="42" label="kDeclarative"/>
  <int value="43" label="kDeclarativeContent"/>
  <int value="44" label="kDeclarativeWebRequest"/>
  <int value="45" label="kDesktopCapture"/>
  <int value="46" label="kDesktopCapturePrivate"/>
  <int value="47" label="kDeveloperPrivate"/>
  <int value="48" label="kDevtools"/>
  <int value="49" label="kDns"/>
  <int value="50" label="kDocumentScan"/>
  <int value="51" label="kDownloads"/>
  <int value="52" label="kDownloadsInternal"/>
  <int value="53" label="kDownloadsOpen"/>
  <int value="54" label="kDownloadsShelf"/>
  <int value="55" label="kEasyUnlockPrivate"/>
  <int value="56" label="kEchoPrivate"/>
  <int value="57" label="kEmbeddedExtensionOptions"/>
  <int value="58" label="kEnterprisePlatformKeys"/>
  <int value="59" label="kEnterprisePlatformKeysPrivate"/>
  <int value="60" label="kExperienceSamplingPrivate"/>
  <int value="61" label="kExperimental"/>
  <int value="62" label="kExtensionView"/>
  <int value="63" label="kExternallyConnectableAllUrls"/>
  <int value="64" label="kFeedbackPrivate"/>
  <int value="65" label="kFileBrowserHandler"/>
  <int value="66" label="kFileBrowserHandlerInternal"/>
  <int value="67" label="kFileManagerPrivate"/>
  <int value="68" label="kFileSystem"/>
  <int value="69" label="kFileSystemDirectory"/>
  <int value="70" label="kFileSystemProvider"/>
  <int value="71" label="kFileSystemRequestFileSystem"/>
  <int value="72" label="kFileSystemRetainEntries"/>
  <int value="73" label="kFileSystemWrite"/>
  <int value="74" label="kDeleted_FileSystemWriteDirectory"/>
  <int value="75" label="kFirstRunPrivate"/>
  <int value="76" label="kFontSettings"/>
  <int value="77" label="kFullscreen"/>
  <int value="78" label="kDeleted_GcdPrivate"/>
  <int value="79" label="kGcm"/>
  <int value="80" label="kGeolocation"/>
  <int value="81" label="kHid"/>
  <int value="82" label="kHistory"/>
  <int value="83" label="kHomepage"/>
  <int value="84" label="kHotwordPrivate"/>
  <int value="85" label="kIdentity"/>
  <int value="86" label="kIdentityEmail"/>
  <int value="87" label="kIdentityPrivate"/>
  <int value="88" label="kIdltest"/>
  <int value="89" label="kIdle"/>
  <int value="90" label="kImeWindowEnabled"/>
  <int value="91" label="kInlineInstallPrivate"/>
  <int value="92" label="kInput"/>
  <int value="93" label="kInputMethodPrivate"/>
  <int value="94" label="kDeleted_InterceptAllKeys"/>
  <int value="95" label="kLauncherSearchProvider"/>
  <int value="96" label="kLocation"/>
  <int value="97" label="kLogPrivate"/>
  <int value="98" label="kManagement"/>
  <int value="99" label="kMediaGalleries"/>
  <int value="100" label="kMediaPlayerPrivate"/>
  <int value="101" label="kMediaRouterPrivate"/>
  <int value="102" label="kMetricsPrivate"/>
  <int value="103" label="kMDns"/>
  <int value="104" label="kMusicManagerPrivate"/>
  <int value="105" label="kNativeMessaging"/>
  <int value="106" label="kNetworkingConfig"/>
  <int value="107" label="kNetworkingPrivate"/>
  <int value="108" label="kDeleted_NotificationProvider"/>
  <int value="109" label="kNotifications"/>
  <int value="110" label="kOverrideEscFullscreen"/>
  <int value="111" label="kPageCapture"/>
  <int value="112" label="kPointerLock"/>
  <int value="113" label="kPlatformKeys"/>
  <int value="114" label="kPlugin"/>
  <int value="115" label="kPower"/>
  <int value="116" label="kPreferencesPrivate"/>
  <int value="117" label="kDeleted_PrincipalsPrivate"/>
  <int value="118" label="kPrinterProvider"/>
  <int value="119" label="kPrivacy"/>
  <int value="120" label="kProcesses"/>
  <int value="121" label="kProxy"/>
  <int value="122" label="kImageWriterPrivate"/>
  <int value="123" label="kDeleted_ReadingListPrivate"/>
  <int value="124" label="kRtcPrivate"/>
  <int value="125" label="kSearchProvider"/>
  <int value="126" label="kSearchEnginesPrivate"/>
  <int value="127" label="kSerial"/>
  <int value="128" label="kSessions"/>
  <int value="129" label="kSettingsPrivate"/>
  <int value="130" label="kSignedInDevices"/>
  <int value="131" label="kSocket"/>
  <int value="132" label="kStartupPages"/>
  <int value="133" label="kStorage"/>
  <int value="134" label="kStreamsPrivate"/>
  <int value="135" label="kSyncFileSystem"/>
  <int value="136" label="kSystemPrivate"/>
  <int value="137" label="kSystemDisplay"/>
  <int value="138" label="kSystemStorage"/>
  <int value="139" label="kTab"/>
  <int value="140" label="kTabCapture"/>
  <int value="141" label="kTabCaptureForTab"/>
  <int value="142" label="kTerminalPrivate"/>
  <int value="143" label="kTopSites"/>
  <int value="144" label="kTts"/>
  <int value="145" label="kTtsEngine"/>
  <int value="146" label="kUnlimitedStorage"/>
  <int value="147" label="kU2fDevices"/>
  <int value="148" label="kUsb"/>
  <int value="149" label="kUsbDevice"/>
  <int value="150" label="kVideoCapture"/>
  <int value="151" label="kVirtualKeyboardPrivate"/>
  <int value="152" label="kVpnProvider"/>
  <int value="153" label="kWallpaper"/>
  <int value="154" label="kWallpaperPrivate"/>
  <int value="155" label="kWebcamPrivate"/>
  <int value="156" label="kWebConnectable"/>
  <int value="157" label="kWebNavigation"/>
  <int value="158" label="kWebRequest"/>
  <int value="159" label="kWebRequestBlocking"/>
  <int value="160" label="kWebrtcAudioPrivate"/>
  <int value="161" label="kWebrtcDesktopCapturePrivate"/>
  <int value="162" label="kWebrtcLoggingPrivate"/>
  <int value="163" label="kWebstorePrivate"/>
  <int value="164" label="kWebstoreWidgetPrivate"/>
  <int value="165" label="kWebView"/>
  <int value="166" label="kWindowShape"/>
  <int value="167" label="kScreenlockPrivate"/>
  <int value="168" label="kSystemCpu"/>
  <int value="169" label="kSystemMemory"/>
  <int value="170" label="kSystemNetwork"/>
  <int value="171" label="kSystemInfoCpu"/>
  <int value="172" label="kSystemInfoMemory"/>
  <int value="173" label="kBluetooth"/>
  <int value="174" label="kBluetoothDevices"/>
  <int value="175" label="kFavicon"/>
  <int value="176" label="kFullAccess"/>
  <int value="177" label="kHostReadOnly"/>
  <int value="178" label="kHostReadWrite"/>
  <int value="179" label="kHostsAll"/>
  <int value="180" label="kHostsAllReadOnly"/>
  <int value="181" label="kMediaGalleriesAllGalleriesCopyTo"/>
  <int value="182" label="kMediaGalleriesAllGalleriesDelete"/>
  <int value="183" label="kMediaGalleriesAllGalleriesRead"/>
  <int value="184" label="kNetworkState"/>
  <int value="185" label="kOverrideBookmarksUI"/>
  <int value="186" label="kShouldWarnAllHosts"/>
  <int value="187" label="kSocketAnyHost"/>
  <int value="188" label="kSocketDomainHosts"/>
  <int value="189" label="kSocketSpecificHosts"/>
  <int value="190" label="kDeleted_UsbDeviceList"/>
  <int value="191" label="kUsbDeviceUnknownProduct"/>
  <int value="192" label="kUsbDeviceUnknownVendor"/>
  <int value="193" label="kUsersPrivate"/>
  <int value="194" label="kPasswordsPrivate"/>
  <int value="195" label="kLanguageSettingsPrivate"/>
  <int value="196" label="kEnterpriseDeviceAttributes"/>
  <int value="197" label="kCertificateProvider"/>
  <int value="198" label="kResourcesPrivate"/>
  <int value="199" label="kDisplaySource"/>
  <int value="200" label="kClipboard"/>
  <int value="201" label="kNetworkingOnc"/>
  <int value="202" label="kVirtualKeyboard"/>
  <int value="203" label="kNetworkingCastPrivate"/>
</enum>

<enum name="ExtensionServiceVerifyAllSuccess" type="int">
  <int value="0" label="VERIFY_ALL_BOOTSTRAP_SUCCESS"/>
  <int value="1" label="VERIFY_ALL_BOOTSTRAP_FAILURE"/>
  <int value="2" label="VERIFY_ALL_NON_BOOTSTRAP_SUCCESS"/>
  <int value="3" label="VERIFY_ALL_NON_BOOTSTRAP_FAILURE"/>
</enum>

<enum name="ExtensionType" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="EXTENSION"/>
  <int value="2" label="THEME"/>
  <int value="3" label="USER_SCRIPT"/>
  <int value="4" label="HOSTED_APP"/>
  <int value="5" label="LEGACY_PACKAGED_APP"/>
  <int value="6" label="PLATFORM_APP"/>
</enum>

<enum name="ExtensionUninstallDialogAction" type="int">
  <int value="0" label="Uninstall only"/>
  <int value="1" label="Uninstall and report abuse"/>
  <int value="2" label="Dialog canceled"/>
</enum>

<enum name="ExtensionUninstallSource" type="int">
  <int value="0" label="Testing"/>
  <int value="1" label="Context menu"/>
  <int value="2" label="Permissions increase"/>
  <int value="3" label="Storage threshold exceeded"/>
  <int value="4" label="App list"/>
  <int value="5" label="App info dialog"/>
  <int value="6" label="Chrome apps page"/>
  <int value="7" label="Chrome extensions page"/>
  <int value="8" label="Extension"/>
</enum>

<enum name="ExtensionUnpackFailureReason" type="int">
  <summary>
    Reasons the sandboxed extension unpacker can fail.  See enum FailureReason
    in src/chrome/browser/extensions/sandboxed_extension_unpacker.h .
  </summary>
  <int value="0" label="COULD_NOT_GET_TEMP_DIRECTORY"/>
  <int value="1" label="COULD_NOT_CREATE_TEMP_DIRECTORY"/>
  <int value="2" label="FAILED_TO_COPY_EXTENSION_FILE_TO_TEMP_DIRECTORY"/>
  <int value="3" label="COULD_NOT_GET_SANDBOX_FRIENDLY_PATH"/>
  <int value="4" label="COULD_NOT_LOCALIZE_EXTENSION"/>
  <int value="5" label="INVALID_MANIFEST"/>
  <int value="6" label="UNPACKER_CLIENT_FAILED"/>
  <int value="7" label="UTILITY_PROCESS_CRASHED_WHILE_TRYING_TO_INSTALL"/>
  <int value="8" label="CRX_FILE_NOT_READABLE"/>
  <int value="9" label="CRX_HEADER_INVALID"/>
  <int value="10" label="CRX_MAGIC_NUMBER_INVALID"/>
  <int value="11" label="CRX_VERSION_NUMBER_INVALID"/>
  <int value="12" label="CRX_EXCESSIVELY_LARGE_KEY_OR_SIGNATURE"/>
  <int value="13" label="CRX_ZERO_KEY_LENGTH"/>
  <int value="14" label="CRX_ZERO_SIGNATURE_LENGTH"/>
  <int value="15" label="CRX_PUBLIC_KEY_INVALID"/>
  <int value="16" label="CRX_SIGNATURE_INVALID"/>
  <int value="17" label="CRX_SIGNATURE_VERIFICATION_INITIALIZATION_FAILED"/>
  <int value="18" label="CRX_SIGNATURE_VERIFICATION_FAILED"/>
  <int value="19" label="ERROR_SERIALIZING_MANIFEST_JSON"/>
  <int value="20" label="ERROR_SAVING_MANIFEST_JSON"/>
  <int value="21" label="COULD_NOT_READ_IMAGE_DATA_FROM_DISK"/>
  <int value="22" label="DECODED_IMAGES_DO_NOT_MATCH_THE_MANIFEST"/>
  <int value="23" label="INVALID_PATH_FOR_BROWSER_IMAGE"/>
  <int value="24" label="ERROR_REMOVING_OLD_IMAGE_FILE"/>
  <int value="25" label="INVALID_PATH_FOR_BITMAP_IMAGE"/>
  <int value="26" label="ERROR_RE_ENCODING_THEME_IMAGE"/>
  <int value="27" label="ERROR_SAVING_THEME_IMAGE"/>
  <int value="28" label="COULD_NOT_READ_CATALOG_DATA_FROM_DISK"/>
  <int value="29" label="INVALID_CATALOG_DATA"/>
  <int value="30" label="INVALID_PATH_FOR_CATALOG"/>
  <int value="31" label="ERROR_SERIALIZING_CATALOG"/>
  <int value="32" label="ERROR_SAVING_CATALOG"/>
  <int value="33" label="CRX_HASH_VERIFICATION_FAILED"/>
</enum>

<enum name="ExternalDeviceAction" type="int">
  <int value="0" label="Import to Drive"/>
  <int value="1" label="View files"/>
  <int value="2" label="View files (automatically)"/>
  <int value="3" label="Watch video"/>
  <int value="4" label="Error"/>
  <int value="5" label="Close (no action)"/>
</enum>

<enum name="ExternalDisplayOpenResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Failed with EACCES (incorrect permission on device)"/>
  <int value="2" label="Failed with ENOENT (device missing)"/>
  <int value="3" label="Failed for some other reason"/>
</enum>

<enum name="ExternalDisplayReceiveResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="ioctl() to I2C device failed"/>
  <int value="2" label="Bad message checksum"/>
  <int value="3" label="Bad message address"/>
  <int value="4" label="Bad message length"/>
  <int value="5" label="Bad command code in message"/>
  <int value="6" label="Bad result code in message"/>
  <int value="7" label="Bad feature index in message"/>
  <int value="8" label="Maximum value of 0 in message"/>
</enum>

<enum name="ExternalDisplaySendResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="ioctl() to I2C device failed"/>
</enum>

<enum name="ExternalItemState" type="int">
  <int value="0" label="DEPRECATED_DISABLED"/>
  <int value="1" label="DEPRECATED_ENABLED"/>
  <int value="2" label="DISABLED (in webstore)"/>
  <int value="3" label="ENABLED (in webstore)"/>
  <int value="4" label="DISABLED (not in webstore)"/>
  <int value="5" label="ENABLED (not in webstore)"/>
  <int value="6" label="UNINSTALLED (in webstore)"/>
  <int value="7" label="UNINSTALLED (not in webstore)"/>
</enum>

<enum name="ExternallyConditionalizedType" type="int">
  <int value="0" label="Cache entry requires validation"/>
  <int value="1" label="Cache entry usable"/>
  <int value="2" label="Cache entry validators don't match request"/>
</enum>

<enum name="ExtractionStatus" type="int">
  <summary>The status of metadata extraction for Appindexing.</summary>
  <int value="0" label="OK"/>
  <int value="1" label="Empty result"/>
  <int value="2" label="JSON parsing failure"/>
  <int value="3" label="Wrong type in JSON top-level object"/>
</enum>

<enum name="Exynos5250LotIdEnum" type="int">
  <int value="0" label="Fused device"/>
  <int value="1" label="Generic unfused device"/>
  <int value="2" label="Unfused; lot ID NZVPU"/>
  <int value="3" label="Unfused; lot ID NZVR7"/>
</enum>

<enum name="FallbackDNSTestResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Failure"/>
</enum>

<enum name="FallbackSSLVersion" type="int">
  <int value="0" label="FALLBACK_NONE">SSL version fallback did not occur.</int>
  <int value="1" label="FALLBACK_SSL3">Fell back on SSL 3.0.</int>
  <int value="2" label="FALLBACK_TLS1">Fell back on TLS 1.0.</int>
  <int value="3" label="FALLBACK_TLS1_1">Fell back on TLS 1.1.</int>
</enum>

<enum name="FaultTolerantHeap" type="int">
  <int value="0" label="FTH_OFF">FTH is completely off.</int>
  <int value="1" label="FTH_HKLM">FTH is enabled in HKLM.</int>
  <int value="2" label="FTH_HKCU">FTH is enabled in HKCU.</int>
  <int value="3" label="FTH_HKCU_HKLM">FTH is enabled in HKCU and HKLM.</int>
  <int value="4" label="FTH_ACLAYERS">AcLayers.dll is loaded.</int>
  <int value="5" label="FTH_ACLAYERS_HKLM">
    AcLayers.dll is loaded and FTH is enabled in HKLM.
  </int>
  <int value="6" label="FTH_ACLAYERS_HKCU">
    AcLayers.dll is loaded and FTH is enabled in HKCU.
  </int>
  <int value="7" label="FTH_ACLAYERS_HKCU_HKLM">
    AcLayers.dll is loaded and FTH is enabled in HKCU and HKLM.
  </int>
  <int value="8" label="FTH_ACXTRNAL">AcXtrnal is loaded.</int>
  <int value="9" label="FTH_ACXTRNAL_HKLM">
    AcXtrnal is loaded and FTH is enabled in HKLM.
  </int>
  <int value="10" label="FTH_ACXTRNAL_HKCU">
    AcXtrnal is loaded and FTH is enabled in HKCU.
  </int>
  <int value="11" label="FTH_ACXTRNAL_HKCU_HKLM">
    AcXtrnal is loaded and FTH is enabled in HKCU and HKLM.
  </int>
  <int value="12" label="FTH_ACXTRNAL_ACLAYERS">
    AcXtrmal and AcLayers.dll are loaded.
  </int>
  <int value="13" label="FTH_ACXTRNAL_ACLAYERS_HKLM">
    AcXtrmal and AcLayers.dll are loaded and FTH is enabled in HKLM.
  </int>
  <int value="14" label="FTH_ACXTRNAL_ACLAYERS_HKCU">
    AcXtrmal and AcLayers.dll are loaded and FTH is enabled in HKCU.
  </int>
  <int value="15" label="FTH_ACXTRNAL_ACLAYERS_HKCU_HKLM">
    AcXtrmal and AcLayers.dll are loaded and FTH is enabled in HKCU and HKLM.
  </int>
</enum>

<enum name="FaviconDownloadStatus" type="int">
  <int value="0" label="SUCCEEDED">Download succeeded.</int>
  <int value="1" label="FAILED">Download failed.</int>
  <int value="2" label="SKIPPED">
    Download skipped because the URL was known to have failed previously.
  </int>
  <int value="3" label="DOWNLOAD_OUTCOME_COUNT">
    The amount of outcomes that can a download may have.
  </int>
</enum>

<enum name="FaviconFetchResult" type="int">
  <int value="0" label="SUCCESS_CACHED">
    Success - favicon found in local cache
  </int>
  <int value="1" label="SUCCESS_FETCHED">
    Success - favicon fetched from the server
  </int>
  <int value="2" label="FAILURE">Failure - favicon not available</int>
</enum>

<enum name="FeatureObserver" type="int">
<!-- Generated from third_party/WebKit/Source/core/frame/UseCounter.h -->

  <int value="0" label="OBSOLETE_PageDestruction"/>
  <int value="1" label="LegacyNotifications"/>
  <int value="2" label="MultipartMainResource"/>
  <int value="3" label="PrefixedIndexedDB"/>
  <int value="4" label="WorkerStart"/>
  <int value="5" label="SharedWorkerStart"/>
  <int value="6" label="LegacyWebAudio"/>
  <int value="7" label="WebAudioStart"/>
  <int value="8" label="PrefixedContentSecurityPolicy"/>
  <int value="9" label="UnprefixedIndexedDB"/>
  <int value="10" label="OpenWebDatabase"/>
  <int value="11" label="LegacyHTMLNotifications"/>
  <int value="12" label="LegacyTextNotifications"/>
  <int value="13" label="UnprefixedRequestAnimationFrame"/>
  <int value="14" label="PrefixedRequestAnimationFrame"/>
  <int value="15" label="ContentSecurityPolicy"/>
  <int value="16" label="ContentSecurityPolicyReportOnly"/>
  <int value="17" label="PrefixedContentSecurityPolicyReportOnly"/>
  <int value="18" label="PrefixedTransitionEndEvent"/>
  <int value="19" label="UnprefixedTransitionEndEvent"/>
  <int value="20" label="PrefixedAndUnprefixedTransitionEndEvent"/>
  <int value="21" label="AutoFocusAttribute"/>
  <int value="22" label="DeprecatedAutoSaveAttribute"/>
  <int value="23" label="DataListElement"/>
  <int value="24" label="FormAttribute"/>
  <int value="25" label="IncrementalAttribute"/>
  <int value="26" label="InputTypeColor"/>
  <int value="27" label="InputTypeDate"/>
  <int value="28" label="InputTypeDateTime"/>
  <int value="29" label="InputTypeDateTimeFallback"/>
  <int value="30" label="InputTypeDateTimeLocal"/>
  <int value="31" label="InputTypeEmail"/>
  <int value="32" label="InputTypeMonth"/>
  <int value="33" label="InputTypeNumber"/>
  <int value="34" label="InputTypeRange"/>
  <int value="35" label="InputTypeSearch"/>
  <int value="36" label="InputTypeTel"/>
  <int value="37" label="InputTypeTime"/>
  <int value="38" label="InputTypeURL"/>
  <int value="39" label="InputTypeWeek"/>
  <int value="40" label="InputTypeWeekFallback"/>
  <int value="41" label="ListAttribute"/>
  <int value="42" label="MaxAttribute"/>
  <int value="43" label="MinAttribute"/>
  <int value="44" label="PatternAttribute"/>
  <int value="45" label="PlaceholderAttribute"/>
  <int value="46" label="PrecisionAttribute"/>
  <int value="47" label="PrefixedDirectoryAttribute"/>
  <int value="48" label="PrefixedSpeechAttribute"/>
  <int value="49" label="RequiredAttribute"/>
  <int value="50" label="ResultsAttribute"/>
  <int value="51" label="StepAttribute"/>
  <int value="52" label="PageVisits"/>
  <int value="53" label="HTMLMarqueeElement"/>
  <int value="54" label="Unused: CSSOverflowMarquee"/>
  <int value="55" label="Reflection"/>
  <int value="56" label="CursorVisibility"/>
  <int value="57" label="PrefixedStorageInfo"/>
  <int value="58" label="XFrameOptions"/>
  <int value="59" label="XFrameOptionsSameOrigin"/>
  <int value="60" label="XFrameOptionsSameOriginWithBadAncestorChain"/>
  <int value="61" label="DeprecatedFlexboxWebContent"/>
  <int value="62" label="DeprecatedFlexboxChrome"/>
  <int value="63" label="DeprecatedFlexboxChromeExtension"/>
  <int value="64" label="SVGTRefElement"/>
  <int value="65" label="UnprefixedPerformanceTimeline"/>
  <int value="66" label="PrefixedPerformanceTimeline"/>
  <int value="67" label="UnprefixedUserTiming"/>
  <int value="68" label="PrefixedUserTiming"/>
  <int value="69" label="WindowEvent"/>
  <int value="70" label="ContentSecurityPolicyWithBaseElement"/>
  <int value="71" label="PrefixedMediaAddKey"/>
  <int value="72" label="PrefixedMediaGenerateKeyRequest"/>
  <int value="73" label="WebAudioLooping"/>
  <int value="74" label="DocumentClear"/>
  <int value="75" label="PrefixedTransitionMediaFeature"/>
  <int value="76" label="SVGFontElement"/>
  <int value="77" label="XMLDocument"/>
  <int value="78" label="XSLProcessingInstruction"/>
  <int value="79" label="XSLTProcessor"/>
  <int value="80" label="SVGSwitchElement"/>
  <int value="81" label="PrefixedDocumentRegister"/>
  <int value="82" label="HTMLShadowElementOlderShadowRoot"/>
  <int value="83" label="DocumentAll"/>
  <int value="84" label="FormElement"/>
  <int value="85" label="DemotedFormElement"/>
  <int value="86" label="CaptureAttributeAsEnum"/>
  <int value="87" label="ShadowDOMPrefixedPseudo"/>
  <int value="88" label="ShadowDOMPrefixedCreateShadowRoot"/>
  <int value="89" label="ShadowDOMPrefixedShadowRoot"/>
  <int value="90" label="SVGAnimationElement"/>
  <int value="91" label="KeyboardEventKeyLocation"/>
  <int value="92" label="CaptureEvents"/>
  <int value="93" label="ReleaseEvents"/>
  <int value="94" label="CSSDisplayRunIn"/>
  <int value="95" label="CSSDisplayCompact"/>
  <int value="96" label="LineClamp"/>
  <int value="97" label="SubFrameBeforeUnloadRegistered"/>
  <int value="98" label="SubFrameBeforeUnloadFired"/>
  <int value="99" label="CSSPseudoElementPrefixedDistributed"/>
  <int value="100" label="TextReplaceWholeText"/>
  <int value="101" label="PrefixedShadowRootConstructor"/>
  <int value="102" label="ConsoleMarkTimeline"/>
  <int value="103" label="CSSPseudoElementUserAgentCustomPseudo"/>
  <int value="104" label="DocumentTypeEntities"/>
  <int value="105" label="DocumentTypeInternalSubset"/>
  <int value="106" label="DocumentTypeNotations"/>
  <int value="107" label="ElementGetAttributeNode"/>
  <int value="108" label="ElementSetAttributeNode"/>
  <int value="109" label="ElementRemoveAttributeNode"/>
  <int value="110" label="ElementGetAttributeNodeNS"/>
  <int value="111" label="DocumentCreateAttribute"/>
  <int value="112" label="DocumentCreateAttributeNS"/>
  <int value="113" label="DocumentCreateCDATASection"/>
  <int value="114" label="DocumentInputEncoding"/>
  <int value="115" label="DocumentXMLEncoding"/>
  <int value="116" label="DocumentXMLStandalone"/>
  <int value="117" label="DocumentXMLVersion"/>
  <int value="118" label="NodeIsSameNode"/>
  <int value="119" label="NodeIsSupported"/>
  <int value="120" label="NodeNamespaceURI"/>
  <int value="121" label="NodePrefix"/>
  <int value="122" label="NodeLocalName"/>
  <int value="123" label="NavigatorProductSub"/>
  <int value="124" label="NavigatorVendor"/>
  <int value="125" label="NavigatorVendorSub"/>
  <int value="126" label="FileError"/>
  <int value="127" label="DocumentCharset"/>
  <int value="128" label="PrefixedAnimationEndEvent"/>
  <int value="129" label="UnprefixedAnimationEndEvent"/>
  <int value="130" label="PrefixedAndUnprefixedAnimationEndEvent"/>
  <int value="131" label="PrefixedAnimationStartEvent"/>
  <int value="132" label="UnprefixedAnimationStartEvent"/>
  <int value="133" label="PrefixedAndUnprefixedAnimationStartEvent"/>
  <int value="134" label="PrefixedAnimationIterationEvent"/>
  <int value="135" label="UnprefixedAnimationIterationEvent"/>
  <int value="136" label="PrefixedAndUnprefixedAnimationIterationEvent"/>
  <int value="137" label="EventReturnValue"/>
  <int value="138" label="SVGSVGElement"/>
  <int value="139" label="SVGAnimateColorElement"/>
  <int value="140" label="InsertAdjacentText"/>
  <int value="141" label="InsertAdjacentElement"/>
  <int value="142" label="HasAttributes"/>
  <int value="143" label="DOMSubtreeModifiedEvent"/>
  <int value="144" label="DOMNodeInsertedEvent"/>
  <int value="145" label="DOMNodeRemovedEvent"/>
  <int value="146" label="DOMNodeRemovedFromDocumentEvent"/>
  <int value="147" label="DOMNodeInsertedIntoDocumentEvent"/>
  <int value="148" label="DOMCharacterDataModifiedEvent"/>
  <int value="149" label="DocumentAllTags"/>
  <int value="150" label="DocumentAllLegacyCall"/>
  <int value="151" label="HTMLAppletElementLegacyCall"/>
  <int value="152" label="HTMLEmbedElementLegacyCall"/>
  <int value="153" label="HTMLObjectElementLegacyCall"/>
  <int value="154" label="BeforeLoadEvent"/>
  <int value="155" label="GetMatchedCSSRules"/>
  <int value="156" label="SVGFontInCSS"/>
  <int value="157" label="ScrollTopBodyNotQuirksMode"/>
  <int value="158" label="ScrollLeftBodyNotQuirksMode"/>
  <int value="159" label="AttributeIsId"/>
  <int value="160" label="AttributeOwnerElement"/>
  <int value="161" label="AttributeSetPrefix"/>
  <int value="162" label="AttributeSpecified"/>
  <int value="163" label="BeforeLoadEventInIsolatedWorld"/>
  <int value="164" label="PrefixedAudioDecodedByteCount"/>
  <int value="165" label="PrefixedVideoDecodedByteCount"/>
  <int value="166" label="PrefixedVideoSupportsFullscreen"/>
  <int value="167" label="PrefixedVideoDisplayingFullscreen"/>
  <int value="168" label="PrefixedVideoEnterFullscreen"/>
  <int value="169" label="PrefixedVideoExitFullscreen"/>
  <int value="170" label="PrefixedVideoEnterFullScreen"/>
  <int value="171" label="PrefixedVideoExitFullScreen"/>
  <int value="172" label="PrefixedVideoDecodedFrameCount"/>
  <int value="173" label="PrefixedVideoDroppedFrameCount"/>
  <int value="174" label="SourceElementCandidate"/>
  <int value="175" label="SourceElementNonMatchingMedia"/>
  <int value="176" label="PrefixedElementRequestFullscreen"/>
  <int value="177" label="PrefixedElementRequestFullScreen"/>
  <int value="178" label="BarPropLocationbar"/>
  <int value="179" label="BarPropMenubar"/>
  <int value="180" label="BarPropPersonalbar"/>
  <int value="181" label="BarPropScrollbars"/>
  <int value="182" label="BarPropStatusbar"/>
  <int value="183" label="BarPropToolbar"/>
  <int value="184" label="InputTypeEmailMultiple"/>
  <int value="185" label="InputTypeEmailMaxLength"/>
  <int value="186" label="InputTypeEmailMultipleMaxLength"/>
  <int value="187" label="TextTrackCueConstructor"/>
  <int value="188" label="CSSStyleDeclarationPropertyName"/>
  <int value="189" label="CSSStyleDeclarationFloatPropertyName"/>
  <int value="190" label="InputTypeText"/>
  <int value="191" label="InputTypeTextMaxLength"/>
  <int value="192" label="InputTypePassword"/>
  <int value="193" label="InputTypePasswordMaxLength"/>
  <int value="194" label="SVGInstanceRoot"/>
  <int value="195" label="ShowModalDialog"/>
  <int value="196" label="PrefixedPageVisibility"/>
  <int value="197" label="HTMLFrameElementLocation"/>
  <int value="198" label="CSSStyleSheetInsertRuleOptionalArg"/>
  <int value="199" label="CSSWebkitRegionAtRule"/>
  <int value="200" label="DocumentBeforeUnloadRegistered"/>
  <int value="201" label="DocumentBeforeUnloadFired"/>
  <int value="202" label="DocumentUnloadRegistered"/>
  <int value="203" label="DocumentUnloadFired"/>
  <int value="204" label="SVGLocatableNearestViewportElement"/>
  <int value="205" label="SVGLocatableFarthestViewportElement"/>
  <int value="206" label="IsIndexElement"/>
  <int value="207" label="HTMLHeadElementProfile"/>
  <int value="208" label="OverflowChangedEvent"/>
  <int value="209" label="SVGPointMatrixTransform"/>
  <int value="210" label="HTMLHtmlElementManifest"/>
  <int value="211" label="DOMFocusInOutEvent"/>
  <int value="212" label="FileGetLastModifiedDate"/>
  <int value="213" label="HTMLElementInnerText"/>
  <int value="214" label="HTMLElementOuterText"/>
  <int value="215" label="ReplaceDocumentViaJavaScriptURL"/>
  <int value="216" label="ElementSetAttributeNodeNS"/>
  <int value="217" label="ElementPrefixedMatchesSelector"/>
  <int value="218" label="DOMImplementationCreateCSSStyleSheet"/>
  <int value="219" label="CSSStyleSheetRules"/>
  <int value="220" label="CSSStyleSheetAddRule"/>
  <int value="221" label="CSSStyleSheetRemoveRule"/>
  <int value="222" label="InitMessageEvent"/>
  <int value="223" label="PrefixedInitMessageEvent"/>
  <int value="224" label="ElementSetPrefix"/>
  <int value="225" label="CSSStyleDeclarationGetPropertyCSSValue"/>
  <int value="226" label="SVGElementGetPresentationAttribute"/>
  <int value="227" label="REMOVEDAttrUsedAsNodeParameter"/>
  <int value="228" label="REMOVEDAttrUsedAsNodeReceiver"/>
  <int value="229" label="PrefixedMediaCancelKeyRequest"/>
  <int value="230" label="DOMImplementationHasFeature"/>
  <int value="231" label="DOMImplementationHasFeatureReturnFalse"/>
  <int value="232" label="CanPlayTypeKeySystem"/>
  <int value="233" label="PrefixedDevicePixelRatioMediaFeature"/>
  <int value="234" label="PrefixedMaxDevicePixelRatioMediaFeature"/>
  <int value="235" label="PrefixedMinDevicePixelRatioMediaFeature"/>
  <int value="236" label="PrefixedTransform2dMediaFeature"/>
  <int value="237" label="PrefixedTransform3dMediaFeature"/>
  <int value="238" label="PrefixedAnimationMediaFeature"/>
  <int value="239" label="PrefixedViewModeMediaFeature"/>
  <int value="240" label="PrefixedStorageQuota"/>
  <int value="241" label="ContentSecurityPolicyReportOnlyInMeta"/>
  <int value="242" label="PrefixedMediaSourceOpen"/>
  <int value="243" label="ResetReferrerPolicy"/>
  <int value="244" label="CaseInsensitiveAttrSelectorMatch"/>
  <int value="245" label="CaptureAttributeAsBoolean"/>
  <int value="246" label="FormNameAccessForImageElement"/>
  <int value="247" label="FormNameAccessForPastNamesMap"/>
  <int value="248" label="FormAssociationByParser"/>
  <int value="249" label="HTMLSourceElementMedia"/>
  <int value="250" label="SVGSVGElementInDocument"/>
  <int value="251" label="SVGDocumentRootElement"/>
  <int value="252" label="DocumentCreateEventOptionalArgument"/>
  <int value="253" label="MediaErrorEncrypted"/>
  <int value="254" label="EventSourceURL"/>
  <int value="255" label="WebSocketURL"/>
  <int value="256" label="UnsafeEvalBlocksCSSOM"/>
  <int value="257" label="WorkerSubjectToCSP"/>
  <int value="258" label="WorkerAllowedByChildBlockedByScript"/>
  <int value="259" label="HTMLMediaElementControllerNotNull"/>
  <int value="260" label="DeprecatedWebKitGradient"/>
  <int value="261" label="DeprecatedWebKitLinearGradient"/>
  <int value="262" label="DeprecatedWebKitRepeatingLinearGradient"/>
  <int value="263" label="DeprecatedWebKitRadialGradient"/>
  <int value="264" label="DeprecatedWebKitRepeatingRadialGradient"/>
  <int value="265" label="PrefixedGetImageDataHD"/>
  <int value="266" label="PrefixedPutImageDataHD"/>
  <int value="267" label="PrefixedImageSmoothingEnabled (obsolete)"/>
  <int value="268" label="UnprefixedImageSmoothingEnabled"/>
  <int value="269" label="ShadowRootApplyAuthorStyles"/>
  <int value="270" label="PromiseConstructor"/>
  <int value="271" label="PromiseCast"/>
  <int value="272" label="PromiseReject"/>
  <int value="273" label="PromiseResolve"/>
  <int value="274" label="TextAutosizing"/>
  <int value="275" label="TextAutosizingLayout"/>
  <int value="276" label="HTMLAnchorElementPingAttribute"/>
  <int value="277" label="JavascriptExhaustedMemory"/>
  <int value="278" label="InsertAdjacentHTML"/>
  <int value="279" label="SVGClassName"/>
  <int value="280" label="HTMLAppletElement"/>
  <int value="281" label="HTMLMediaElementSeekToFragmentStart"/>
  <int value="282" label="HTMLMediaElementPauseAtFragmentEnd"/>
  <int value="283" label="PrefixedWindowURL"/>
  <int value="284" label="PrefixedWorkerURL"/>
  <int value="285" label="WindowOrientation"/>
  <int value="286" label="DOMStringListContains"/>
  <int value="287" label="DocumentCaptureEvents"/>
  <int value="288" label="DocumentReleaseEvents"/>
  <int value="289" label="WindowCaptureEvents"/>
  <int value="290" label="WindowReleaseEvents"/>
  <int value="291" label="PrefixedGamepad"/>
  <int value="292" label="ElementAnimateKeyframeListEffectObjectTiming"/>
  <int value="293" label="ElementAnimateKeyframeListEffectDoubleTiming"/>
  <int value="294" label="ElementAnimateKeyframeListEffectNoTiming"/>
  <int value="295" label="DocumentXPathCreateExpression"/>
  <int value="296" label="DocumentXPathCreateNSResolver"/>
  <int value="297" label="DocumentXPathEvaluate"/>
  <int value="298" label="AttrGetValue"/>
  <int value="299" label="AttrSetValue"/>
  <int value="300" label="AnimationConstructorKeyframeListEffectObjectTiming"/>
  <int value="301" label="AnimationConstructorKeyframeListEffectDoubleTiming"/>
  <int value="302" label="AnimationConstructorKeyframeListEffectNoTiming"/>
  <int value="303" label="AttrSetValueWithElement"/>
  <int value="304" label="PrefixedCancelAnimationFrame"/>
  <int value="305" label="PrefixedCancelRequestAnimationFrame"/>
  <int value="306" label="NamedNodeMapGetNamedItem"/>
  <int value="307" label="NamedNodeMapSetNamedItem"/>
  <int value="308" label="NamedNodeMapRemoveNamedItem"/>
  <int value="309" label="NamedNodeMapItem"/>
  <int value="310" label="NamedNodeMapGetNamedItemNS"/>
  <int value="311" label="NamedNodeMapSetNamedItemNS"/>
  <int value="312" label="NamedNodeMapRemoveNamedItemNS"/>
  <int value="313" label="OpenWebDatabaseInWorker"/>
  <int value="314" label="OpenWebDatabaseSyncInWorker"/>
  <int value="315" label="PrefixedAllowFullscreenAttribute"/>
  <int value="316" label="XHRProgressEventPosition"/>
  <int value="317" label="XHRProgressEventTotalSize"/>
  <int value="318" label="PrefixedDocumentIsFullscreen"/>
  <int value="319" label="PrefixedDocumentFullScreenKeyboardInputAllowed"/>
  <int value="320" label="PrefixedDocumentCurrentFullScreenElement"/>
  <int value="321" label="PrefixedDocumentCancelFullScreen"/>
  <int value="322" label="PrefixedDocumentFullscreenEnabled"/>
  <int value="323" label="PrefixedDocumentFullscreenElement"/>
  <int value="324" label="PrefixedDocumentExitFullscreen"/>
  <int value="325" label="SVGForeignObjectElement"/>
  <int value="326" label="PrefixedElementRequestPointerLock"/>
  <int value="327" label="SelectionSetPosition"/>
  <int value="328" label="AnimationFinishEvent"/>
  <int value="329" label="SVGSVGElementInXMLDocument"/>
  <int value="330" label="CanvasRenderingContext2DSetAlpha"/>
  <int value="331" label="CanvasRenderingContext2DSetCompositeOperation"/>
  <int value="332" label="CanvasRenderingContext2DSetLineWidth"/>
  <int value="333" label="CanvasRenderingContext2DSetLineCap"/>
  <int value="334" label="CanvasRenderingContext2DSetLineJoin"/>
  <int value="335" label="CanvasRenderingContext2DSetMiterLimit"/>
  <int value="336" label="CanvasRenderingContext2DClearShadow"/>
  <int value="337" label="CanvasRenderingContext2DSetStrokeColor"/>
  <int value="338" label="CanvasRenderingContext2DSetFillColor"/>
  <int value="339" label="CanvasRenderingContext2DDrawImageFromRect"/>
  <int value="340" label="CanvasRenderingContext2DSetShadow"/>
  <int value="341" label="PrefixedPerformanceClearResourceTimings"/>
  <int value="342" label="PrefixedPerformanceSetResourceTimingBufferSize"/>
  <int value="343" label="EventSrcElement"/>
  <int value="344" label="EventCancelBubble"/>
  <int value="345" label="EventPath"/>
  <int value="346" label="EventClipboardData"/>
  <int value="347" label="NodeIteratorDetach"/>
  <int value="348" label="AttrNodeValue"/>
  <int value="349" label="AttrTextContent"/>
  <int value="350" label="EventGetReturnValueTrue"/>
  <int value="351" label="EventGetReturnValueFalse"/>
  <int value="352" label="EventSetReturnValueTrue"/>
  <int value="353" label="EventSetReturnValueFalse"/>
  <int value="354" label="NodeIteratorExpandEntityReferences"/>
  <int value="355" label="TreeWalkerExpandEntityReferences"/>
  <int value="356" label="WindowOffscreenBuffering"/>
  <int value="357" label="WindowDefaultStatus"/>
  <int value="358" label="WindowDefaultstatus"/>
  <int value="359" label="PrefixedConvertPointFromPageToNode"/>
  <int value="360" label="PrefixedConvertPointFromNodeToPage"/>
  <int value="361" label="PrefixedTransitionEventConstructor"/>
  <int value="362" label="PrefixedMutationObserverConstructor"/>
  <int value="363" label="PrefixedIDBCursorConstructor"/>
  <int value="364" label="PrefixedIDBDatabaseConstructor"/>
  <int value="365" label="PrefixedIDBFactoryConstructor"/>
  <int value="366" label="PrefixedIDBIndexConstructor"/>
  <int value="367" label="PrefixedIDBKeyRangeConstructor"/>
  <int value="368" label="PrefixedIDBObjectStoreConstructor"/>
  <int value="369" label="PrefixedIDBRequestConstructor"/>
  <int value="370" label="PrefixedIDBTransactionConstructor"/>
  <int value="371" label="NotificationPermission"/>
  <int value="372" label="RangeDetach"/>
  <int value="373" label="DocumentImportNodeOptionalArgument"/>
  <int value="374" label="HTMLTableElementVspace"/>
  <int value="375" label="HTMLTableElementHspace"/>
  <int value="376" label="PrefixedDocumentExitPointerLock"/>
  <int value="377" label="PrefixedDocumentPointerLockElement"/>
  <int value="378" label="PrefixedTouchRadiusX"/>
  <int value="379" label="PrefixedTouchRadiusY"/>
  <int value="380" label="PrefixedTouchRotationAngle"/>
  <int value="381" label="PrefixedTouchForce"/>
  <int value="382" label="PrefixedMouseEventMovementX"/>
  <int value="383" label="PrefixedMouseEventMovementY"/>
  <int value="384" label="PrefixedWheelEventDirectionInvertedFromDevice"/>
  <int value="385" label="PrefixedWheelEventInit"/>
  <int value="386" label="PrefixedFileRelativePath"/>
  <int value="387" label="DocumentCaretRangeFromPoint"/>
  <int value="388" label="DocumentGetCSSCanvasContext"/>
  <int value="389" label="ElementScrollIntoViewIfNeeded"/>
  <int value="390" label="ElementScrollByLines"/>
  <int value="391" label="ElementScrollByPages"/>
  <int value="392" label="RangeCompareNode"/>
  <int value="393" label="RangeExpand"/>
  <int value="394" label="HTMLFrameElementWidth"/>
  <int value="395" label="HTMLFrameElementHeight"/>
  <int value="396" label="HTMLImageElementX"/>
  <int value="397" label="HTMLImageElementY"/>
  <int value="398" label="HTMLOptionsCollectionRemoveElement"/>
  <int value="399" label="HTMLPreElementWrap"/>
  <int value="400" label="SelectionBaseNode"/>
  <int value="401" label="SelectionBaseOffset"/>
  <int value="402" label="SelectionExtentNode"/>
  <int value="403" label="SelectionExtentOffset"/>
  <int value="404" label="SelectionType"/>
  <int value="405" label="SelectionModify"/>
  <int value="406" label="SelectionSetBaseAndExtent"/>
  <int value="407" label="SelectionEmpty"/>
  <int value="408" label="SVGFEMorphologyElementSetRadius"/>
  <int value="409" label="VTTCue"/>
  <int value="410" label="VTTCueRender"/>
  <int value="411" label="VTTCueRenderVertical"/>
  <int value="412" label="VTTCueRenderSnapToLinesFalse"/>
  <int value="413" label="VTTCueRenderLineNotAuto"/>
  <int value="414" label="VTTCueRenderPositionNot50"/>
  <int value="415" label="VTTCueRenderSizeNot100"/>
  <int value="416" label="VTTCueRenderAlignNotCenter"/>
  <int value="417" label="ElementRequestPointerLock"/>
  <int value="418" label="VTTCueRenderRtl"/>
  <int value="419" label="PostMessageFromSecureToInsecure"/>
  <int value="420" label="PostMessageFromInsecureToSecure"/>
  <int value="421" label="DocumentExitPointerLock"/>
  <int value="422" label="DocumentPointerLockElement"/>
  <int value="423" label="MixedContentFont"/>
  <int value="424" label="PrefixedCursorZoomIn"/>
  <int value="425" label="PrefixedCursorZoomOut"/>
  <int value="426" label="CSSCharsetRuleEncoding"/>
  <int value="427" label="DocumentSetCharset"/>
  <int value="428" label="DocumentDefaultCharset"/>
  <int value="429" label="TextEncoderConstructor"/>
  <int value="430" label="TextEncoderEncode"/>
  <int value="431" label="TextDecoderConstructor"/>
  <int value="432" label="TextDecoderDecode"/>
  <int value="433" label="FocusInOutEvent"/>
  <int value="434" label="MouseEventMovementX"/>
  <int value="435" label="MouseEventMovementY"/>
  <int value="436" label="MixedContentTextTrack"/>
  <int value="437" label="MixedContentRaw"/>
  <int value="438" label="MixedContentImage"/>
  <int value="439" label="MixedContentMedia"/>
  <int value="440" label="DocumentFonts"/>
  <int value="441" label="MixedContentFormsSubmitted"/>
  <int value="442" label="FormsSubmitted"/>
  <int value="443" label="TextInputEventOnInputObsolete"/>
  <int value="444" label="TextInputEventOnTextAreaObsolete"/>
  <int value="445" label="TextInputEventOnContentEditableObsolete"/>
  <int value="446" label="TextInputEventOnNotNodeObsolete"/>
  <int value="447" label="WebkitBeforeTextInsertedOnInputObsolete"/>
  <int value="448" label="WebkitBeforeTextInsertedOnTextAreaObsolete"/>
  <int value="449" label="WebkitBeforeTextInsertedOnContentEditableObsolete"/>
  <int value="450" label="WebkitBeforeTextInsertedOnNotNodeObsolete"/>
  <int value="451" label="WebkitEditableContentChangedOnInputObsolete"/>
  <int value="452" label="WebkitEditableContentChangedOnTextAreaObsolete"/>
  <int value="453"
      label="WebkitEditableContentChangedOnContentEditableObsolete"/>
  <int value="454" label="WebkitEditableContentChangedOnNotNodeObsolete"/>
  <int value="455" label="HTMLImports"/>
  <int value="456" label="ElementCreateShadowRoot"/>
  <int value="457" label="DocumentRegisterElement"/>
  <int value="458" label="EditingAppleInterchangeNewline"/>
  <int value="459" label="EditingAppleConvertedSpace"/>
  <int value="460" label="EditingApplePasteAsQuotation"/>
  <int value="461" label="EditingAppleStyleSpanClass"/>
  <int value="462" label="EditingAppleTabSpanClass"/>
  <int value="463" label="HTMLImportsAsyncAttribute"/>
  <int value="464" label="FontFaceSetReady"/>
  <int value="465" label="XMLHttpRequestSynchronous"/>
  <int value="466" label="CSSSelectorPseudoUnresolved"/>
  <int value="467" label="CSSSelectorPseudoShadow"/>
  <int value="468" label="CSSSelectorPseudoContent"/>
  <int value="469" label="CSSSelectorPseudoHost"/>
  <int value="470" label="CSSSelectorPseudoHostContext"/>
  <int value="471" label="CSSDeepCombinator"/>
  <int value="472" label="SyncXHRWithCredentials"/>
  <int value="473" label="UseAsm"/>
  <int value="474" label="KeyEventNotAllowedInFullScreen"/>
  <int value="475" label="DOMWindowOpen"/>
  <int value="476" label="DOMWindowOpenFeatures"/>
  <int value="477" label="LegacyFullScreenErrorExemption"/>
  <int value="478" label="MediaStreamTrackGetSources"/>
  <int value="479" label="AspectRatioFlexItem"/>
  <int value="480" label="DetailsElement"/>
  <int value="481" label="DialogElement"/>
  <int value="482" label="MapElement"/>
  <int value="483" label="MeterElement"/>
  <int value="484" label="ProgressElement"/>
  <int value="485" label="VideoFullscreenAllowedExemption"/>
  <int value="488" label="WebKitPoint"/>
  <int value="489" label="HTMLPreElementWidth"/>
  <int value="490" label="OBSOLETE_PrefixedHTMLElementDropzone"/>
  <int value="491" label="WheelEventWheelDeltaX"/>
  <int value="492" label="WheelEventWheelDeltaY"/>
  <int value="493" label="WheelEventWheelDelta"/>
  <int value="494" label="SendBeacon"/>
  <int value="495" label="SendBeaconQuotaExceeded"/>
  <int value="501" label="SVGSMILElementInDocument"/>
  <int value="502" label="MouseEventOffsetX"/>
  <int value="503" label="MouseEventOffsetY"/>
  <int value="504" label="MouseEventX"/>
  <int value="505" label="MouseEventY"/>
  <int value="506" label="MouseEventFromElement"/>
  <int value="507" label="MouseEventToElement"/>
  <int value="508" label="RequestFileSystem"/>
  <int value="509" label="RequestFileSystemWorker"/>
  <int value="510" label="RequestFileSystemSyncWorker"/>
  <int value="511" label="UIEventLayerX"/>
  <int value="512" label="UIEventLayerY"/>
  <int value="513" label="UIEventPageX"/>
  <int value="514" label="UIEventPageY"/>
  <int value="515" label="BgPropertiesFixed"/>
  <int value="516" label="HTMLImageElementComposite"/>
  <int value="517" label="DevToolsConsoleTimeline"/>
  <int value="518" label="DevToolsConsoleProfile"/>
  <int value="519" label="SVGStyleElementTitle"/>
  <int value="520" label="PictureSourceSrc"/>
  <int value="521" label="Picture"/>
  <int value="522" label="Sizes"/>
  <int value="523" label="SrcsetXDescriptor"/>
  <int value="524" label="SrcsetWDescriptor"/>
  <int value="525" label="SelectionContainsNode"/>
  <int value="526" label="MediaStreamEnded"/>
  <int value="527" label="MixedContentPrivateIPInPublicWebsitePassive"/>
  <int value="528" label="MixedContentPrivateIPInPublicWebsiteActive"/>
  <int value="529" label="XMLExternalResourceLoad"/>
  <int value="530" label="MixedContentPrivateHostnameInPublicHostname"/>
  <int value="531" label="LegacyProtocolEmbeddedAsSubresource"/>
  <int value="532" label="RequestedSubresourceWithEmbeddedCredentials"/>
  <int value="533" label="NotificationCreated"/>
  <int value="534" label="NotificationClosed"/>
  <int value="535" label="NotificationPermissionRequested"/>
  <int value="536" label="MediaStreamLabel"/>
  <int value="537" label="MediaStreamStop"/>
  <int value="538" label="ConsoleTimeline"/>
  <int value="539" label="ConsoleTimelineEnd"/>
  <int value="540" label="SRIElementWithMatchingIntegrityAttribute"/>
  <int value="541" label="SRIElementWithNonMatchingIntegrityAttribute"/>
  <int value="542" label="SRIElementWithUnparsableIntegrityAttribute"/>
  <int value="543" label="SRIElementWithIntegrityAttributeAndInsecureOrigin"/>
  <int value="544" label="SRIElementWithIntegrityAttributeAndInsecureResource"/>
  <int value="545" label="V8Animation_StartTime_AttributeGetter"/>
  <int value="546" label="V8Animation_StartTime_AttributeSetter"/>
  <int value="547" label="V8Animation_CurrentTime_AttributeGetter"/>
  <int value="548" label="V8Animation_CurrentTime_AttributeSetter"/>
  <int value="549" label="V8Animation_PlaybackRate_AttributeGetter"/>
  <int value="550" label="V8Animation_PlaybackRate_AttributeSetter"/>
  <int value="551" label="V8Animation_PlayState_AttributeGetter"/>
  <int value="552" label="V8Animation_Finish_Method"/>
  <int value="553" label="V8Animation_Play_Method"/>
  <int value="554" label="V8Animation_Pause_Method"/>
  <int value="555" label="V8Animation_Reverse_Method"/>
  <int value="556" label="BreakIterator"/>
  <int value="557" label="ScreenOrientationAngle"/>
  <int value="558" label="ScreenOrientationType"/>
  <int value="559" label="ScreenOrientationLock"/>
  <int value="560" label="ScreenOrientationUnlock"/>
  <int value="561" label="GeolocationSecureOrigin"/>
  <int value="562" label="GeolocationInsecureOrigin"/>
  <int value="563" label="NotificationSecureOrigin"/>
  <int value="564" label="NotificationInsecureOrigin"/>
  <int value="565" label="NotificationShowEvent"/>
  <int value="566" label="CSSXGetComputedStyleQueries"/>
  <int value="567" label="SVG1DOM"/>
  <int value="568" label="SVGPathSegDOM"/>
  <int value="569" label="SVGTransformListConsolidate"/>
  <int value="570" label="SVGAnimatedTransformListBaseVal"/>
  <int value="571" label="QuotedAnimationName"/>
  <int value="572" label="QuotedKeyframesRule"/>
  <int value="573" label="SrcsetDroppedCandidate"/>
  <int value="574" label="WindowPostMessage"/>
  <int value="575" label="WindowPostMessageWithLegacyTargetOriginArgument"/>
  <int value="576" label="RenderRuby"/>
  <int value="577" label="CanvasRenderingContext2DCompositeOperationDarker"/>
  <int value="578" label="ScriptElementWithInvalidTypeHasSrc"/>
  <int value="579" label="TimelineStart"/>
  <int value="580" label="ElementBaseURIFromXMLBase"/>
  <int value="581"
      label="XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload"/>
  <int value="582" label="CSSSelectorPseudoScrollbar"/>
  <int value="583" label="CSSSelectorPseudoScrollbarButton"/>
  <int value="584" label="CSSSelectorPseudoScrollbarThumb"/>
  <int value="585" label="CSSSelectorPseudoScrollbarTrack"/>
  <int value="586" label="CSSSelectorPseudoScrollbarTrackPiece"/>
  <int value="587" label="LangAttribute"/>
  <int value="588" label="LangAttributeOnHTML"/>
  <int value="589" label="LangAttributeOnBody"/>
  <int value="590" label="LangAttributeDoesNotMatchToUILocale"/>
  <int value="591" label="InputTypeSubmit"/>
  <int value="592" label="InputTypeSubmitWithValue"/>
  <int value="593" label="SetReferrerPolicy"/>
  <int value="594" label="DOMImplementationHasFeatureReturnFalseInternal"/>
  <int value="595" label="MouseEventWhich"/>
  <int value="596" label="UIEventCharCode"/>
  <int value="597" label="UIEventKeyCode"/>
  <int value="598" label="UIEventWhich"/>
  <int value="599" label="TextWholeText"/>
  <int value="600" label="AttrChildAccess"/>
  <int value="601" label="AttrChildChange"/>
  <int value="602" label="DocumentGetOverrideStyle"/>
  <int value="603" label="NotificationCloseEvent"/>
  <int value="604" label="CSSKeyframesRuleAppendRule"/>
  <int value="605" label="CSSKeyframesRuleInsertRule"/>
  <int value="606" label="StyleMedia"/>
  <int value="607" label="StyleMediaType"/>
  <int value="608" label="StyleMediaMatchMedium"/>
  <int value="609" label="MixedContentPresent"/>
  <int value="610" label="MixedContentBlockable"/>
  <int value="611" label="MixedContentAudio"/>
  <int value="612" label="MixedContentDownload"/>
  <int value="613" label="MixedContentFavicon"/>
  <int value="614" label="MixedContentImage"/>
  <int value="615" label="MixedContentInternal"/>
  <int value="616" label="MixedContentPlugin"/>
  <int value="617" label="MixedContentPrefetch"/>
  <int value="618" label="MixedContentVideo"/>
  <int value="619" label="CORSCredentialedNullOriginAccessAllowed"/>
  <int value="620" label="AudioListenerDopplerFactor"/>
  <int value="621" label="AudioListenerSpeedOfSound"/>
  <int value="622" label="AudioListenerSetVelocity"/>
  <int value="623" label="ShadowRootGetElementsByClassName"/>
  <int value="624" label="ShadowRootGetElementsByTagName"/>
  <int value="625" label="ShadowRootGetElementsByTagNameNS"/>
  <int value="626" label="SVGSMILAnimationInImage"/>
  <int value="627" label="CSSSelectorPseudoFullScreenDocument"/>
  <int value="628" label="CSSSelectorPseudoFullScreenAncestor"/>
  <int value="629" label="CSSSelectorPseudoFullScreen"/>
  <int value="630" label="WebKitCSSMatrix"/>
  <int value="631" label="AudioContextCreateAnalyser"/>
  <int value="632" label="AudioContextCreateBiquadFilter"/>
  <int value="633" label="AudioContextCreateBufferSource"/>
  <int value="634" label="AudioContextCreateChannelMerger"/>
  <int value="635" label="AudioContextCreateChannelSplitter"/>
  <int value="636" label="AudioContextCreateConvolver"/>
  <int value="637" label="AudioContextCreateDelay"/>
  <int value="638" label="AudioContextCreateDynamicsCompressor"/>
  <int value="639" label="AudioContextCreateGain"/>
  <int value="640" label="AudioContextCreateMediaElementSource"/>
  <int value="641" label="AudioContextCreateMediaStreamDestination"/>
  <int value="642" label="AudioContextCreateMediaStreamSource"/>
  <int value="643" label="AudioContextCreateOscillator"/>
  <int value="644" label="AudioContextCreatePanner"/>
  <int value="645" label="AudioContextCreatePeriodicWave"/>
  <int value="646" label="AudioContextCreateScriptProcessor"/>
  <int value="647" label="AudioContextCreateStereoPanner"/>
  <int value="648" label="AudioContextCreateWaveShaper"/>
  <int value="649" label="AudioContextDecodeAudioData"/>
  <int value="650" label="AudioContextResume"/>
  <int value="651" label="AudioContextSuspend"/>
  <int value="652" label="OBSOLETE_AudioContext"/>
  <int value="653" label="OBSOLETE_OfflineAudioContext"/>
  <int value="654" label="OBSOLETE_PrefixedAudioContext"/>
  <int value="655" label="OBSOLETE_PrefixedOfflineAudioContext"/>
  <int value="656" label="AddEventListenerNoArguments"/>
  <int value="657" label="AddEventListenerOneArgument"/>
  <int value="658" label="RemoveEventListenerNoArguments"/>
  <int value="659" label="RemoveEventListenerOneArgument"/>
  <int value="660" label="SRIElementWithNonMatchingIntegrityType"/>
  <int value="661"
      label="MixedContentInNonHTTPSFrameThatRestrictsMixedContent"/>
  <int value="662"
      label="MixedContentInSecureFrameThatDoesNotRestrictMixedContent"/>
  <int value="663" label="MixedContentWebSocket"/>
  <int value="664" label="SyntheticKeyframesInCompositedCSSAnimation"/>
  <int value="665" label="MixedContentFormPresent"/>
  <int value="666" label="GetUserMediaInsecureOrigin"/>
  <int value="667" label="GetUserMediaSecureOrigin"/>
  <int value="668" label="DeviceMotionInsecureOrigin"/>
  <int value="669" label="DeviceMotionSecureOrigin"/>
  <int value="670" label="DeviceOrientationInsecureOrigin"/>
  <int value="671" label="DeviceOrientationSecureOrigin"/>
  <int value="672" label="SandboxViaIFrame"/>
  <int value="673" label="SandboxViaCSP"/>
  <int value="674" label="BlockedSniffingImageToScript"/>
  <int value="675" label="Fetch"/>
  <int value="676" label="FetchBodyStream"/>
  <int value="677" label="XMLHttpRequestAsynchronous"/>
  <int value="678" label="AudioBufferSourceBufferOnce"/>
  <int value="679" label="WhiteSpacePreFromXMLSpace"/>
  <int value="680" label="WhiteSpaceNowrapFromXMLSpace"/>
  <int value="681" label="SVGElementXmlbase"/>
  <int value="682" label="SVGElementXmllang"/>
  <int value="683" label="SVGElementXmlspace"/>
  <int value="684" label="WindowMoveResizeMissingArguments"/>
  <int value="685" label="SVGSVGElementForceRedraw"/>
  <int value="686" label="SVGSVGElementSuspendRedraw"/>
  <int value="687" label="SVGSVGElementUnsuspendRedraw"/>
  <int value="688" label="SVGSVGElementUnsuspendRedrawAll"/>
  <int value="689" label="AudioContextClose"/>
  <int value="690" label="ServiceWorkerClientPostMessage"/>
  <int value="691" label="CSSZoomNotEqualToOne"/>
  <int value="692" label="SVGGraphicsElementGetTransformToElement"/>
  <int value="693" label="ServiceWorkerClientsGetAll"/>
  <int value="694" label="ClientRectListItem"/>
  <int value="695" label="WindowClientInformation"/>
  <int value="696" label="WindowFind"/>
  <int value="697" label="WindowScreenLeft"/>
  <int value="698" label="WindowScreenTop"/>
  <int value="699" label="V8Animation_Cancel_Method"/>
  <int value="700" label="V8Animation_Onfinish_AttributeGetter"/>
  <int value="701" label="V8Animation_Onfinish_AttributeSetter"/>
  <int value="702" label="ElementOffsetParent"/>
  <int value="703" label="ElementOffsetTop"/>
  <int value="704" label="ElementOffsetLeft"/>
  <int value="705" label="ElementOffsetWidth"/>
  <int value="706" label="ElementOffsetHeight"/>
  <int value="707" label="V8Window_WebKitAnimationEvent_ConstructorGetter"/>
  <int value="708" label="V8Window_WebKitAnimationEvent_AttributeSetter"/>
  <int value="709" label="ResourceLoadedAfterRedirectWithCSP"/>
  <int value="710" label="CryptoGetRandomValues"/>
  <int value="711" label="SubtleCryptoEncrypt"/>
  <int value="712" label="SubtleCryptoDecrypt"/>
  <int value="713" label="SubtleCryptoSign"/>
  <int value="714" label="SubtleCryptoVerify"/>
  <int value="715" label="SubtleCryptoDigest"/>
  <int value="716" label="SubtleCryptoGenerateKey"/>
  <int value="717" label="SubtleCryptoImportKey"/>
  <int value="718" label="SubtleCryptoExportKey"/>
  <int value="719" label="SubtleCryptoDeriveBits"/>
  <int value="720" label="SubtleCryptoDeriveKey"/>
  <int value="721" label="SubtleCryptoWrapKey"/>
  <int value="722" label="SubtleCryptoUnwrapKey"/>
  <int value="723" label="CryptoAlgorithmAesCbc"/>
  <int value="724" label="CryptoAlgorithmHmac"/>
  <int value="725" label="CryptoAlgorithmRsaSsaPkcs1v1_5"/>
  <int value="726" label="CryptoAlgorithmSha1"/>
  <int value="727" label="CryptoAlgorithmSha256"/>
  <int value="728" label="CryptoAlgorithmSha384"/>
  <int value="729" label="CryptoAlgorithmSha512"/>
  <int value="730" label="CryptoAlgorithmAesGcm"/>
  <int value="731" label="CryptoAlgorithmRsaOaep"/>
  <int value="732" label="CryptoAlgorithmAesCtr"/>
  <int value="733" label="CryptoAlgorithmAesKw"/>
  <int value="734" label="CryptoAlgorithmRsaPss"/>
  <int value="735" label="CryptoAlgorithmEcdsa"/>
  <int value="736" label="CryptoAlgorithmEcdh"/>
  <int value="737" label="CryptoAlgorithmHkdf"/>
  <int value="738" label="CryptoAlgorithmPbkdf2"/>
  <int value="739" label="DocumentSetDomain"/>
  <int value="740" label="UpgradeInsecureRequestsEnabled"/>
  <int value="741" label="UpgradeInsecureRequestsUpgradedRequest"/>
  <int value="742" label="DocumentDesignMode"/>
  <int value="743" label="GlobalCacheStorage"/>
  <int value="744" label="NetInfo"/>
  <int value="745" label="BackgroundSync"/>
  <int value="746" label="TabStopProperty"/>
  <int value="747" label="TabStopAttribute"/>
  <int value="748" label="LegacyConst"/>
  <int value="749" label="SVGFilterRes"/>
  <int value="750" label="V8Permissions_Query_Method"/>
  <int value="751" label="LegacyCSSValueIntrinsic"/>
  <int value="752" label="LegacyCSSValueMinIntrinsic"/>
  <int value="753" label="WebkitCanvas"/>
  <int value="754" label="V8HTMLInputElement_Autocapitalize_AttributeGetter"/>
  <int value="755" label="V8HTMLInputElement_Autocapitalize_AttributeSetter"/>
  <int value="756"
      label="V8HTMLTextAreaElement_Autocapitalize_AttributeGetter"/>
  <int value="757"
      label="V8HTMLTextAreaElement_Autocapitalize_AttributeSetter"/>
  <int value="758" label="SVGHrefBaseVal"/>
  <int value="759" label="SVGHrefAnimVal"/>
  <int value="760" label="V8CSSRuleList_Item_Method"/>
  <int value="761" label="V8MediaList_Item_Method"/>
  <int value="762" label="V8StyleSheetList_Item_Method"/>
  <int value="763" label="StyleSheetListAnonymousNamedGetter"/>
  <int value="764" label="AutocapitalizeAttribute"/>
  <int value="765" label="FullscreenSecureOrigin"/>
  <int value="766" label="FullscreenInsecureOrigin"/>
  <int value="767" label="DialogInSandboxedContext"/>
  <int value="768" label="SVGSMILAnimationInImageRegardlessOfCache"/>
  <int value="769" label="PushSubscriptionId"/>
  <int value="770" label="EncryptedMediaSecureOrigin"/>
  <int value="771" label="EncryptedMediaInsecureOrigin"/>
  <int value="772" label="PerformanceFrameTiming"/>
  <int value="773" label="V8Element_Animate_Method"/>
  <int value="774"
      label="V8SVGSVGElement_PixelUnitToMillimeterX_AttributeGetter"/>
  <int value="775"
      label="V8SVGSVGElement_PixelUnitToMillimeterY_AttributeGetter"/>
  <int value="776"
      label="V8SVGSVGElement_ScreenPixelToMillimeterX_AttributeGetter"/>
  <int value="777"
      label="V8SVGSVGElement_ScreenPixelToMillimeterY_AttributeGetter"/>
  <int value="778" label="V8SVGSVGElement_GetElementById_Method"/>
  <int value="779" label="ElementCreateShadowRootMultiple"/>
  <int value="780" label="V8MessageChannel_Constructor"/>
  <int value="781" label="V8MessagePort_PostMessage_Method"/>
  <int value="782" label="V8MessagePort_Start_Method"/>
  <int value="783" label="V8MessagePort_Close_Method"/>
  <int value="784" label="MessagePortsTransferred"/>
  <int value="785" label="CSSKeyframesRuleAnonymousIndexedGetter"/>
  <int value="786" label="V8Screen_AvailLeft_AttributeGetter"/>
  <int value="787" label="V8Screen_AvailTop_AttributeGetter"/>
  <int value="788" label="ObjectObserve"/>
  <int value="789" label="V8SVGAnimationElement_HasExtension_Method"/>
  <int value="790" label="V8SVGCursorElement_HasExtension_Method"/>
  <int value="791"
      label="V8SVGFEConvolveMatrixElement_PreserveAlpha_AttributeGetter"/>
  <int value="792" label="V8SVGFilterElement_FilterResX_AttributeGetter"/>
  <int value="793" label="V8SVGFilterElement_FilterResY_AttributeGetter"/>
  <int value="794" label="V8SVGFilterElement_SetFilterRes_Method"/>
  <int value="795" label="V8SVGGraphicsElement_HasExtension_Method"/>
  <int value="796" label="V8SVGMaskElement_HasExtension_Method"/>
  <int value="797" label="V8SVGPatternElement_HasExtension_Method"/>
  <int value="798" label="V8SVGStyleElement_Disabled_AttributeGetter"/>
  <int value="799" label="V8SVGStyleElement_Disabled_AttributeSetter"/>
  <int value="800"
      label="ElementCreateShadowRootMultipleWithUserAgentShadowRoot"/>
  <int value="801" label="InputTypeFileSecureOrigin"/>
  <int value="802" label="InputTypeFileInsecureOrigin"/>
  <int value="803" label="V8HashChangeEvent_InitHashChangeEvent_Method"/>
  <int value="804" label="ElementAttachShadow"/>
  <int value="805" label="V8KeyboardEvent_KeyIdentifier_AttributeGetter"/>
  <int value="806"
      label="V8SecurityPolicyViolationEvent_DocumentURI_AttributeGetter"/>
  <int value="807"
      label="V8SecurityPolicyViolationEvent_BlockedURI_AttributeGetter"/>
  <int value="808"
      label="V8SecurityPolicyViolationEvent_StatusCode_AttributeGetter"/>
  <int value="809" label="HTMLLinkElementDisabled"/>
  <int value="810" label="V8HTMLLinkElement_Disabled_AttributeGetter"/>
  <int value="811" label="V8HTMLLinkElement_Disabled_AttributeSetter"/>
  <int value="812" label="V8HTMLStyleElement_Disabled_AttributeGetter"/>
  <int value="813" label="V8HTMLStyleElement_Disabled_AttributeSetter"/>
  <int value="814" label="V8FileReader_ReadAsBinaryString_Method"/>
  <int value="815" label="V8FileReaderSync_ReadAsBinaryString_Method"/>
  <int value="816" label="V8DOMError_Constructor"/>
  <int value="817" label="V8DOMError_Name_AttributeGetter"/>
  <int value="818" label="V8DOMError_Message_AttributeGetter"/>
  <int value="819" label="V8FileReader_Error_AttributeGetter"/>
  <int value="820" label="V8IDBRequest_Error_AttributeGetter"/>
  <int value="821" label="V8IDBTransaction_Error_AttributeGetter"/>
  <int value="822" label="V8DOMStringList_Item_Method"/>
  <int value="823" label="V8Location_AncestorOrigins_AttributeGetter"/>
  <int value="824" label="V8IDBDatabase_ObjectStoreNames_AttributeGetter"/>
  <int value="825" label="V8IDBObjectStore_IndexNames_AttributeGetter"/>
  <int value="826" label="V8IDBTransaction_ObjectStoreNames_AttributeGetter"/>
  <int value="827" label="V8Navigator_GetStorageUpdates_Method"/>
  <int value="828" label="V8TextTrackCueList_Item_Method"/>
  <int value="829" label="V8TextTrackList_Item_Method"/>
  <int value="830" label="TextInputFired"/>
  <int value="831" label="V8TextEvent_Data_AttributeGetter"/>
  <int value="832" label="V8TextEvent_InitTextEvent_Method"/>
  <int value="833" label="V8SVGSVGElement_UseCurrentView_AttributeGetter"/>
  <int value="834" label="V8SVGSVGElement_CurrentView_AttributeGetter"/>
  <int value="835" label="ClientHintsDPR"/>
  <int value="836" label="ClientHintsResourceWidth"/>
  <int value="837" label="ClientHintsViewportWidth"/>
  <int value="838" label="SRIElementIntegrityAttributeButIneligible"/>
  <int value="839" label="FormDataAppendFile"/>
  <int value="840" label="FormDataAppendFileWithFilename"/>
  <int value="841" label="FormDataAppendBlob"/>
  <int value="842" label="FormDataAppendBlobWithFilename"/>
  <int value="843" label="FormDataAppendNull"/>
  <int value="844" label="HTMLDocumentCreateAttributeNameNotLowercase"/>
  <int value="845"
      label="NonHTMLElementSetAttributeNodeFromHTMLDocumentNameNotLowercase"/>
  <int value="846" label="DOMStringList_Item_AttributeGetter_IndexedDB"/>
  <int value="847" label="DOMStringList_Item_AttributeGetter_Location"/>
  <int value="848" label="DOMStringList_Contains_Method_IndexedDB"/>
  <int value="849" label="DOMStringList_Contains_Method_Location"/>
  <int value="850" label="NavigatorVibrate"/>
  <int value="851" label="NavigatorVibrateSubFrame"/>
  <int value="852" label="PermissionStatusStatus"/>
  <int value="853" label="V8XPathEvaluator_Constructor"/>
  <int value="854" label="V8XPathEvaluator_CreateExpression_Method"/>
  <int value="855" label="V8XPathEvaluator_CreateNSResolver_Method"/>
  <int value="856" label="V8XPathEvaluator_Evaluate_Method"/>
  <int value="857" label="RequestMIDIAccess"/>
  <int value="858" label="V8MouseEvent_LayerX_AttributeGetter"/>
  <int value="859" label="V8MouseEvent_LayerY_AttributeGetter"/>
  <int value="860" label="InnerTextWithShadowTree"/>
  <int value="861" label="SelectionToStringWithShadowTree"/>
  <int value="862" label="WindowFindWithShadowTree"/>
  <int value="863" label="V8CompositionEvent_InitCompositionEvent_Method"/>
  <int value="864" label="V8CustomEvent_InitCustomEvent_Method"/>
  <int value="865" label="V8DeviceMotionEvent_InitDeviceMotionEvent_Method"/>
  <int value="866"
      label="V8DeviceOrientationEvent_InitDeviceOrientationEvent_Method"/>
  <int value="867" label="V8Event_InitEvent_Method"/>
  <int value="868" label="V8KeyboardEvent_InitKeyboardEvent_Method"/>
  <int value="869" label="V8MouseEvent_InitMouseEvent_Method"/>
  <int value="870" label="V8MutationEvent_InitMutationEvent_Method"/>
  <int value="871" label="V8StorageEvent_InitStorageEvent_Method"/>
  <int value="872" label="V8TouchEvent_InitTouchEvent_Method"/>
  <int value="873" label="V8UIEvent_InitUIEvent_Method"/>
  <int value="874" label="V8Document_CreateTouch_Method"/>
  <int value="875" label="V8HTMLFrameElement_GetSVGDocument_Method"/>
  <int value="876" label="RequestFileSystemNonWebbyOrigin"/>
  <int value="877" label="V8Console_Memory_AttributeGetter"/>
  <int value="878" label="V8Console_Memory_AttributeSetter"/>
  <int value="879" label="V8MemoryInfo_TotalJSHeapSize_AttributeGetter"/>
  <int value="880" label="V8MemoryInfo_UsedJSHeapSize_AttributeGetter"/>
  <int value="881" label="V8MemoryInfo_JSHeapSizeLimit_AttributeGetter"/>
  <int value="882" label="V8Performance_Timing_AttributeGetter"/>
  <int value="883" label="V8Performance_Navigation_AttributeGetter"/>
  <int value="884" label="V8Performance_Memory_AttributeGetter"/>
  <int value="885" label="V8SharedWorker_WorkerStart_AttributeGetter"/>
  <int value="886" label="OBSOLETE_HTMLKeygenElement"/>
  <int value="887" label="V8SVGElement_OffsetParent_AttributeGetter"/>
  <int value="888" label="V8SVGElement_OffsetTop_AttributeGetter"/>
  <int value="889" label="V8SVGElement_OffsetLeft_AttributeGetter"/>
  <int value="890" label="V8SVGElement_OffsetWidth_AttributeGetter"/>
  <int value="891" label="V8SVGElement_OffsetHeight_AttributeGetter"/>
  <int value="892" label="HTMLMediaElementPreloadNone"/>
  <int value="893" label="HTMLMediaElementPreloadMetadata"/>
  <int value="894" label="HTMLMediaElementPreloadAuto"/>
  <int value="895" label="HTMLMediaElementPreloadDefault"/>
  <int value="896" label="MixedContentBlockableAllowed"/>
  <int value="897" label="PseudoBeforeAfterForInputElement"/>
  <int value="898" label="V8Permissions_Revoke_Method"/>
  <int value="899" label="LinkRelDnsPrefetch"/>
  <int value="900" label="LinkRelPreconnect"/>
  <int value="901" label="LinkRelPreload"/>
  <int value="902" label="LinkHeaderDnsPrefetch"/>
  <int value="903" label="LinkHeaderPreconnect"/>
  <int value="904" label="ClientHintsMetaAcceptCH"/>
  <int value="905" label="HTMLElementDeprecatedWidth"/>
  <int value="906" label="ClientHintsContentDPR"/>
  <int value="907" label="ElementAttachShadowOpen"/>
  <int value="908" label="ElementAttachShadowClosed"/>
  <int value="909" label="AudioParamSetValueAtTime"/>
  <int value="910" label="AudioParamLinearRampToValueAtTime"/>
  <int value="911" label="AudioParamExponentialRampToValueAtTime"/>
  <int value="912" label="AudioParamSetTargetAtTime"/>
  <int value="913" label="AudioParamSetValueCurveAtTime"/>
  <int value="914" label="AudioParamCancelScheduledValues"/>
  <int value="915" label="V8Permissions_Request_Method"/>
  <int value="916" label="LinkRelSubresource"/>
  <int value="917" label="LinkRelPrefetch"/>
  <int value="918" label="LinkRelPrerender"/>
  <int value="919" label="LinkRelNext"/>
  <int value="920" label="PrefixedPerformanceResourceTimingBufferFull"/>
  <int value="921" label="CSSValuePrefixedMinContent"/>
  <int value="922" label="CSSValuePrefixedMaxContent"/>
  <int value="923" label="CSSValuePrefixedFitContent"/>
  <int value="924" label="CSSValuePrefixedFillAvailable"/>
  <int value="925" label="FetchAPIRequestContext"/>
  <int value="926" label="PresentationDefaultRequest"/>
  <int value="927" label="PresentationAvailabilityChangeEventListener"/>
  <int value="928" label="PresentationRequestConstructor"/>
  <int value="929" label="PresentationRequestStart"/>
  <int value="930" label="PresentationRequestReconnect"/>
  <int value="931" label="PresentationRequestGetAvailability"/>
  <int value="932" label="PresentationRequestConnectionAvailableEventListener"/>
  <int value="933" label="PresentationConnectionTerminate"/>
  <int value="934" label="PresentationConnectionSend"/>
  <int value="935" label="PresentationConnectionStateChangeEventListener"/>
  <int value="936" label="PresentationConnectionMessageEventListener"/>
  <int value="937" label="CSSAnimationsStackedNeutralKeyframe"/>
  <int value="938" label="ReadingCheckedInClickHandler"/>
  <int value="939" label="FlexboxIntrinsicSizeAlgorithmIsDifferent"/>
  <int value="940" label="HTMLImportsHasStyleSheets"/>
  <int value="941" label="WebkitTextInClipProperty"/>
  <int value="942" label="WebkitTextInColorProperty"/>
  <int value="943" label="HeaderValueNotMatchingRFC7230"/>
  <int value="944" label="ClipPathOfPositionedElement"/>
  <int value="945" label="ClipCssOfPositionedElement"/>
  <int value="946" label="NetInfoType"/>
  <int value="947" label="NetInfoDownlinkMax"/>
  <int value="948" label="NetInfoOnChange"/>
  <int value="949" label="NetInfoOnTypeChange"/>
  <int value="950" label="V8Window_Alert_Method"/>
  <int value="951" label="V8Window_Confirm_Method"/>
  <int value="952" label="V8Window_Prompt_Method"/>
  <int value="953" label="V8Window_Print_Method"/>
  <int value="954" label="V8Window_RequestIdleCallback_Method"/>
  <int value="955" label="FlexboxPercentagePaddingVertical"/>
  <int value="956" label="FlexboxPercentageMarginVertical"/>
  <int value="957" label="BackspaceNavigatedBack"/>
  <int value="958" label="BackspaceNavigatedBackAfterFormInteraction"/>
  <int value="959" label="CSPSourceWildcardWouldMatchExactHost"/>
  <int value="960" label="CredentialManagerGet"/>
  <int value="961" label="CredentialManagerGetWithUI"/>
  <int value="962" label="CredentialManagerGetWithoutUI"/>
  <int value="963" label="CredentialManagerStore"/>
  <int value="964" label="CredentialManagerRequireUserMediation"/>
  <int value="965" label="RequestAutocomplete"/>
  <int value="966" label="BlockableMixedContentInSubframeBlocked"/>
  <int value="967" label="AddEventListenerThirdArgumentIsObject"/>
  <int value="968" label="RemoveEventListenerThirdArgumentIsObject"/>
  <int value="969" label="CSSAtRuleCharset"/>
  <int value="970" label="CSSAtRuleFontFace"/>
  <int value="971" label="CSSAtRuleImport"/>
  <int value="972" label="CSSAtRuleKeyframes"/>
  <int value="973" label="CSSAtRuleMedia"/>
  <int value="974" label="CSSAtRuleNamespace"/>
  <int value="975" label="CSSAtRulePage"/>
  <int value="976" label="CSSAtRuleSupports"/>
  <int value="977" label="CSSAtRuleViewport"/>
  <int value="978" label="CSSAtRuleWebkitKeyframes"/>
  <int value="979" label="V8HTMLFieldSetElement_Elements_AttributeGetter"/>
  <int value="980" label="HTMLMediaElementPreloadForcedNone"/>
  <int value="981" label="ExternalAddSearchProvider"/>
  <int value="982" label="ExternalIsSearchProviderInstalled"/>
  <int value="983" label="V8Permissions_RequestAll_Method"/>
  <int value="984" label="BluetoothDeviceInstanceId"/>
  <int value="985" label="HTMLLabelElementFormIDLAttribute"/>
  <int value="986" label="HTMLLabelElementFormContentAttribute"/>
  <int value="987" label="DeviceOrientationAbsoluteInsecureOrigin"/>
  <int value="988" label="DeviceOrientationAbsoluteSecureOrigin"/>
  <int value="989" label="FontFaceConstructor"/>
  <int value="990" label="ServiceWorkerControlledPage"/>
  <int value="991" label="MeterElementWithContinuousCapacityAppearance"/>
  <int value="992" label="MeterElementWithDiscreteCapacityAppearance"/>
  <int value="993" label="MeterElementWithMeterAppearance"/>
  <int value="994" label="MeterElementWithNoneAppearance"/>
  <int value="995" label="MeterElementWithRatingAppearance"/>
  <int value="996" label="MeterElementWithRelevancyAppearance"/>
  <int value="997" label="SelectionAnchorNode"/>
  <int value="998" label="SelectionAnchorOffset"/>
  <int value="999" label="SelectionFocusNode"/>
  <int value="1000" label="SelectionFocusOffset"/>
  <int value="1001" label="SelectionIsCollapsed"/>
  <int value="1002" label="SelectionRangeCount"/>
  <int value="1003" label="SelectionGetRangeAt"/>
  <int value="1004" label="SelectionAddRange"/>
  <int value="1005" label="SelectionRemoveAllRanges"/>
  <int value="1006" label="SelectionCollapse"/>
  <int value="1007" label="SelectionCollapseToStart"/>
  <int value="1008" label="SelectionCollapseToEnd"/>
  <int value="1009" label="SelectionExtend"/>
  <int value="1010" label="SelectionSelectAllChildren"/>
  <int value="1011" label="SelectionDeleteDromDocument"/>
  <int value="1012" label="SelectionDOMString"/>
  <int value="1013" label="InputTypeRangeVerticalAppearance"/>
  <int value="1014" label="CSSFilterReference"/>
  <int value="1015" label="CSSFilterGrayscale"/>
  <int value="1016" label="CSSFilterSepia"/>
  <int value="1017" label="CSSFilterSaturate"/>
  <int value="1018" label="CSSFilterHueRotate"/>
  <int value="1019" label="CSSFilterInvert"/>
  <int value="1020" label="CSSFilterOpacity"/>
  <int value="1021" label="CSSFilterBrightness"/>
  <int value="1022" label="CSSFilterContrast"/>
  <int value="1023" label="CSSFilterBlur"/>
  <int value="1024" label="CSSFilterDropShadow"/>
  <int value="1025" label="BackgroundSyncRegister"/>
  <int value="1026" label="BorderImageWithBorderStyleNone"/>
  <int value="1027" label="ExecCommandOnInputOrTextarea"/>
  <int value="1028" label="V8History_ScrollRestoration_AttributeGetter"/>
  <int value="1029" label="V8History_ScrollRestoration_AttributeSetter"/>
  <int value="1030" label="SVG1DOMFilter"/>
  <int value="1031" label="OfflineAudioContextStartRendering"/>
  <int value="1032" label="OfflineAudioContextSuspend"/>
  <int value="1033" label="OfflineAudioContextResume"/>
  <int value="1034" label="AttrCloneNode"/>
  <int value="1035" label="SVG1DOMPaintServer"/>
  <int value="1036" label="SVGSVGElementFragmentSVGView"/>
  <int value="1037" label="SVGSVGElementFragmentSVGViewElement"/>
  <int value="1038" label="PresentationConnectionClose"/>
  <int value="1039" label="SVG1DOMShape"/>
  <int value="1040" label="SVG1DOMText"/>
  <int value="1041" label="RTCPeerConnectionConstructorConstraints"/>
  <int value="1042" label="RTCPeerConnectionConstructorCompliant"/>
  <int value="1043"
      label="RTCPeerConnectionCreateOfferLegacyNoFailureCallback"/>
  <int value="1044" label="RTCPeerConnectionCreateOfferLegacyFailureCallback"/>
  <int value="1045" label="RTCPeerConnectionCreateOfferLegacyConstraints"/>
  <int value="1046" label="RTCPeerConnectionCreateOfferLegacyOfferOptions"/>
  <int value="1047" label="RTCPeerConnectionCreateOfferLegacyCompliant"/>
  <int value="1048"
      label="RTCPeerConnectionCreateAnswerLegacyNoFailureCallback"/>
  <int value="1049" label="RTCPeerConnectionCreateAnswerLegacyFailureCallback"/>
  <int value="1050" label="RTCPeerConnectionCreateAnswerLegacyConstraints"/>
  <int value="1051" label="RTCPeerConnectionCreateAnswerLegacyCompliant"/>
  <int value="1052"
      label="RTCPeerConnectionSetLocalDescriptionLegacyNoSuccessCallback"/>
  <int value="1053"
      label="RTCPeerConnectionSetLocalDescriptionLegacyNoFailureCallback"/>
  <int value="1054"
      label="RTCPeerConnectionSetLocalDescriptionLegacyCompliant"/>
  <int value="1055"
      label="RTCPeerConnectionSetRemoteDescriptionLegacyNoSuccessCallback"/>
  <int value="1056"
      label="RTCPeerConnectionSetRemoteDescriptionLegacyNoFailureCallback"/>
  <int value="1057"
      label="RTCPeerConnectionSetRemoteDescriptionLegacyCompliant"/>
  <int value="1058" label="RTCPeerConnectionGetStatsLegacyNonCompliant"/>
  <int value="1059" label="NodeFilterIsFunction"/>
  <int value="1060" label="NodeFilterIsObject"/>
  <int value="1061" label="TextEncoderUTF16"/>
  <int value="1062" label="CSSSelectorInternalPseudoListBox"/>
  <int value="1063" label="CSSSelectorInternalMediaControlsCastButton"/>
  <int value="1064" label="CSSSelectorInternalMediaControlsOverlayCastButton"/>
  <int value="1065" label="CSSSelectorInternalPseudoSpatialNavigationFocus"/>
  <int value="1066" label="SameOriginTextScript"/>
  <int value="1067" label="SameOriginApplicationScript"/>
  <int value="1068" label="SameOriginOtherScript"/>
  <int value="1069" label="CrossOriginTextScript"/>
  <int value="1070" label="CrossOriginApplicationScript"/>
  <int value="1071" label="CrossOriginOtherScript"/>
  <int value="1072" label="SVG1DOMSVGTests"/>
  <int value="1073" label="V8SVGViewElement_ViewTarget_AttributeGetter"/>
  <int value="1074" label="DisableRemotePlaybackAttribute"/>
  <int value="1075" label="V8SloppyMode"/>
  <int value="1076" label="V8StrictMode"/>
  <int value="1077" label="V8StrongMode"/>
  <int value="1078" label="AudioNodeConnectToAudioNode"/>
  <int value="1079" label="AudioNodeConnectToAudioParam"/>
  <int value="1080" label="AudioNodeDisconnectFromAudioNode"/>
  <int value="1081" label="AudioNodeDisconnectFromAudioParam"/>
  <int value="1082" label="V8CSSFontFaceRule_Style_AttributeGetter"/>
  <int value="1083" label="SelectionCollapseNull"/>
  <int value="1084" label="SelectionSetBaseAndExtentNull"/>
  <int value="1085" label="V8SVGSVGElement_CreateSVGNumber_Method"/>
  <int value="1086" label="V8SVGSVGElement_CreateSVGLength_Method"/>
  <int value="1087" label="V8SVGSVGElement_CreateSVGAngle_Method"/>
  <int value="1088" label="V8SVGSVGElement_CreateSVGPoint_Method"/>
  <int value="1089" label="V8SVGSVGElement_CreateSVGMatrix_Method"/>
  <int value="1090" label="V8SVGSVGElement_CreateSVGRect_Method"/>
  <int value="1091" label="V8SVGSVGElement_CreateSVGTransform_Method"/>
  <int value="1092"
      label="V8SVGSVGElement_CreateSVGTransformFromMatrix_Method"/>
  <int value="1093" label="FormNameAccessForNonDescendantImageElement"/>
  <int value="1094" label="FormControlsCollectionNameAccessForImageElement"/>
  <int value="1095" label="V8SVGSVGElement_Viewport_AttributeGetter"/>
  <int value="1096" label="V8RegExpPrototypeStickyGetter"/>
  <int value="1097" label="V8RegExpPrototypeToString"/>
  <int value="1098"
      label="V8InputDeviceCapabilities_FiresTouchEvents_AttributeGetter"/>
  <int value="1099" label="DataElement"/>
  <int value="1100" label="TimeElement"/>
  <int value="1101" label="SVG1DOMUriReference"/>
  <int value="1102" label="SVG1DOMZoomAndPan"/>
  <int value="1103" label="V8SVGGraphicsElement_Transform_AttributeGetter"/>
  <int value="1104" label="MenuItemElement"/>
  <int value="1105" label="MenuItemCloseTag"/>
  <int value="1106" label="SVG1DOMMarkerElement"/>
  <int value="1107" label="SVG1DOMUseElement"/>
  <int value="1108" label="SVG1DOMMaskElement"/>
  <int value="1109" label="V8SVGAElement_Target_AttributeGetter"/>
  <int value="1110" label="V8SVGClipPathElement_ClipPathUnits_AttributeGetter"/>
  <int value="1111" label="SVG1DOMFitToViewBox"/>
  <int value="1112" label="SVG1DOMCursorElement"/>
  <int value="1113" label="V8SVGPathElement_PathLength_AttributeGetter"/>
  <int value="1114" label="SVG1DOMSVGElement"/>
  <int value="1115" label="SVG1DOMImageElement"/>
  <int value="1116" label="SVG1DOMForeignObjectElement"/>
  <int value="1117" label="AudioContextCreateIIRFilter"/>
  <int value="1118" label="CSSSelectorPseudoSlotted"/>
  <int value="1119" label="MediaDevicesEnumerateDevices"/>
  <int value="1120" label="NonSecureSharedWorkerAccessedFromSecureContext"/>
  <int value="1121" label="SecureSharedWorkerAccessedFromNonSecureContext"/>
  <int value="1122" label="NonCSSStyleSheetType"/>
  <int value="1123" label="EventComposedPath"/>
  <int value="1124" label="LinkHeaderPreload"/>
  <int value="1125" label="MouseWheelEvent"/>
  <int value="1126" label="WheelEvent"/>
  <int value="1127" label="MouseWheelAndWheelEvent"/>
  <int value="1128" label="BodyScrollsInAdditionToViewport"/>
  <int value="1129" label="DocumentDesignModeEnabeld"/>
  <int value="1130" label="ContentEditableTrue"/>
  <int value="1131" label="ContentEditableTrueOnHTML"/>
  <int value="1132" label="ContentEditablePlainTextOnly"/>
  <int value="1133" label="V8RegExpPrototypeUnicodeGetter"/>
  <int value="1134" label="V8IntlV8Parse"/>
  <int value="1135" label="V8IntlPattern"/>
  <int value="1136" label="V8IntlResolved"/>
  <int value="1137" label="V8PromiseChain"/>
  <int value="1138" label="V8PromiseAccept"/>
  <int value="1139" label="V8PromiseDefer"/>
  <int value="1140" label="EventComposed"/>
  <int value="1141" label="GeolocationInsecureOriginIframe"/>
  <int value="1142" label="GeolocationSecureOriginIframe"/>
  <int value="1143" label="RequestMIDIAccessIframe"/>
  <int value="1144" label="GetUserMediaInsecureOriginIframe"/>
  <int value="1145" label="GetUserMediaSecureOriginIframe"/>
  <int value="1146" label="ElementRequestPointerLockIframe"/>
  <int value="1147" label="NotificationAPIInsecureOriginIframe"/>
  <int value="1148" label="NotificationAPISecureOriginIframe"/>
  <int value="1149" label="WebSocket"/>
  <int value="1150" label="MediaStreamConstraintsNameValue"/>
  <int value="1151" label="MediaStreamConstraintsFromDictionary"/>
  <int value="1152" label="MediaStreamConstraintsConformant"/>
  <int value="1153" label="CSSSelectorIndirectAdjacent"/>
  <int value="1154" label="NodeRootNode (obsolete)"/>
  <int value="1155" label="BluetoothDeviceConnectGATT"/>
  <int value="1156" label="CreateImageBitmap"/>
  <int value="1157" label="PresentationConnectionConnectEventListener"/>
  <int value="1158" label="PresentationConnectionCloseEventListener"/>
  <int value="1159" label="PresentationConnectionTerminateEventListener"/>
  <int value="1160" label="DocumentCreateEventFontFaceSetLoadEvent"/>
  <int value="1161" label="DocumentCreateEventMediaQueryListEvent"/>
  <int value="1162" label="DocumentCreateEventAnimationEvent"/>
  <int value="1163" label="DocumentCreateEventAnimationPlayerEvent"/>
  <int value="1164" label="DocumentCreateEventApplicationCacheErrorEvent"/>
  <int value="1165" label="DocumentCreateEventAutocompleteErrorEvent"/>
  <int value="1166" label="DocumentCreateEventBeforeUnloadEvent"/>
  <int value="1167" label="DocumentCreateEventClipboardEvent"/>
  <int value="1168" label="DocumentCreateEventCompositionEvent"/>
  <int value="1169" label="DocumentCreateEventDragEvent"/>
  <int value="1170" label="DocumentCreateEventErrorEvent"/>
  <int value="1171" label="DocumentCreateEventFocusEvent"/>
  <int value="1172" label="DocumentCreateEventHashChangeEvent"/>
  <int value="1173" label="DocumentCreateEventMutationEvent"/>
  <int value="1174" label="DocumentCreateEventPageTransitionEvent"/>
  <int value="1175" label="DocumentCreateEventPointerEvent"/>
  <int value="1176" label="DocumentCreateEventPopStateEvent"/>
  <int value="1177" label="DocumentCreateEventProgressEvent"/>
  <int value="1178" label="DocumentCreateEventPromiseRejectionEvent"/>
  <int value="1179" label="DocumentCreateEventRelatedEvent"/>
  <int value="1180" label="DocumentCreateEventResourceProgressEvent"/>
  <int value="1181" label="DocumentCreateEventSecurityPolicyViolationEvent"/>
  <int value="1182" label="DocumentCreateEventTextEvent"/>
  <int value="1183" label="DocumentCreateEventTransitionEvent"/>
  <int value="1184" label="DocumentCreateEventWheelEvent"/>
  <int value="1185" label="DocumentCreateEventMediaKeyEvent"/>
  <int value="1186" label="DocumentCreateEventTrackEvent"/>
  <int value="1187" label="OBSOLETE_DocumentCreateEventWebKitAnimationEvent"/>
  <int value="1188" label="DocumentCreateEventMutationEvents"/>
  <int value="1189" label="DocumentCreateEventOrientationEvent"/>
  <int value="1190" label="DocumentCreateEventSVGEvents"/>
  <int value="1191" label="OBSOLETE_DocumentCreateEventWebKitTransitionEvent"/>
  <int value="1192" label="DocumentCreateEventBeforeInstallPromptEvent"/>
  <int value="1193" label="DocumentCreateEventSyncEvent"/>
  <int value="1194" label="DocumentCreateEventDeviceLightEvent"/>
  <int value="1195" label="DocumentCreateEventDeviceMotionEvent"/>
  <int value="1196" label="DocumentCreateEventDeviceOrientationEvent"/>
  <int value="1197" label="DocumentCreateEventMediaEncryptedEvent"/>
  <int value="1198" label="DocumentCreateEventMediaKeyMessageEvent"/>
  <int value="1199" label="DocumentCreateEventGamepadEvent"/>
  <int value="1200" label="DocumentCreateEventGeofencingEvent"/>
  <int value="1201" label="DocumentCreateEventIDBVersionChangeEvent"/>
  <int value="1202" label="DocumentCreateEventBlobEvent"/>
  <int value="1203" label="DocumentCreateEventMediaStreamEvent"/>
  <int value="1204" label="DocumentCreateEventMediaStreamTrackEvent"/>
  <int value="1205" label="DocumentCreateEventRTCDTMFToneChangeEvent"/>
  <int value="1206" label="DocumentCreateEventRTCDataChannelEvent"/>
  <int value="1207" label="DocumentCreateEventRTCIceCandidateEvent"/>
  <int value="1208" label="DocumentCreateEventServicePortConnectEvent"/>
  <int value="1209" label="DocumentCreateEventNotificationEvent"/>
  <int value="1210"
      label="DocumentCreateEventPresentationConnectionAvailableEvent"/>
  <int value="1211"
      label="DocumentCreateEventPresentationConnectionCloseEvent"/>
  <int value="1212" label="DocumentCreateEventPushEvent"/>
  <int value="1213" label="DocumentCreateEventExtendableEvent"/>
  <int value="1214" label="DocumentCreateEventExtendableMessageEvent"/>
  <int value="1215" label="DocumentCreateEventFetchEvent"/>
  <int value="1216" label="DocumentCreateEventInstallEvent"/>
  <int value="1217" label="DocumentCreateEventServiceWorkerMessageEvent"/>
  <int value="1218" label="DocumentCreateEventSpeechRecognitionError"/>
  <int value="1219" label="DocumentCreateEventSpeechRecognitionEvent"/>
  <int value="1220" label="DocumentCreateEventSpeechSynthesisEvent"/>
  <int value="1221" label="DocumentCreateEventStorageEvent"/>
  <int value="1222" label="DocumentCreateEventAudioProcessingEvent"/>
  <int value="1223" label="DocumentCreateEventOfflineAudioCompletionEvent"/>
  <int value="1224" label="DocumentCreateEventWebGLContextEvent"/>
  <int value="1225" label="DocumentCreateEventMIDIConnectionEvent"/>
  <int value="1226" label="DocumentCreateEventMIDIMessageEvent"/>
  <int value="1227" label="DocumentCreateEventCloseEvent"/>
  <int value="1228" label="DocumentCreateEventKeyboardEvents"/>
  <int value="1229" label="HTMLMediaElement"/>
  <int value="1230" label="HTMLMediaElementInDocument"/>
  <int value="1231" label="HTMLMediaElementControlsAttribute"/>
  <int value="1232" label="SVGZoomEvent"/>
  <int value="1233" label="V8Animation_Oncancel_AttributeGetter"/>
  <int value="1234" label="V8Animation_Oncancel_AttributeSetter"/>
  <int value="1235" label="V8HTMLCommentInExternalScript"/>
  <int value="1236" label="V8HTMLComment"/>
  <int value="1237" label="V8SloppyModeBlockScopedFunctionRedefinition"/>
  <int value="1238" label="V8ForInInitializer"/>
  <int value="1239" label="V8Animation_Id_AttributeGetter"/>
  <int value="1240" label="V8Animation_Id_AttributeSetter"/>
  <int value="1241" label="MediaStreamOnEnded"/>
  <int value="1242" label="DocumentCreateEventInputEvent"/>
  <int value="1243" label="WebAnimationHyphenatedProperty"/>
  <int value="1244"
      label="FormControlsCollectionReturnsRadioNodeListForFieldSet"/>
  <int value="1245" label="ApplicationCacheManifestSelectInsecureOrigin"/>
  <int value="1246" label="ApplicationCacheManifestSelectSecureOrigin"/>
  <int value="1247" label="ApplicationCacheAPIInsecureOrigin"/>
  <int value="1248" label="ApplicationCacheAPISecureOrigin"/>
  <int value="1249" label="CSSAtRuleApply"/>
  <int value="1250" label="CSSSelectorPseudoAny"/>
  <int value="1251" label="PannerNodeSetVelocity"/>
  <int value="1252" label="DocumentAllItemNoArguments"/>
  <int value="1253" label="DocumentAllItemNamed"/>
  <int value="1254" label="DocumentAllItemIndexed"/>
  <int value="1255" label="DocumentAllItemIndexedWithNonNumber"/>
  <int value="1256" label="DocumentAllLegacyCallNoArguments"/>
  <int value="1257" label="DocumentAllLegacyCallNamed"/>
  <int value="1258" label="DocumentAllLegacyCallIndexed"/>
  <int value="1259" label="DocumentAllLegacyCallIndexedWithNonNumber"/>
  <int value="1260" label="DocumentAllLegacyCallTwoArguments"/>
  <int value="1261" label="HTMLLabelElementFormIsDifferentFromControlForm"/>
  <int value="1262" label="HTMLLabelElementHasNoControlAndFormIsAncestor"/>
  <int value="1263" label="HTMLLabelElementControlForNonFormAssociatedElement"/>
  <int value="1264" label="PatternAttributeUnicodeFlagIsIncompatible"/>
  <int value="1265" label="HTMLMediaElementLoadNetworkEmptyNotPaused"/>
  <int value="1266" label="EventRelatedTargetScoped"/>
  <int value="1267" label="V8Window_WebkitSpeechGrammar_ConstructorGetter"/>
  <int value="1268" label="V8Window_WebkitSpeechGrammarList_ConstructorGetter"/>
  <int value="1269" label="V8Window_WebkitSpeechRecognition_ConstructorGetter"/>
  <int value="1270"
      label="V8Window_WebkitSpeechRecognitionError_ConstructorGetter"/>
  <int value="1271"
      label="V8Window_WebkitSpeechRecognitionEvent_ConstructorGetter"/>
  <int value="1272" label="V8Window_SpeechSynthesis_AttributeGetter"/>
  <int value="1273" label="V8IDBFactory_WebkitGetDatabaseNames_Method"/>
  <int value="1274" label="ImageDocument"/>
  <int value="1275" label="ScriptPassesCSPDynamic"/>
  <int value="1276" label="ScriptPassesCSPNonce"/>
  <int value="1277" label="CSPWithStrictDynamic"/>
  <int value="1278" label="ScrollAnchored"/>
  <int value="1279" label="AddEventListenerFourArguments"/>
  <int value="1280" label="RemoveEventListenerFourArguments"/>
  <int value="1281" label="InvalidReportUriDirectiveInMetaCSP"/>
  <int value="1282" label="InvalidSandboxDirectiveInMetaCSP"/>
  <int value="1283" label="InvalidFrameAncestorsDirectiveInMetaCSP"/>
  <int value="1284" label="TouchDragUserGestureUsed"/>
  <int value="1285" label="TouchDragUserGestureUsedCrossOrigin"/>
  <int value="1286" label="DocumentCreateEventForeignFetchEvent"/>
  <int value="1287" label="SVGCalcModeDiscrete"/>
  <int value="1288" label="SVGCalcModeLinear"/>
  <int value="1289" label="SVGCalcModePaced"/>
  <int value="1290" label="SVGCalcModeSpline"/>
  <int value="1291" label="FormSubmissionStarted"/>
  <int value="1292" label="FormValidationStarted"/>
  <int value="1293" label="FormValidationAbortedSubmission"/>
  <int value="1294" label="FormValidationShowedMessage"/>
  <int value="1295" label="WebAnimationsEasingAsFunctionLinear"/>
  <int value="1296" label="WebAnimationsEasingAsFunctionOther"/>
  <int value="1297" label="V8Document_Images_AttributeGetter"/>
  <int value="1298" label="V8Document_Embeds_AttributeGetter"/>
  <int value="1299" label="V8Document_Plugins_AttributeGetter"/>
  <int value="1300" label="V8Document_Links_AttributeGetter"/>
  <int value="1301" label="V8Document_Forms_AttributeGetter"/>
  <int value="1302" label="V8Document_Scripts_AttributeGetter"/>
  <int value="1303" label="V8Document_Anchors_AttributeGetter"/>
  <int value="1304" label="V8Document_Applets_AttributeGetter"/>
  <int value="1305" label="XMLHttpRequestCrossOriginWithCredentials"/>
  <int value="1306" label="MediaStreamTrackRemote"/>
  <int value="1307" label="V8Node_IsConnected_AttributeGetter"/>
  <int value="1308" label="ShadowRootDelegatesFocus"/>
  <int value="1309" label="MixedShadowRootV0AndV1"/>
  <int value="1310" label="ImageDocumentInFrame"/>
  <int value="1311" label="MediaDocument"/>
  <int value="1312" label="MediaDocumentInFrame"/>
  <int value="1313" label="PluginDocument"/>
  <int value="1314" label="PluginDocumentInFrame"/>
  <int value="1315" label="SinkDocument"/>
  <int value="1316" label="SinkDocumentInFrame"/>
  <int value="1317" label="TextDocument"/>
  <int value="1318" label="TextDocumentInFrame"/>
  <int value="1319" label="ViewSourceDocument"/>
  <int value="1320" label="FileAPINativeLineEndings"/>
  <int value="1321" label="PointerEventAttributeCount"/>
  <int value="1322" label="CompositedReplication"/>
  <int value="1323" label="EncryptedMediaAllSelectedContentTypesHaveCodecs"/>
  <int value="1324" label="EncryptedMediaAllSelectedContentTypesMissingCodecs"/>
  <int value="1325" label="V8DataTransferItem_WebkitGetAsEntry_Method"/>
  <int value="1326" label="V8HTMLInputElement_WebkitEntries_AttributeGetter"/>
  <int value="1327"
      label="Entry_Filesystem_AttributeGetter_IsolatedFileSystem"/>
  <int value="1328" label="Entry_GetMetadata_Method_IsolatedFileSystem"/>
  <int value="1329" label="Entry_MoveTo_Method_IsolatedFileSystem"/>
  <int value="1330" label="Entry_CopyTo_Method_IsolatedFileSystem"/>
  <int value="1331" label="Entry_Remove_Method_IsolatedFileSystem"/>
  <int value="1332" label="Entry_GetParent_Method_IsolatedFileSystem"/>
  <int value="1333" label="Entry_ToURL_Method_IsolatedFileSystem"/>
  <int value="1334" label="During_Microtask_Alert"/>
  <int value="1335" label="During_Microtask_Confirm"/>
  <int value="1336" label="During_Microtask_Print"/>
  <int value="1337" label="During_Microtask_Prompt"/>
  <int value="1338" label="During_Microtask_SyncXHR"/>
  <int value="1339" label="URLMethodCreateObjectURLServiceWorker"/>
  <int value="1340" label="URLMethodRevokeObjectURLServiceWorker"/>
  <int value="1341" label="DocumentCreateEventPaymentRequestUpdateEvent"/>
  <int value="1342" label="CredentialManagerGetReturnedCredential"/>
  <int value="1343" label="GeolocationInsecureOriginDeprecatedNotRemoved"/>
  <int value="1344"
      label="GeolocationInsecureOriginIframeDeprecatedNotRemoved"/>
  <int value="1345" label="ProgressElementWithNoneAppearance"/>
  <int value="1346" label="ProgressElementWithProgressBarAppearance"/>
  <int value="1347" label="PointerEventAddListenerCount"/>
  <int value="1351" label="CSSValueAppearanceNone"/>
  <int value="1352" label="CSSValueAppearanceNotNone"/>
  <int value="1353" label="CSSValueAppearanceOthers"/>
  <int value="1354" label="CSSValueAppearanceButton"/>
  <int value="1355" label="CSSValueAppearanceCaret"/>
  <int value="1356" label="CSSValueAppearanceCheckbox"/>
  <int value="1357" label="CSSValueAppearanceMenulist"/>
  <int value="1358" label="CSSValueAppearanceMenulistButton"/>
  <int value="1359" label="CSSValueAppearanceListbox"/>
  <int value="1360" label="CSSValueAppearanceRadio"/>
  <int value="1361" label="CSSValueAppearanceSearchField"/>
  <int value="1362" label="CSSValueAppearanceTextField"/>
  <int value="1363" label="AudioContextCreatePannerAutomated"/>
  <int value="1364" label="PannerNodeSetPosition"/>
  <int value="1365" label="PannerNodeSetOrientation"/>
  <int value="1366" label="AudioListenerSetPosition"/>
  <int value="1367" label="AudioListenerSetOrientation"/>
  <int value="1368" label="IntersectionObserver_Constructor"/>
  <int value="1369" label="DurableStoragePersist"/>
  <int value="1370" label="DurableStoragePersisted"/>
  <int value="1371" label="DurableStorageEstimate"/>
  <int value="1372" label="UntrustedEventDefaultHandled"/>
  <int value="1373" label="FixedRasterScaleBlurryContent"/>
  <int value="1374" label="FixedRasterScalePotentialPerformanceRegression"/>
  <int value="1375" label="CSSDeepCombinatorAndShadow"/>
  <int value="1376" label="OpacityWithPreserve3DQuirk"/>
  <int value="1377" label="CSSSelectorPseudoReadOnly"/>
  <int value="1378" label="CSSSelectorPseudoReadWrite"/>
  <int value="1379" label="UnloadHandler_Navigation"/>
  <int value="1380" label="TouchStartUserGestureUtilized"/>
  <int value="1381" label="TouchMoveUserGestureUtilized"/>
  <int value="1382" label="TouchEndDuringScrollUserGestureUtilized"/>
  <int value="1383" label="CSSSelectorPseudoDefined"/>
  <int value="1384" label="RTCPeerConnectionAddIceCandidatePromise"/>
  <int value="1385" label="RTCPeerConnectionAddIceCandidateLegacy"/>
  <int value="1386" label="RTCIceCandidateDefaultSdpMLineIndex"/>
  <int value="1387" label="DocumentCreateEventSensorErrorEvent"/>
  <int value="1388" label="DocumentCreateEventSensorReadingEvent"/>
  <int value="1389" label="MediaStreamConstraintsOldAndNew"/>
  <int value="1390" label="V8ArrayProtectorDirtied"/>
  <int value="1391" label="V8ArraySpeciesModified"/>
  <int value="1392" label="V8ArrayPrototypeConstructorModified"/>
  <int value="1393" label="V8ArrayInstanceProtoModified"/>
  <int value="1394" label="V8ArrayInstanceConstructorModified"/>
  <int value="1395" label="V8LegacyFunctionDeclaration"/>
  <int value="1396" label="V8RegExpPrototypeSourceGetter"/>
  <int value="1397" label="V8RegExpPrototypeOldFlagGetter"/>
  <int value="1398" label="V8DecimalWithLeadingZeroInStrictMode"/>
  <int value="1399" label="OBSOLETE_FormSubmissionNotInDocumentTree"/>
  <int value="1400" label="GetUserMediaPrefixed"/>
  <int value="1401" label="GetUserMediaLegacy"/>
  <int value="1402" label="GetUserMediaPromise"/>
  <int value="1403" label="CSSFilterFunctionNoArguments"/>
  <int value="1404" label="V8LegacyDateParser"/>
  <int value="1405" label="OpenSearchInsecureOriginInsecureTarget"/>
  <int value="1406" label="OpenSearchInsecureOriginSecureTarget"/>
  <int value="1407" label="OpenSearchSecureOriginInsecureTarget"/>
  <int value="1408" label="OpenSearchSecureOriginSecureTarget"/>
  <int value="1409" label="RegisterProtocolHandlerSecureOrigin"/>
  <int value="1410" label="RegisterProtocolHandlerInsecureOrigin"/>
  <int value="1411" label="CrossOriginWindowAlert"/>
  <int value="1412" label="CrossOriginWindowConfirm"/>
  <int value="1413" label="CrossOriginWindowPrompt"/>
  <int value="1414" label="CrossOriginWindowPrint"/>
  <int value="1415" label="MediaStreamOnActive"/>
  <int value="1416" label="MediaStreamOnInactive"/>
  <int value="1417" label="AddEventListenerPassiveTrue"/>
  <int value="1418" label="AddEventListenerPassiveFalse"/>
  <int value="1419" label="CSPReferrerDirective"/>
  <int value="1420" label="DocumentOpen"/>
  <int value="1421" label="ElementRequestPointerLockInShadow"/>
  <int value="1422" label="ShadowRootPointerLockElement"/>
  <int value="1423" label="DocumentPointerLockElementInV0Shadow"/>
  <int value="1424" label="TextAreaMaxLength"/>
  <int value="1425" label="TextAreaMinLength"/>
  <int value="1426" label="TopNavigationFromSubFrame"/>
  <int value="1427" label="PrefixedElementRequestFullscreenInShadow"/>
  <int value="1428" label="MediaSourceAbortRemove"/>
  <int value="1429" label="MediaSourceDurationTruncatingBuffered"/>
  <int value="1430" label="AudioContextCrossOriginIframe"/>
  <int value="1431" label="PointerEventSetCapture"/>
  <int value="1432" label="PointerEventDispatch"/>
  <int value="1433" label="MIDIMessageEventReceivedTime"/>
  <int value="1434" label="SummaryElementWithDisplayBlockAuthorRule"/>
  <int value="1435" label="V8MediaStream_Active_AttributeGetter"/>
  <int value="1436" label="BeforeInstallPromptEvent"/>
  <int value="1437" label="BeforeInstallPromptEventUserChoice"/>
  <int value="1438" label="BeforeInstallPromptEventPreventDefault"/>
  <int value="1439" label="BeforeInstallPromptEventPrompt"/>
  <int value="1440" label="ExecCommandAltersHTMLStructure"/>
  <int value="1441" label="SecureContextCheckPassed"/>
  <int value="1442" label="SecureContextCheckFailed"/>
  <int value="1443" label="SecureContextCheckForSandboxedOriginPassed"/>
  <int value="1444" label="SecureContextCheckForSandboxedOriginFailed"/>
  <int value="1445" label="V8DefineGetterOrSetterWouldThrow"/>
  <int value="1446" label="V8FunctionConstructorReturnedUndefined"/>
  <int value="1447" label="V8BroadcastChannel_Constructor"/>
  <int value="1448" label="V8BroadcastChannel_PostMessage_Method"/>
  <int value="1449" label="V8BroadcastChannel_Close_Method"/>
  <int value="1450" label="TouchStartFired"/>
  <int value="1451" label="MouseDownFired"/>
  <int value="1452" label="PointerDownFired"/>
  <int value="1453" label="PointerDownFiredForTouch"/>
  <int value="1454" label="PointerEventDispatchPointerDown"/>
  <int value="1455" label="SVGSMILBeginOrEndEventValue"/>
  <int value="1456" label="SVGSMILBeginOrEndSyncbaseValue"/>
  <int value="1457" label="SVGSMILElementInsertedAfterLoad"/>
  <int value="1458" label="V8VisualViewport_ScrollLeft_AttributeGetter"/>
  <int value="1459" label="V8VisualViewport_ScrollTop_AttributeGetter"/>
  <int value="1460" label="V8VisualViewport_PageX_AttributeGetter"/>
  <int value="1461" label="V8VisualViewport_PageY_AttributeGetter"/>
  <int value="1462" label="V8VisualViewport_ClientWidth_AttributeGetter"/>
  <int value="1463" label="V8VisualViewport_ClientHeight_AttributeGetter"/>
  <int value="1464" label="V8VisualViewport_Scale_AttributeGetter"/>
  <int value="1465" label="VisualViewportScrollFired"/>
  <int value="1466" label="VisualViewportResizeFired"/>
  <int value="1467" label="NodeGetRootNode"/>
  <int value="1468" label="SlotChangeEventAddListener"/>
  <int value="1469" label="CSSValueAppearanceButtonRendered"/>
  <int value="1470" label="CSSValueAppearanceButtonForAnchor"/>
  <int value="1471" label="CSSValueAppearanceButtonForButton"/>
  <int value="1472" label="CSSValueAppearanceButtonForOtherButtons"/>
  <int value="1473" label="CSSValueAppearanceTextFieldRendered"/>
  <int value="1474" label="CSSValueAppearanceTextFieldForSearch"/>
  <int value="1475" label="CSSValueAppearanceTextFieldForTextField"/>
  <int value="1476" label="RTCPeerConnectionGetStats"/>
  <int value="1477" label="SVGSMILAnimationAppliedEffect"/>
  <int value="1478" label="PerformanceResourceTimingSizes"/>
  <int value="1479" label="EventSourceDocument"/>
  <int value="1480" label="EventSourceWorker"/>
  <int value="1481" label="SingleOriginInTimingAllowOrigin"/>
  <int value="1482" label="MultipleOriginsInTimingAllowOrigin"/>
  <int value="1483" label="StarInTimingAllowOrigin"/>
  <int value="1484" label="SVGSMILAdditiveAnimation"/>
  <int value="1485" label="SendBeaconWithNonSimpleContentType"/>
  <int value="1486" label="ChromeLoadTimesRequestTime"/>
  <int value="1487" label="ChromeLoadTimesStartLoadTime"/>
  <int value="1488" label="ChromeLoadTimesCommitLoadTime"/>
  <int value="1489" label="ChromeLoadTimesFinishDocumentLoadTime"/>
  <int value="1490" label="ChromeLoadTimesFinishLoadTime"/>
  <int value="1491" label="ChromeLoadTimesFirstPaintTime"/>
  <int value="1492" label="ChromeLoadTimesFirstPaintAfterLoadTime"/>
  <int value="1493" label="ChromeLoadTimesNavigationType"/>
  <int value="1494" label="ChromeLoadTimesWasFetchedViaSpdy"/>
  <int value="1495" label="ChromeLoadTimesWasNpnNegotiated"/>
  <int value="1496" label="ChromeLoadTimesNpnNegotiatedProtocol"/>
  <int value="1497" label="ChromeLoadTimesWasAlternateProtocolAvailable"/>
  <int value="1498" label="ChromeLoadTimesConnectionInfo"/>
  <int value="1499" label="ChromeLoadTimesUnknown"/>
  <int value="1500" label="SVGViewElement"/>
  <int value="1501" label="WebShareShare"/>
  <int value="1502" label="AuxclickAddListenerCount"/>
  <int value="1503" label="HTMLCanvasElement"/>
  <int value="1504" label="SVGSMILAnimationElementTiming"/>
  <int value="1505" label="SVGSMILBeginEndAnimationElement"/>
  <int value="1506" label="SVGSMILPausing"/>
  <int value="1507" label="SVGSMILCurrentTime"/>
  <int value="1508" label="HTMLBodyElementOnSelectionChangeAttribute"/>
  <int value="1509" label="ForeignFetchInterception"/>
  <int value="1510" label="MapNameMatchingStrict"/>
  <int value="1511" label="MapNameMatchingASCIICaseless"/>
  <int value="1512" label="MapNameMatchingUnicodeLower"/>
  <int value="1513" label="RadioNameMatchingStrict"/>
  <int value="1514" label="RadioNameMatchingASCIICaseless"/>
  <int value="1515" label="RadioNameMatchingCaseFolding"/>
  <int value="1516" label="NavigatorPointerEnabled"/>
  <int value="1517" label="OBSOLETE_InputSelectionGettersThrow"/>
  <int value="1518" label="DocumentCreateEventVRDisplayEvent"/>
  <int value="1519" label="UsbGetDevices"/>
  <int value="1520" label="UsbRequestDevice"/>
  <int value="1521" label="UsbDeviceOpen"/>
  <int value="1522" label="UsbDeviceClose"/>
  <int value="1523" label="UsbDeviceSelectConfiguration"/>
  <int value="1524" label="UsbDeviceClaimInterface"/>
  <int value="1525" label="UsbDeviceReleaseInterface"/>
  <int value="1526" label="UsbDeviceSelectAlternateInterface"/>
  <int value="1527" label="UsbDeviceControlTransferIn"/>
  <int value="1528" label="UsbDeviceControlTransferOut"/>
  <int value="1529" label="UsbDeviceClearHalt"/>
  <int value="1530" label="UsbDeviceTransferIn"/>
  <int value="1531" label="UsbDeviceTransferOut"/>
  <int value="1532" label="UsbDeviceIsochronousTransferIn"/>
  <int value="1533" label="UsbDeviceIsochronousTransferOut"/>
  <int value="1534" label="UsbDeviceReset"/>
  <int value="1535" label="PointerEnterLeaveFired"/>
  <int value="1536" label="PointerOverOutFired"/>
  <int value="1537" label="PointerEnterLeaveFiredWhileCaptured"/>
  <int value="1538" label="PointerOverOutFiredWhileCaptured"/>
  <int value="1539" label="DraggableAttribute"/>
  <int value="1540" label="CleanScriptElementWithNonce"/>
  <int value="1541" label="PotentiallyInjectedScriptElementWithNonce"/>
  <int value="1542" label="PendingStylesheetAddedAfterBodyStarted"/>
  <int value="1543" label="UntrustedMouseDownEventDispatchedToSelect"/>
  <int value="1544" label="BlockedSniffingAudioToScript"/>
  <int value="1545" label="BlockedSniffingVideoToScript"/>
  <int value="1546" label="BlockedSniffingCSVToScript"/>
  <int value="1547" label="MetaSetCookie"/>
  <int value="1548" label="MetaRefresh"/>
  <int value="1549" label="MetaSetCookieWhenCSPBlocksInlineScript"/>
  <int value="1550" label="MetaRefreshWhenCSPBlocksInlineScript"/>
  <int value="1551" label="MiddleClickAutoscrollStart"/>
  <int value="1552" label="ClipCssOfFixedPositionElement"/>
  <int value="1553" label="RTCPeerConnectionCreateOfferOptionsOfferToReceive"/>
  <int value="1554" label="DragAndDropScrollStart"/>
  <int value="1555"
      label="PresentationConnectionListConnectionAvailableEventListener"/>
  <int value="1556" label="WebAudioAutoplayCrossOriginIframe"/>
  <int value="1557" label="ScriptInvalidTypeOrLanguage"/>
  <int value="1558" label="VRGetDisplays"/>
  <int value="1559" label="VRPresent (Obsolete)"/>
  <int value="1560" label="VRDeprecatedGetPose"/>
  <int value="1561" label="WebAudioAnalyserNode"/>
  <int value="1562" label="WebAudioAudioBuffer"/>
  <int value="1563" label="WebAudioAudioBufferSourceNode"/>
  <int value="1564" label="WebAudioBiquadFilterNode"/>
  <int value="1565" label="WebAudioChannelMergerNode"/>
  <int value="1566" label="WebAudioChannelSplitterNode"/>
  <int value="1567" label="WebAudioConvolverNode"/>
  <int value="1568" label="WebAudioDelayNode"/>
  <int value="1569" label="WebAudioDynamicsCompressorNode"/>
  <int value="1570" label="WebAudioGainNode"/>
  <int value="1571" label="WebAudioIIRFilterNode"/>
  <int value="1572" label="WebAudioMediaElementAudioSourceNode"/>
  <int value="1573" label="WebAudioOscillatorNode"/>
  <int value="1574" label="WebAudioPannerNode"/>
  <int value="1575" label="WebAudioPeriodicWave"/>
  <int value="1576" label="WebAudioStereoPannerNode"/>
  <int value="1577" label="WebAudioWaveShaperNode"/>
  <int value="1578" label="CSSZoomReset"/>
  <int value="1579" label="CSSZoomDocument"/>
  <int value="1580" label="PaymentAddressCareOf"/>
  <int value="1581" label="XSSAuditorBlockedScript"/>
  <int value="1582" label="XSSAuditorBlockedEntirePage"/>
  <int value="1583" label="XSSAuditorDisabled"/>
  <int value="1584" label="XSSAuditorEnabledFilter"/>
  <int value="1585" label="XSSAuditorEnabledBlock"/>
  <int value="1586" label="XSSAuditorInvalid"/>
  <int value="1587" label="SVGCursorElement"/>
  <int value="1588" label="SVGCursorElementHasClient"/>
  <int value="1589" label="TextInputEventOnInput"/>
  <int value="1590" label="TextInputEventOnTextArea"/>
  <int value="1591" label="TextInputEventOnContentEditable"/>
  <int value="1592" label="TextInputEventOnNotNode"/>
  <int value="1593" label="WebkitBeforeTextInsertedOnInput"/>
  <int value="1594" label="WebkitBeforeTextInsertedOnTextArea"/>
  <int value="1595" label="WebkitBeforeTextInsertedOnContentEditable"/>
  <int value="1596" label="WebkitBeforeTextInsertedOnNotNode"/>
  <int value="1597" label="WebkitEditableContentChangedOnInput"/>
  <int value="1598" label="WebkitEditableContentChangedOnTextArea"/>
  <int value="1599" label="WebkitEditableContentChangedOnContentEditable"/>
  <int value="1600" label="WebkitEditableContentChangedOnNotNode"/>
  <int value="1601"
      label="V8NavigatorUserMediaError_ConstraintName_AttributeGetter"/>
  <int value="1602" label="V8HTMLMediaElement_SrcObject_AttributeGetter"/>
  <int value="1603" label="V8HTMLMediaElement_SrcObject_AttributeSetter"/>
  <int value="1604" label="CreateObjectURLBlob"/>
  <int value="1605" label="CreateObjectURLMediaSource"/>
  <int value="1606" label="CreateObjectURLMediaStream"/>
  <int value="1607" label="DocumentCreateTouchWindowNull"/>
  <int value="1608" label="DocumentCreateTouchWindowWrongType"/>
  <int value="1609" label="DocumentCreateTouchTargetNull"/>
  <int value="1610" label="DocumentCreateTouchTargetWrongType"/>
  <int value="1611" label="DocumentCreateTouchLessThanSevenArguments"/>
  <int value="1612" label="DocumentCreateTouchMoreThanSevenArguments"/>
  <int value="1613" label="EncryptedMediaCapabilityProvided"/>
  <int value="1614" label="EncryptedMediaCapabilityNotProvided"/>
  <int value="1615" label="LongTaskObserver"/>
  <int value="1616" label="CSSMotionInEffect"/>
  <int value="1617" label="CSSOffsetInEffect"/>
  <int value="1618" label="VRGetDisplaysInsecureOrigin"/>
  <int value="1619" label="VRRequestPresent"/>
  <int value="1620" label="VRRequestPresentInsecureOrigin"/>
  <int value="1621" label="VRDeprecatedFieldOfView"/>
  <int value="1622" label="VideoInCanvas"/>
  <int value="1623" label="HiddenAutoplayedVideoInCanvas"/>
  <int value="1624" label="OffscreenCanvas"/>
  <int value="1625" label="GamepadPose"/>
  <int value="1626" label="GamepadHand"/>
  <int value="1627" label="GamepadDisplayId"/>
  <int value="1628" label="GamepadButtonTouched"/>
  <int value="1629" label="GamepadPoseHasOrientation"/>
  <int value="1630" label="GamepadPoseHasPosition"/>
  <int value="1631" label="GamepadPosePosition"/>
  <int value="1632" label="GamepadPoseLinearVelocity"/>
  <int value="1633" label="GamepadPoseLinearAcceleration"/>
  <int value="1634" label="GamepadPoseOrientation"/>
  <int value="1635" label="GamepadPoseAngularVelocity"/>
  <int value="1636" label="GamepadPoseAngularAcceleration"/>
  <int value="1637" label="DeprecatedBluetoothDeviceUUIDsAttribute"/>
  <int value="1638" label="V8RTCDataChannel_MaxRetransmitTime_AttributeGetter"/>
  <int value="1639" label="V8RTCDataChannel_MaxRetransmits_AttributeGetter"/>
  <int value="1640" label="V8RTCDataChannel_Reliable_AttributeGetter"/>
  <int value="1641" label="V8RTCPeerConnection_AddStream_Method"/>
  <int value="1642" label="V8RTCPeerConnection_CreateDTMFSender_Method"/>
  <int value="1643" label="V8RTCPeerConnection_GetLocalStreams_Method"/>
  <int value="1644" label="V8RTCPeerConnection_GetRemoteStreams_Method"/>
  <int value="1645" label="V8RTCPeerConnection_GetStreamById_Method"/>
  <int value="1646" label="V8RTCPeerConnection_RemoveStream_Method"/>
  <int value="1647" label="V8RTCPeerConnection_UpdateIce_Method"/>
  <int value="1648"
      label="RTCPeerConnectionCreateDataChannelMaxRetransmitTime"/>
  <int value="1649" label="RTCPeerConnectionCreateDataChannelMaxRetransmits"/>
  <int value="1650" label="AudioContextCreateConstantSource"/>
  <int value="1651" label="WebAudioConstantSourceNode"/>
  <int value="1652" label="LoopbackEmbeddedInSecureContext"/>
  <int value="1653" label="LoopbackEmbeddedInNonSecureContext"/>
  <int value="1654" label="BlinkMacSystemFont"/>
  <int value="1655" label="RTCConfigurationIceTransportsNone"/>
  <int value="1656" label="RTCIceServerURL"/>
  <int value="1657" label="RTCIceServerURLs"/>
  <int value="1658" label="OffscreenCanvasTransferToImageBitmap2D"/>
  <int value="1659" label="OffscreenCanvasTransferToImageBitmapWebGL"/>
  <int value="1660" label="OffscreenCanvasCommit2D"/>
  <int value="1661" label="OffscreenCanvasCommitWebGL"/>
  <int value="1662" label="RTCConfigurationIceTransportPolicy"/>
  <int value="1663" label="RTCConfigurationIceTransportPolicyNone"/>
  <int value="1664" label="RTCConfigurationIceTransports"/>
  <int value="1665" label="DocumentFullscreenElementInV0Shadow"/>
  <int value="1666" label="ScriptWithCSPBypassingSchemeParserInserted"/>
  <int value="1667" label="ScriptWithCSPBypassingSchemeNotParserInserted"/>
  <int value="1668" label="DocumentCreateElement2ndArgStringHandling"/>
  <int value="1669" label="V8MediaRecorder_Start_Method"/>
  <int value="1670" label="WebBluetoothRequestDevice"/>
  <int value="1671" label="UnitlessPerspectiveInPerspectiveProperty"/>
  <int value="1672" label="UnitlessPerspectiveInTransformProperty"/>
  <int value="1673" label="V8RTCSessionDescription_Type_AttributeGetter"/>
  <int value="1674" label="V8RTCSessionDescription_Type_AttributeSetter"/>
  <int value="1675" label="V8RTCSessionDescription_Sdp_AttributeGetter"/>
  <int value="1676" label="V8RTCSessionDescription_Sdp_AttributeSetter"/>
  <int value="1677" label="RTCSessionDescriptionInitNoType"/>
  <int value="1678" label="RTCSessionDescriptionInitNoSdp"/>
  <int value="1679" label="HTMLMediaElementPreloadForcedMetadata"/>
  <int value="1680" label="GenericSensorStart"/>
  <int value="1681" label="GenericSensorStop"/>
  <int value="1682" label="TouchEventPreventedNoTouchAction"/>
  <int value="1683"
      label="TouchEventPreventedForcedDocumentPassiveNoTouchAction"/>
  <int value="1684" label="V8Event_StopPropagation_Method"/>
  <int value="1685" label="V8Event_StopImmediatePropagation_Method"/>
  <int value="1686" label="ImageCaptureConstructor"/>
  <int value="1687" label="V8Document_RootScroller_AttributeGetter"/>
  <int value="1688" label="V8Document_RootScroller_AttributeSetter"/>
  <int value="1689" label="CustomElementRegistryDefine"/>
  <int value="1690" label="LinkHeaderServiceWorker"/>
  <int value="1691" label="CSSShadowPiercingDescendantCombinator"/>
  <int value="1692" label="CSSFlexibleBox"/>
  <int value="1693" label="CSSGridLayout"/>
  <int value="1694" label="V8BarcodeDetector_Detect_Method"/>
  <int value="1695" label="V8FaceDetector_Detect_Method"/>
  <int value="1696" label="FullscreenAllowedByOrientationChange"/>
  <int value="1697"
      label="ServiceWorkerRespondToNavigationRequestWithRedirectedResponse"/>
  <int value="1698" label="V8AudioContext_Constructor"/>
  <int value="1699" label="V8OfflineAudioContext_Constructor"/>
  <int value="1700" label="AppInstalledEventAddListener"/>
  <int value="1701" label="AudioContextGetOutputTimestamp"/>
  <int value="1702" label="V8MediaStreamAudioDestinationNode_Constructor"/>
  <int value="1703" label="V8AnalyserNode_Constructor"/>
  <int value="1704" label="V8AudioBuffer_Constructor"/>
  <int value="1705" label="V8AudioBufferSourceNode_Constructor"/>
  <int value="1706" label="V8AudioProcessingEvent_Constructor"/>
  <int value="1707" label="V8BiquadFilterNode_Constructor"/>
  <int value="1708" label="V8ChannelMergerNode_Constructor"/>
  <int value="1709" label="V8ChannelSplitterNode_Constructor"/>
  <int value="1710" label="V8ConstantSourceNode_Constructor"/>
  <int value="1711" label="V8ConvolverNode_Constructor"/>
  <int value="1712" label="V8DelayNode_Constructor"/>
  <int value="1713" label="V8DynamicsCompressorNode_Constructor"/>
  <int value="1714" label="V8GainNode_Constructor"/>
  <int value="1715" label="V8IIRFilterNode_Constructor"/>
  <int value="1716" label="V8MediaElementAudioSourceNode_Constructor"/>
  <int value="1717" label="V8MediaStreamAudioSourceNode_Constructor"/>
  <int value="1718" label="V8OfflineAudioCompletionEvent_Constructor"/>
  <int value="1719" label="V8OscillatorNode_Constructor"/>
  <int value="1720" label="V8PannerNode_Constructor"/>
  <int value="1721" label="V8PeriodicWave_Constructor"/>
  <int value="1722" label="V8StereoPannerNode_Constructor"/>
  <int value="1723" label="V8WaveShaperNode_Constructor"/>
  <int value="1724" label="V8Headers_GetAll_Method"/>
  <int value="1725" label="NavigatorVibrateEngagementNone"/>
  <int value="1726" label="NavigatorVibrateEngagementMinimal"/>
  <int value="1727" label="NavigatorVibrateEngagementLow"/>
  <int value="1728" label="NavigatorVibrateEngagementMedium"/>
  <int value="1729" label="NavigatorVibrateEngagementHigh"/>
  <int value="1730" label="NavigatorVibrateEngagementMax"/>
  <int value="1731" label="AlertEngagementNone"/>
  <int value="1732" label="AlertEngagementMinimal"/>
  <int value="1733" label="AlertEngagementLow"/>
  <int value="1734" label="AlertEngagementMedium"/>
  <int value="1735" label="AlertEngagementHigh"/>
  <int value="1736" label="AlertEngagementMax"/>
  <int value="1737" label="ConfirmEngagementNone"/>
  <int value="1738" label="ConfirmEngagementMinimal"/>
  <int value="1739" label="ConfirmEngagementLow"/>
  <int value="1740" label="ConfirmEngagementMedium"/>
  <int value="1741" label="ConfirmEngagementHigh"/>
  <int value="1742" label="ConfirmEngagementMax"/>
  <int value="1743" label="PromptEngagementNone"/>
  <int value="1744" label="PromptEngagementMinimal"/>
  <int value="1745" label="PromptEngagementLow"/>
  <int value="1746" label="PromptEngagementMedium"/>
  <int value="1747" label="PromptEngagementHigh"/>
  <int value="1748" label="PromptEngagementMax"/>
  <int value="1749" label="TopNavInSandbox"/>
  <int value="1750" label="TopNavInSandboxWithoutGesture"/>
  <int value="1751" label="TopNavInSandboxWithPerm"/>
  <int value="1752" label="TopNavInSandboxWithPermButNoGesture"/>
  <int value="1753" label="ReferrerPolicyHeader"/>
  <int value="1754" label="HTMLAnchorElementReferrerPolicyAttribute"/>
  <int value="1755" label="HTMLIFrameElementReferrerPolicyAttribute"/>
  <int value="1756" label="HTMLImageElementReferrerPolicyAttribute"/>
  <int value="1757" label="HTMLLinkElementReferrerPolicyAttribute"/>
  <int value="1758" label="BaseElement"/>
  <int value="1759" label="BaseWithCrossOriginHref"/>
  <int value="1760" label="BaseWithDataHref"/>
  <int value="1761" label="BaseWithNewlinesInTarget"/>
  <int value="1762" label="BaseWithOpenBracketInTarget"/>
  <int value="1763" label="BaseWouldBeBlockedByDefaultSrc"/>
  <int value="1764" label="V8AssigmentExpressionLHSIsCallInSloppy"/>
  <int value="1765" label="V8AssigmentExpressionLHSIsCallInStrict"/>
  <int value="1766" label="V8PromiseConstructorReturnedUndefined"/>
  <int value="1767" label="FormSubmittedWithUnclosedFormControl"/>
  <int value="1768" label="DocumentCompleteURLHTTPContainingNewline"/>
  <int value="1769" label="DocumentCompleteURLHTTPContainingLessThan"/>
  <int value="1770"
      label="DocumentCompleteURLHTTPContainingNewlineAndLessThan"/>
  <int value="1771" label="DocumentCompleteURLNonHTTPContainingNewline"/>
  <int value="1772" label="CSSSelectorInternalMediaControlsTextTrackList"/>
  <int value="1773" label="CSSSelectorInternalMediaControlsTextTrackListItem"/>
  <int value="1774"
      label="CSSSelectorInternalMediaControlsTextTrackListItemInput"/>
  <int value="1775"
      label="CSSSelectorInternalMediaControlsTextTrackListKindCaptions"/>
  <int value="1776"
      label="CSSSelectorInternalMediaControlsTextTrackListKindSubtitles"/>
  <int value="1777" label="ScrollbarUseVerticalScrollbarButton"/>
  <int value="1778" label="ScrollbarUseVerticalScrollbarThumb"/>
  <int value="1779" label="ScrollbarUseVerticalScrollbarTrack"/>
  <int value="1780" label="ScrollbarUseHorizontalScrollbarButton"/>
  <int value="1781" label="ScrollbarUseHorizontalScrollbarThumb"/>
  <int value="1782" label="ScrollbarUseHorizontalScrollbarTrack"/>
  <int value="1783" label="HTMLTableCellElementColspan"/>
  <int value="1784" label="HTMLTableCellElementColspanGreaterThan1000"/>
  <int value="1785" label="HTMLTableCellElementColspanGreaterThan8190"/>
  <int value="1786" label="SelectionAddRangeIntersect"/>
  <int value="1787" label="PostMessageFromInsecureToSecureToplevel"/>
  <int value="1788" label="V8MediaSession_Metadata_AttributeGetter"/>
  <int value="1789" label="V8MediaSession_Metadata_AttributeSetter"/>
  <int value="1790" label="V8MediaSession_PlaybackState_AttributeGetter"/>
  <int value="1791" label="V8MediaSession_PlaybackState_AttributeSetter"/>
  <int value="1792" label="V8MediaSession_SetActionHandler_Method"/>
  <int value="1793" label="WebNFCPush"/>
  <int value="1794" label="WebNFCCancelPush"/>
  <int value="1795" label="WebNFCWatch"/>
  <int value="1796" label="WebNFCCancelWatch"/>
  <int value="1797" label="AudioParamCancelAndHoldAtTime"/>
  <int value="1798" label="CSSValueUserModifyReadOnly"/>
  <int value="1799" label="CSSValueUserModifyReadWrite"/>
  <int value="1800" label="CSSValueUserModifyReadWritePlaintextOnly"/>
  <int value="1801" label="V8TextDetector_Detect_Method"/>
  <int value="1802" label="CSSValueOnDemand"/>
  <int value="1803" label="ServiceWorkerNavigationPreload"/>
  <int value="1804" label="FullscreenRequestWithPendingElement"/>
  <int value="1805"
      label="HTMLIFrameElementAllowfullscreenAttributeSetAfterContentLoad"/>
  <int value="1806" label="PointerEventSetCaptureOutsideDispatch"/>
  <int value="1807" label="NotificationPermissionRequestedInsecureOrigin"/>
  <int value="1808" label="V8DeprecatedStorageInfo_QueryUsageAndQuota_Method"/>
  <int value="1809" label="V8DeprecatedStorageInfo_RequestQuota_Method"/>
  <int value="1810" label="V8DeprecatedStorageQuota_QueryUsageAndQuota_Method"/>
  <int value="1811" label="V8DeprecatedStorageQuota_RequestQuota_Method"/>
  <int value="1812" label="V8FileReaderSync_Constructor"/>
  <int value="1813" label="UncancelableTouchEventPreventDefaulted"/>
  <int value="1814"
      label="UncancelableTouchEventDueToMainThreadResponsivenessPreventDefaulted"/>
  <int value="1815" label="V8HTMLVideoElement_Poster_AttributeGetter"/>
  <int value="1816" label="V8HTMLVideoElement_Poster_AttributeSetter"/>
  <int value="1817" label="NotificationPermissionRequestedIframe"/>
  <int value="1818" label="FileReaderSyncInServiceWorker"/>
  <int value="1819" label="PresentationReceiverInsecureOrigin"/>
  <int value="1820" label="PresentationReceiverSecureOrigin"/>
  <int value="1821" label="PresentationRequestInsecureOrigin"/>
  <int value="1822" label="PresentationRequestSecureOrigin"/>
  <int value="1823" label="RtcpMuxPolicyNegotiate"/>
  <int value="1824" label="DOMClobberedVariableAccessed"/>
  <int value="1825" label="HTMLDocumentCreateProcessingInstruction"/>
  <int value="1826" label="FetchResponseConstructionWithStream"/>
  <int value="1827" label="LocationOrigin"/>
  <int value="1828" label="DocumentOrigin"/>
  <int value="1829" label="SubtleCryptoOnlyStrictSecureContextCheckFailed"/>
  <int value="1830" label="Canvas2DFilter"/>
  <int value="1831" label="Canvas2DImageSmoothingQuality"/>
  <int value="1832" label="CanvasToBlob"/>
  <int value="1833" label="CanvasToDataURL"/>
  <int value="1834" label="OffscreenCanvasConvertToBlob"/>
  <int value="1835" label="SVGInCanvas2D"/>
  <int value="1836" label="SVGInWebGL"/>
  <int value="1837" label="SelectionFuncionsChangeFocus"/>
  <int value="1838" label="HTMLObjectElementGetter"/>
  <int value="1839" label="HTMLObjectElementSetter"/>
  <int value="1840" label="HTMLEmbedElementGetter"/>
  <int value="1841" label="HTMLEmbedElementSetter"/>
  <int value="1842" label="TransformUsesBoxSizeOnSVG"/>
  <int value="1843" label="ScrollByKeyboardArrowKeys"/>
  <int value="1844" label="ScrollByKeyboardPageUpDownKeys"/>
  <int value="1845" label="ScrollByKeyboardHomeEndKeys"/>
  <int value="1846" label="ScrollByKeyboardSpacebarKey"/>
  <int value="1847" label="ScrollByTouch"/>
  <int value="1848" label="ScrollByWheel"/>
  <int value="1849" label="ScheduledActionIgnored"/>
  <int value="1850" label="GetCanvas2DContextAttributes"/>
  <int value="1851" label="V8HTMLInputElement_Capture_AttributeGetter"/>
  <int value="1852" label="V8HTMLInputElement_Capture_AttributeSetter"/>
  <int value="1853" label="HTMLMediaElementControlsListAttribute"/>
  <int value="1854" label="HTMLMediaElementControlsListNoDownload"/>
  <int value="1855" label="HTMLMediaElementControlsListNoFullscreen"/>
  <int value="1856" label="HTMLMediaElementControlsListNoRemotePlayback"/>
  <int value="1857" label="PointerEventClickRetargetCausedByCapture"/>
  <int value="1858" label="VRDisplayIsConnected"/>
  <int value="1859" label="VRDisplayResetPose"/>
  <int value="1860" label="VRDisplayCapabilitiesHasOrientation"/>
  <int value="1861" label="VRDisplayDisplayName"/>
  <int value="1862" label="VREyeParametersOffset"/>
  <int value="1863" label="VRPoseLinearVelocity"/>
  <int value="1864" label="VRPoseLinearAcceleration"/>
  <int value="1865" label="VRPoseAngularVelocity"/>
  <int value="1866" label="VRPoseAngularAcceleration"/>
  <int value="1867" label="CSSOverflowPaged"/>
  <int value="1868" label="ChildSrcAllowedWorkerThatScriptSrcBlocked"/>
  <int value="1869" label="HTMLTableElementPresentationAttributeBackground"/>
  <int value="1870" label="V8Navigator_GetInstalledRelatedApps_Method"/>
  <int value="1871" label="NamedAccessOnWindow_ChildBrowsingContext"/>
  <int value="1872"
      label="NamedAccessOnWindow_ChildBrowsingContext_CrossOriginNameMismatch"/>
  <int value="1873" label="V0CustomElementsRegisterHTMLCustomTag"/>
  <int value="1874" label="V0CustomElementsRegisterHTMLTypeExtension"/>
  <int value="1875" label="V0CustomElementsRegisterSVGElement"/>
  <int value="1876" label="V0CustomElementsRegisterEmbedderElement"/>
  <int value="1877" label="V0CustomElementsCreateCustomTagElement"/>
  <int value="1878" label="V0CustomElementsCreateTypeExtensionElement"/>
  <int value="1879" label="V0CustomElementsConstruct"/>
  <int value="1880" label="V8IDBObserver_Observe_Method"/>
  <int value="1881" label="V8IDBObserver_Unobserve_Method"/>
  <int value="1882" label="WebBluetoothRemoteCharacteristicGetDescriptor"/>
  <int value="1883" label="WebBluetoothRemoteCharacteristicGetDescriptors"/>
  <int value="1884" label="WebBluetoothRemoteCharacteristicReadValue"/>
  <int value="1885" label="WebBluetoothRemoteCharacteristicWriteValue"/>
  <int value="1886" label="WebBluetoothRemoteCharacteristicStartNotifications"/>
  <int value="1887" label="WebBluetoothRemoteCharacteristicStopNotifications"/>
  <int value="1888" label="WebBluetoothRemoteDescriptorReadValue"/>
  <int value="1889" label="WebBluetoothRemoteDescriptorWriteValue"/>
  <int value="1890" label="WebBluetoothRemoteServerConnect"/>
  <int value="1891" label="WebBluetoothRemoteServerDisconnect"/>
  <int value="1892" label="WebBluetoothRemoteServerGetPrimaryService"/>
  <int value="1893" label="WebBluetoothRemoteServerGetPrimaryServices"/>
  <int value="1894" label="WebBluetoothRemoteServiceGetCharacteristic"/>
  <int value="1895" label="WebBluetoothRemoteServiceGetCharacteristics"/>
  <int value="1896" label="HTMLContentElement"/>
  <int value="1897" label="HTMLShadowElement"/>
  <int value="1898" label="HTMLSlotElement"/>
  <int value="1899" label="AccelerometerConstructor"/>
  <int value="1900" label="AbsoluteOrientationSensorConstructor"/>
  <int value="1901" label="AmbientLightSensorConstructor"/>
  <int value="1902" label="GenericSensorOnActivate"/>
  <int value="1903" label="GenericSensorOnChange"/>
  <int value="1904" label="GenericSensorOnError"/>
  <int value="1905" label="GenericSensorActivated"/>
  <int value="1906" label="GyroscopeConstructor"/>
  <int value="1907" label="MagnetometerConstructor"/>
  <int value="1908" label="OrientationSensorPopulateMatrix"/>
  <int value="1909" label="WindowOpenWithInvalidURL"/>
  <int value="1910" label="CrossOriginMainFrameNulledNameAccessed"/>
  <int value="1911" label="MenuItemElementIconAttribute"/>
  <int value="1912" label="WebkitCSSMatrixSetMatrixValue"/>
  <int value="1913" label="WebkitCSSMatrixConstructFromString"/>
  <int value="1914" label="CanRequestURLHTTPContainingNewline"/>
  <int value="1915" label="CanRequestURLNonHTTPContainingNewline"/>
  <int value="1916" label="GetGamepads"/>
  <int value="1917" label="V8SVGPathElement_GetPathSegAtLength_Method"/>
  <int value="1918" label="MediaStreamConstraintsAudio"/>
  <int value="1919" label="MediaStreamConstraintsAudioUnconstrained"/>
  <int value="1920" label="MediaStreamConstraintsVideo"/>
  <int value="1921" label="MediaStreamConstraintsVideoUnconstrained"/>
  <int value="1922" label="MediaStreamConstraintsWidth"/>
  <int value="1923" label="MediaStreamConstraintsHeight"/>
  <int value="1924" label="MediaStreamConstraintsAspectRatio"/>
  <int value="1925" label="MediaStreamConstraintsFrameRate"/>
  <int value="1926" label="MediaStreamConstraintsFacingMode"/>
  <int value="1927" label="MediaStreamConstraintsVolume"/>
  <int value="1928" label="MediaStreamConstraintsSampleRate"/>
  <int value="1929" label="MediaStreamConstraintsSampleSize"/>
  <int value="1930" label="MediaStreamConstraintsEchoCancellation"/>
  <int value="1931" label="MediaStreamConstraintsLatency"/>
  <int value="1932" label="MediaStreamConstraintsChannelCount"/>
  <int value="1933" label="MediaStreamConstraintsDeviceIdAudio"/>
  <int value="1934" label="MediaStreamConstraintsDeviceIdVideo"/>
  <int value="1935" label="MediaStreamConstraintsDisableLocalEcho"/>
  <int value="1936" label="MediaStreamConstraintsGroupIdAudio"/>
  <int value="1937" label="MediaStreamConstraintsGroupIdVideo"/>
  <int value="1938" label="MediaStreamConstraintsVideoKind"/>
  <int value="1939" label="MediaStreamConstraintsDepthNear"/>
  <int value="1940" label="MediaStreamConstraintsDepthFar"/>
  <int value="1941" label="MediaStreamConstraintsFocalLengthX"/>
  <int value="1942" label="MediaStreamConstraintsFocalLengthY"/>
  <int value="1943" label="MediaStreamConstraintsMediaStreamSourceAudio"/>
  <int value="1944" label="MediaStreamConstraintsMediaStreamSourceVideo"/>
  <int value="1945" label="MediaStreamConstraintsRenderToAssociatedSink"/>
  <int value="1946" label="MediaStreamConstraintsHotwordEnabled"/>
  <int value="1947" label="MediaStreamConstraintsGoogEchoCancellation"/>
  <int value="1948"
      label="MediaStreamConstraintsGoogExperimentalEchoCancellation"/>
  <int value="1949" label="MediaStreamConstraintsGoogAutoGainControl"/>
  <int value="1950"
      label="MediaStreamConstraintsGoogExperimentalAutoGainControl"/>
  <int value="1951" label="MediaStreamConstraintsGoogNoiseSuppression"/>
  <int value="1952" label="MediaStreamConstraintsGoogHighpassFilter"/>
  <int value="1953" label="MediaStreamConstraintsGoogTypingNoiseDetection"/>
  <int value="1954"
      label="MediaStreamConstraintsGoogExperimentalNoiseSuppression"/>
  <int value="1955" label="MediaStreamConstraintsGoogBeamforming"/>
  <int value="1956" label="MediaStreamConstraintsGoogArrayGeometry"/>
  <int value="1957" label="MediaStreamConstraintsGoogAudioMirroring"/>
  <int value="1958" label="MediaStreamConstraintsGoogDAEchoCancellation"/>
  <int value="1959" label="MediaStreamConstraintsGoogNoiseReduction"/>
  <int value="1960" label="MediaStreamConstraintsGoogPowerLineFrequency"/>
  <int value="1961" label="ViewportFixedPositionUnderFilter"/>
  <int value="1962" label="RequestMIDIAccessWithSysExOption"/>
  <int value="1963" label="RequestMIDIAccessIframeWithSysExOption"/>
  <int value="1964" label="GamepadAxes"/>
  <int value="1965" label="GamepadButtons"/>
  <int value="1966" label="VibrateWithoutUserGesture"/>
</enum>

<enum name="FetchRequestMode" type="int">
  <int value="0" label="SameOrigin"/>
  <int value="1" label="NoCORS"/>
  <int value="2" label="CORS"/>
  <int value="3" label="CORSWithForcedPreflight"/>
  <int value="4" label="Navigate"/>
</enum>

<enum name="FFmpegCodecHashes" type="int">
  <int value="-2140893972" label="bfi"/>
  <int value="-2126016986" label="vp3"/>
  <int value="-2112225664" label="pcm_s32be"/>
  <int value="-2100141199" label="loco"/>
  <int value="-2095396703" label="v408"/>
  <int value="-2093680186" label="amv"/>
  <int value="-2089660750" label="h263"/>
  <int value="-2087604036" label="adpcm_ima_smjpeg"/>
  <int value="-2077566827" label="musepack8"/>
  <int value="-2057234831" label="8svx_exp"/>
  <int value="-2039593792" label="targa"/>
  <int value="-2026984418" label="dirac"/>
  <int value="-2024394607" label="adpcm_ima_ws"/>
  <int value="-2022450851" label="sunrast"/>
  <int value="-2013419814" label="dsd_lsbf_planar"/>
  <int value="-2002502337" label="tiff"/>
  <int value="-1978772551" label="dvaudio"/>
  <int value="-1956356936" label="wmavoice"/>
  <int value="-1936051434" label="h261"/>
  <int value="-1935659465" label="text"/>
  <int value="-1929182263" label="rl2"/>
  <int value="-1920776714" label="a64_multi5"/>
  <int value="-1920272933" label="mlp"/>
  <int value="-1913457333" label="smackvideo"/>
  <int value="-1910182388" label="dds"/>
  <int value="-1877492821" label="ws_vqa"/>
  <int value="-1868061100" label="avrp"/>
  <int value="-1866047250" label="brender_pix_deprecated"/>
  <int value="-1861192281" label="c93"/>
  <int value="-1859416370" label="mts2"/>
  <int value="-1855199147" label="adpcm_yamaha"/>
  <int value="-1854941320" label="tgq"/>
  <int value="-1848915146" label="adpcm_ima_iss"/>
  <int value="-1847740489" label="flac"/>
  <int value="-1847405305" label="qdmc"/>
  <int value="-1837462345" label="bmv_video"/>
  <int value="-1787878546" label="adpcm_afc"/>
  <int value="-1782518388" label="adpcm_vima_deprecated"/>
  <int value="-1769822834" label="vmdaudio"/>
  <int value="-1754427880" label="frwu"/>
  <int value="-1746405263" label="none"/>
  <int value="-1746190470" label="adpcm_ima_amv"/>
  <int value="-1742178896" label="cinepak"/>
  <int value="-1722959117" label="cook"/>
  <int value="-1694324852" label="adpcm_ima_rad"/>
  <int value="-1653946850" label="mp3on4"/>
  <int value="-1638592334" label="msmpeg4v3"/>
  <int value="-1625425962" label="dpx"/>
  <int value="-1620040130" label="vp6"/>
  <int value="-1596796424" label="pcm_f32le"/>
  <int value="-1580836816" label="cdxl"/>
  <int value="-1578877775" label="twinvq"/>
  <int value="-1570048110" label="mace3"/>
  <int value="-1558356361" label="paf_audio"/>
  <int value="-1546633359" label="dss_sp"/>
  <int value="-1538621442" label="tak"/>
  <int value="-1535770868" label="mov_text"/>
  <int value="-1532420090" label="dvb_teletext"/>
  <int value="-1518326441" label="cpia"/>
  <int value="-1516599706" label="stl"/>
  <int value="-1510953689" label="ulti"/>
  <int value="-1495077719" label="wavesynth"/>
  <int value="-1493473944" label="mp1"/>
  <int value="-1488471023" label="aac_latm"/>
  <int value="-1471896197" label="adpcm_4xm"/>
  <int value="-1458812472" label="vble"/>
  <int value="-1452408746" label="bin_data"/>
  <int value="-1437754593" label="tqi"/>
  <int value="-1398094744" label="brender_pix"/>
  <int value="-1396201900" label="lagarith"/>
  <int value="-1394735166" label="s302m"/>
  <int value="-1366158780" label="mvc2"/>
  <int value="-1346295474" label="dfa"/>
  <int value="-1335819014" label="adpcm_ea_r3"/>
  <int value="-1333697928" label="rv10"/>
  <int value="-1328796639" label="pcm_s32le_planar_deprecated"/>
  <int value="-1326344691" label="wmalossless"/>
  <int value="-1276285619" label="subviewer1"/>
  <int value="-1267322736" label="evrc"/>
  <int value="-1253653962" label="cljr"/>
  <int value="-1249151864" label="westwood_snd1"/>
  <int value="-1234201101" label="xan_dpcm"/>
  <int value="-1228141376" label="aic"/>
  <int value="-1217250068" label="pcm_u24le"/>
  <int value="-1216801956" label="kmvc"/>
  <int value="-1216327014" label="ansi"/>
  <int value="-1212214965" label="svq3"/>
  <int value="-1205406239" label="mpeg4"/>
  <int value="-1192008277" label="flashsv"/>
  <int value="-1181422407" label="gif"/>
  <int value="-1156009526" label="wmv1"/>
  <int value="-1153001952" label="eia_608"/>
  <int value="-1150003992" label="nellymoser"/>
  <int value="-1147304270" label="pgm"/>
  <int value="-1146321910" label="adpcm_sbpro_4"/>
  <int value="-1124358604" label="qdraw"/>
  <int value="-1094512964" label="hevc"/>
  <int value="-1082894560" label="y41p"/>
  <int value="-1069291012" label="roq"/>
  <int value="-1055791926" label="wmv2"/>
  <int value="-1052495685" label="adpcm_ea_xas"/>
  <int value="-1050536726" label="fic"/>
  <int value="-1050267191" label="theora"/>
  <int value="-1047975380" label="aura"/>
  <int value="-1038298513" label="iac"/>
  <int value="-1033247386" label="pcm_u24be"/>
  <int value="-1030131048" label="ra_288"/>
  <int value="-1011667768" label="sgirle"/>
  <int value="-1010059925" label="cdgraphics"/>
  <int value="-993429906" label="webp_deprecated"/>
  <int value="-991743010" label="pictor"/>
  <int value="-986254855" label="qtrle"/>
  <int value="-984524901" label="wmapro"/>
  <int value="-982785322" label="roq_dpcm"/>
  <int value="-967736249" label="idf"/>
  <int value="-963536204" label="tmv"/>
  <int value="-961342190" label="truespeech"/>
  <int value="-955936385" label="qdm2"/>
  <int value="-937993216" label="cyuv"/>
  <int value="-908137771" label="mss2"/>
  <int value="-898663359" label="paf_video"/>
  <int value="-891450332" label="qcelp"/>
  <int value="-881893142" label="paf_video_deprecated"/>
  <int value="-878761755" label="alac"/>
  <int value="-872951009" label="vp7"/>
  <int value="-870965910" label="mszh"/>
  <int value="-868148645" label="ttf"/>
  <int value="-853586131" label="eac3"/>
  <int value="-839127813" label="adpcm_adx"/>
  <int value="-820705472" label="timed_id3"/>
  <int value="-816209197" label="vima"/>
  <int value="-815578090" label="ssa"/>
  <int value="-804708185" label="vb"/>
  <int value="-799004205" label="thp"/>
  <int value="-792737437" label="mjpeg"/>
  <int value="-781332453" label="xbm"/>
  <int value="-780629337" label="adpcm_ima_oki"/>
  <int value="-777478450" label="iff_byterun1"/>
  <int value="-776406198" label="hdmv_pgs_subtitle"/>
  <int value="-773314651" label="adpcm_thp_le"/>
  <int value="-755809410" label="xface"/>
  <int value="-750906124" label="sonic"/>
  <int value="-746782512" label="nuv"/>
  <int value="-728484627" label="vp6f"/>
  <int value="-711076000" label="ilbc"/>
  <int value="-693682032" label="png"/>
  <int value="-665301881" label="kgv1"/>
  <int value="-651841063" label="musepack7"/>
  <int value="-644671397" label="pcm_s16le"/>
  <int value="-644168765" label="dvvideo"/>
  <int value="-630356729" label="paf_audio_deprecated"/>
  <int value="-624149477" label="mad"/>
  <int value="-606142900" label="microdvd"/>
  <int value="-605150423" label="jacosub"/>
  <int value="-600721750" label="pcm_s16le_planar"/>
  <int value="-597857853" label="fraps"/>
  <int value="-594775425" label="tdsc"/>
  <int value="-583421433" label="pcm_zork"/>
  <int value="-573567800" label="ffvhuff"/>
  <int value="-558754697" label="dxtory"/>
  <int value="-547412719" label="a64_multi"/>
  <int value="-530757209" label="iff_ilbm"/>
  <int value="-522844891" label="tta"/>
  <int value="-515467965" label="yop"/>
  <int value="-483644003" label="mvc1"/>
  <int value="-478544739" label="mxpeg"/>
  <int value="-469833042" label="sgi"/>
  <int value="-462654404" label="pbm"/>
  <int value="-450113811" label="vp8"/>
  <int value="-449164482" label="smv"/>
  <int value="-434097103" label="8svx_fib"/>
  <int value="-431043877" label="rv30"/>
  <int value="-418117523" label="exr_deprecated"/>
  <int value="-414733739" label="hevc_deprecated"/>
  <int value="-411871512" label="4xm"/>
  <int value="-351638235" label="mace6"/>
  <int value="-335532805" label="v308"/>
  <int value="-321063470" label="cavs"/>
  <int value="-312812574" label="dsicinaudio"/>
  <int value="-305868762" label="ptx"/>
  <int value="-302658824" label="dxa"/>
  <int value="-302292845" label="atrac1"/>
  <int value="-268375107" label="indeo2"/>
  <int value="-262604522" label="qpeg"/>
  <int value="-259187129" label="interplay_dpcm"/>
  <int value="-235472313" label="pjs"/>
  <int value="-197551526" label="vp7_deprecated"/>
  <int value="-195649673" label="mmvideo"/>
  <int value="-194494447" label="sanm"/>
  <int value="-179123055" label="hnm4video"/>
  <int value="-166593824" label="bintext"/>
  <int value="-153142813" label="adpcm_ima_qt"/>
  <int value="-135875472" label="pcm_s24le_planar"/>
  <int value="-108909529" label="adpcm_ea"/>
  <int value="-96441857" label="escape124"/>
  <int value="-92926716" label="indeo3"/>
  <int value="-92742166" label="adpcm_swf"/>
  <int value="-85419673" label="dvb_subtitle"/>
  <int value="-83742388" label="metasound"/>
  <int value="-81607027" label="speex"/>
  <int value="-65839877" label="amr_nb"/>
  <int value="-50131597" label="avui"/>
  <int value="-41854216" label="msrle"/>
  <int value="-35300163" label="pam"/>
  <int value="-30500564" label="rv20"/>
  <int value="-27780731" label="h263i"/>
  <int value="-23682808" label="mjpegb"/>
  <int value="-21755362" label="adpcm_sbpro_3"/>
  <int value="-19624220" label="msmpeg4v1"/>
  <int value="123753" label="bethsoftvid"/>
  <int value="5678717" label="adpcm_vima"/>
  <int value="6153938" label="ffv1"/>
  <int value="60024993" label="sol_dpcm"/>
  <int value="73149662" label="escape130_deprecated"/>
  <int value="76029796" label="mss1"/>
  <int value="86453097" label="utvideo"/>
  <int value="87186225" label="vmdvideo"/>
  <int value="95607943" label="alias_pix"/>
  <int value="98199414" label="wmv3image"/>
  <int value="113741725" label="shorten"/>
  <int value="132664538" label="gsm_ms"/>
  <int value="136569655" label="adpcm_ima_ea_eacs"/>
  <int value="146059120" label="adpcm_ima_dk3"/>
  <int value="173919536" label="dsd_msbf_planar"/>
  <int value="174382442" label="g729"/>
  <int value="180797897" label="xsub"/>
  <int value="197903705" label="yuv4"/>
  <int value="197942357" label="mdec"/>
  <int value="212901544" label="pcm_f64le"/>
  <int value="227190580" label="adpcm_ea_r1"/>
  <int value="231296785" label="jpegls"/>
  <int value="242042871" label="vc1image"/>
  <int value="250226160" label="pcm_s8"/>
  <int value="254320798" label="pcm_dvd"/>
  <int value="265862349" label="binkaudio_rdft"/>
  <int value="278236230" label="webp"/>
  <int value="284053917" label="sp5x"/>
  <int value="287849834" label="msvideo1"/>
  <int value="294769071" label="pcm_s16be_planar"/>
  <int value="309105352" label="bmp"/>
  <int value="309392554" label="dsd_msbf"/>
  <int value="311400023" label="zlib"/>
  <int value="317095520" label="adpcm_ima_apc"/>
  <int value="342736256" label="avrn"/>
  <int value="343186566" label="rpza"/>
  <int value="347789448" label="vplayer"/>
  <int value="396111544" label="otf"/>
  <int value="412600562" label="pcm_u16be"/>
  <int value="429618670" label="jv"/>
  <int value="441761537" label="indeo4"/>
  <int value="445373194" label="tiertexseqvideo"/>
  <int value="453915988" label="adpcm_ima_ea_sead"/>
  <int value="461173543" label="smackaudio"/>
  <int value="463008496" label="dvd_subtitle"/>
  <int value="465125740" label="realtext"/>
  <int value="486681814" label="8bps"/>
  <int value="489448448" label="vc1"/>
  <int value="491790310" label="vcr1"/>
  <int value="500576677" label="hap"/>
  <int value="503945275" label="motionpixels"/>
  <int value="525499602" label="vmnc"/>
  <int value="552661632" label="adpcm_xa"/>
  <int value="558339021" label="jpeg2000"/>
  <int value="563328753" label="4gv"/>
  <int value="565711017" label="pcm_s24le"/>
  <int value="567624278" label="asv2"/>
  <int value="573633387" label="pcm_f64be"/>
  <int value="579930439" label="cmv"/>
  <int value="580364763" label="txd"/>
  <int value="588676310" label="pcm_s8_planar"/>
  <int value="603287142" label="mpl2"/>
  <int value="610300309" label="v210x"/>
  <int value="634747673" label="avs"/>
  <int value="640012049" label="adpcm_ms"/>
  <int value="648238710" label="xan_wc3"/>
  <int value="695230495" label="aura2"/>
  <int value="722738593" label="escape130"/>
  <int value="724570383" label="rawvideo"/>
  <int value="726397522" label="wmv3"/>
  <int value="746742638" label="truehd"/>
  <int value="747771882" label="dts"/>
  <int value="753949422" label="indeo5"/>
  <int value="781916095" label="ayuv"/>
  <int value="789960893" label="bmv_audio"/>
  <int value="802192292" label="adpcm_ima_dk4"/>
  <int value="814609554" label="ralf"/>
  <int value="816220395" label="apng"/>
  <int value="820788836" label="subviewer"/>
  <int value="855521935" label="smvjpeg"/>
  <int value="856849194" label="tgv"/>
  <int value="865955000" label="smc"/>
  <int value="903853106" label="012v"/>
  <int value="913577987" label="wmav2"/>
  <int value="944040689" label="ppm"/>
  <int value="944980366" label="idcin"/>
  <int value="946455966" label="aasc"/>
  <int value="948849813" label="adpcm_ima_wav"/>
  <int value="949116467" label="binkvideo"/>
  <int value="949591507" label="vp9"/>
  <int value="972771007" label="mpeg2video"/>
  <int value="973601133" label="hq_hqa"/>
  <int value="981942659" label="opus"/>
  <int value="997031855" label="truemotion2"/>
  <int value="997190932" label="atrac3p"/>
  <int value="997732996" label="xwd"/>
  <int value="1001166722" label="xan_wc4"/>
  <int value="1008492983" label="msmpeg4v2"/>
  <int value="1020187009" label="rv40"/>
  <int value="1022607787" label="ape"/>
  <int value="1033850553" label="snow"/>
  <int value="1034034342" label="sipr"/>
  <int value="1041617024" label="tak_deprecated"/>
  <int value="1049882649" label="binkaudio_dct"/>
  <int value="1053922807" label="g723_1"/>
  <int value="1066477861" label="vorbis"/>
  <int value="1077386855" label="cscd"/>
  <int value="1098721511" label="g2m"/>
  <int value="1127772984" label="imc"/>
  <int value="1138712147" label="ac3"/>
  <int value="1139877352" label="dnxhd"/>
  <int value="1158772651" label="anm"/>
  <int value="1165132763" label="opus_deprecated"/>
  <int value="1194572884" label="g2m_deprecated"/>
  <int value="1210249397" label="avc"/>
  <int value="1213003867" label="hdmv_text_subtitle"/>
  <int value="1236695157" label="pcm_s32le_planar"/>
  <int value="1244283551" label="mpeg1video"/>
  <int value="1246598929" label="flic"/>
  <int value="1251286213" label="dxv"/>
  <int value="1258259575" label="pcm_lxf"/>
  <int value="1271374381" label="wmav1"/>
  <int value="1294385179" label="mp3"/>
  <int value="1299068647" label="truemotion1"/>
  <int value="1310993795" label="zerocodec"/>
  <int value="1311566537" label="flv1"/>
  <int value="1312943731" label="zmbv"/>
  <int value="1313131096" label="h264"/>
  <int value="1318324895" label="pcm_bluray"/>
  <int value="1333708519" label="pcm_u8"/>
  <int value="1366148173" label="adpcm_g726le"/>
  <int value="1375054610" label="aac"/>
  <int value="1395029615" label="adpcm_ea_maxis_xa"/>
  <int value="1397947482" label="dsd_lsbf"/>
  <int value="1411832541" label="pcm_f32be"/>
  <int value="1413182900" label="dvd_nav_packet"/>
  <int value="1462568683" label="srt"/>
  <int value="1467359000" label="msa1"/>
  <int value="1468951708" label="comfortnoise"/>
  <int value="1469210692" label="mp2"/>
  <int value="1483758205" label="celt"/>
  <int value="1502256638" label="vp5"/>
  <int value="1525492969" label="asv1"/>
  <int value="1526182480" label="klv"/>
  <int value="1535518292" label="pcm_s24le_planar_deprecated"/>
  <int value="1536086449" label="pcx"/>
  <int value="1550758811" label="mpegvideo_xvmc"/>
  <int value="1565855078" label="adpcm_ea_r2"/>
  <int value="1567457517" label="adpcm_g722"/>
  <int value="1571821879" label="dsicinvideo"/>
  <int value="1578202877" label="h263p"/>
  <int value="1603330014" label="r10k"/>
  <int value="1622843532" label="adpcm_sbpro_2"/>
  <int value="1626738193" label="mp3adu"/>
  <int value="1636940385" label="targa_y216"/>
  <int value="1647791075" label="adpcm_g726"/>
  <int value="1651871844" label="svq1"/>
  <int value="1656834662" label="voxware"/>
  <int value="1671488988" label="adpcm_ct"/>
  <int value="1681362983" label="webvtt"/>
  <int value="1681507854" label="exr"/>
  <int value="1704161151" label="pcm_u32be"/>
  <int value="1724507916" label="ra_144"/>
  <int value="1729587546" label="pgmyuv"/>
  <int value="1730373804" label="pcm_alaw"/>
  <int value="1741236466" label="subrip"/>
  <int value="1771307928" label="flashsv2"/>
  <int value="1789213623" label="wavpack"/>
  <int value="1804125128" label="pcm_s24be"/>
  <int value="1813293157" label="hqx"/>
  <int value="1818519290" label="sonicls"/>
  <int value="1822179743" label="pcm_s24daud"/>
  <int value="1823608208" label="pcm_mulaw"/>
  <int value="1827051583" label="adpcm_thp"/>
  <int value="1834381325" label="adpcm_dtk"/>
  <int value="1854844146" label="tscc"/>
  <int value="1890319788" label="mp4als"/>
  <int value="1896040704" label="cllc"/>
  <int value="1913299765" label="vixl"/>
  <int value="1947892273" label="prores"/>
  <int value="1951984033" label="v210"/>
  <int value="1961440145" label="vp6a"/>
  <int value="1965599083" label="sami"/>
  <int value="1981484138" label="pcm_u32le"/>
  <int value="1997862473" label="interplayvideo"/>
  <int value="2002251246" label="tscc2"/>
  <int value="2005720882" label="atrac3"/>
  <int value="2026594607" label="ass"/>
  <int value="2032395845" label="pcm_u16le"/>
  <int value="2041774878" label="huffyuv"/>
  <int value="2047102762" label="sanm_deprecated"/>
  <int value="2053719989" label="r210"/>
  <int value="2071582326" label="xbin"/>
  <int value="2080704511" label="pcm_s16be"/>
  <int value="2084073402" label="ljpeg"/>
  <int value="2086226415" label="pcm_s32le"/>
  <int value="2086394367" label="gsm"/>
  <int value="2100540076" label="amr_wb"/>
  <int value="2118960502" label="mimic"/>
  <int value="2128505640" label="wnv1"/>
  <int value="2146164868" label="v410"/>
</enum>

<enum name="FFmpegCodecs" type="int">
  <obsolete>
    deprecated Sep 15 2015 in favor of FFmpegCodecHashes
  </obsolete>
  <int value="0" label="NONE"/>
  <int value="1" label="MPEG1VIDEO"/>
  <int value="2" label="MPEG2VIDEO"/>
  <int value="3" label="MPEG2VIDEO_XVMC"/>
  <int value="4" label="H261"/>
  <int value="5" label="H263"/>
  <int value="6" label="RV10"/>
  <int value="7" label="RV20"/>
  <int value="8" label="MJPEG"/>
  <int value="9" label="MJPEGB"/>
  <int value="10" label="LJPEG"/>
  <int value="11" label="SP5X"/>
  <int value="12" label="JPEGLS"/>
  <int value="13" label="MPEG4"/>
  <int value="14" label="RAWVIDEO"/>
  <int value="15" label="MSMPEG4V1"/>
  <int value="16" label="MSMPEG4V2"/>
  <int value="17" label="MSMPEG4V3"/>
  <int value="18" label="WMV1"/>
  <int value="19" label="WMV2"/>
  <int value="20" label="H263P"/>
  <int value="21" label="H263I"/>
  <int value="22" label="FLV1"/>
  <int value="23" label="SVQ1"/>
  <int value="24" label="SVQ3"/>
  <int value="25" label="DVVIDEO"/>
  <int value="26" label="HUFFYUV"/>
  <int value="27" label="CYUV"/>
  <int value="28" label="H264"/>
  <int value="29" label="INDEO3"/>
  <int value="30" label="VP3"/>
  <int value="31" label="THEORA"/>
  <int value="32" label="ASV1"/>
  <int value="33" label="ASV2"/>
  <int value="34" label="FFV1"/>
  <int value="35" label="4XM"/>
  <int value="36" label="VCR1"/>
  <int value="37" label="CLJR"/>
  <int value="38" label="MDEC"/>
  <int value="39" label="ROQ"/>
  <int value="40" label="INTERPLAY_VIDEO"/>
  <int value="41" label="XAN_WC3"/>
  <int value="42" label="XAN_WC4"/>
  <int value="43" label="RPZA"/>
  <int value="44" label="CINEPAK"/>
  <int value="45" label="WS_VQA"/>
  <int value="46" label="MSRLE"/>
  <int value="47" label="MSVIDEO1"/>
  <int value="48" label="IDCIN"/>
  <int value="49" label="8BPS"/>
  <int value="50" label="SMC"/>
  <int value="51" label="FLIC"/>
  <int value="52" label="TRUEMOTION1"/>
  <int value="53" label="VMDVIDEO"/>
  <int value="54" label="MSZH"/>
  <int value="55" label="ZLIB"/>
  <int value="56" label="QTRLE"/>
  <int value="57" label="SNOW"/>
  <int value="58" label="TSCC"/>
  <int value="59" label="ULTI"/>
  <int value="60" label="QDRAW"/>
  <int value="61" label="VIXL"/>
  <int value="62" label="QPEG"/>
  <int value="63" label="PNG"/>
  <int value="64" label="PPM"/>
  <int value="65" label="PBM"/>
  <int value="66" label="PGM"/>
  <int value="67" label="PGMYUV"/>
  <int value="68" label="PAM"/>
  <int value="69" label="FFVHUFF"/>
  <int value="70" label="RV30"/>
  <int value="71" label="RV40"/>
  <int value="72" label="VC1"/>
  <int value="73" label="WMV3"/>
  <int value="74" label="LOCO"/>
  <int value="75" label="WNV1"/>
  <int value="76" label="AASC"/>
  <int value="77" label="INDEO2"/>
  <int value="78" label="FRAPS"/>
  <int value="79" label="TRUEMOTION2"/>
  <int value="80" label="BMP"/>
  <int value="81" label="CSCD"/>
  <int value="82" label="MMVIDEO"/>
  <int value="83" label="ZMBV"/>
  <int value="84" label="AVS"/>
  <int value="85" label="SMACKVIDEO"/>
  <int value="86" label="NUV"/>
  <int value="87" label="KMVC"/>
  <int value="88" label="FLASHSV"/>
  <int value="89" label="CAVS"/>
  <int value="90" label="JPEG2000"/>
  <int value="91" label="VMNC"/>
  <int value="92" label="VP5"/>
  <int value="93" label="VP6"/>
  <int value="94" label="VP6F"/>
  <int value="95" label="TARGA"/>
  <int value="96" label="DSICINVIDEO"/>
  <int value="97" label="TIERTEXSEQVIDEO"/>
  <int value="98" label="TIFF"/>
  <int value="99" label="GIF"/>
  <int value="100" label="DXA"/>
  <int value="101" label="DNXHD"/>
  <int value="102" label="THP"/>
  <int value="103" label="SGI"/>
  <int value="104" label="C93"/>
  <int value="105" label="BETHSOFTVID"/>
  <int value="106" label="PTX"/>
  <int value="107" label="TXD"/>
  <int value="108" label="VP6A"/>
  <int value="109" label="AMV"/>
  <int value="110" label="VB"/>
  <int value="111" label="PCX"/>
  <int value="112" label="SUNRAST"/>
  <int value="113" label="INDEO4"/>
  <int value="114" label="INDEO5"/>
  <int value="115" label="MIMIC"/>
  <int value="116" label="RL2"/>
  <int value="117" label="ESCAPE124"/>
  <int value="118" label="DIRAC"/>
  <int value="119" label="BFI"/>
  <int value="120" label="CMV"/>
  <int value="121" label="MOTIONPIXELS"/>
  <int value="122" label="TGV"/>
  <int value="123" label="TGQ"/>
  <int value="124" label="TQI"/>
  <int value="125" label="AURA"/>
  <int value="126" label="AURA2"/>
  <int value="127" label="V210X"/>
  <int value="128" label="TMV"/>
  <int value="129" label="V210"/>
  <int value="130" label="DPX"/>
  <int value="131" label="MAD"/>
  <int value="132" label="FRWU"/>
  <int value="133" label="FLASHSV2"/>
  <int value="134" label="CDGRAPHICS"/>
  <int value="135" label="R210"/>
  <int value="136" label="ANM"/>
  <int value="137" label="BINKVIDEO"/>
  <int value="138" label="IFF_ILBM"/>
  <int value="139" label="IFF_BYTERUN1"/>
  <int value="140" label="KGV1"/>
  <int value="141" label="YOP"/>
  <int value="142" label="VP8"/>
  <int value="143" label="PICTOR"/>
  <int value="144" label="ANSI"/>
  <int value="145" label="A64_MULTI"/>
  <int value="146" label="A64_MULTI5"/>
  <int value="147" label="R10K"/>
  <int value="148" label="MXPEG"/>
  <int value="149" label="LAGARITH"/>
  <int value="150" label="PRORES"/>
  <int value="151" label="JV"/>
  <int value="152" label="DFA"/>
  <int value="153" label="WMV3IMAGE"/>
  <int value="154" label="VC1IMAGE"/>
  <int value="155" label="UTVIDEO"/>
  <int value="156" label="BMV_VIDEO"/>
  <int value="157" label="VBLE"/>
  <int value="158" label="DXTORY"/>
  <int value="159" label="V410"/>
  <int value="160" label="XWD"/>
  <int value="161" label="CDXL"/>
  <int value="162" label="XBM"/>
  <int value="163" label="ZEROCODEC"/>
  <int value="164" label="MSS1"/>
  <int value="165" label="MSA1"/>
  <int value="166" label="TSCC2"/>
  <int value="167" label="MTS2"/>
  <int value="168" label="CLLC"/>
  <int value="169" label="MSS2"/>
  <int value="170" label="VP9"/>
  <int value="65536" label="PCM_S16LE"/>
  <int value="65537" label="PCM_S16BE"/>
  <int value="65538" label="PCM_U16LE"/>
  <int value="65539" label="PCM_U16BE"/>
  <int value="65540" label="PCM_S8"/>
  <int value="65541" label="PCM_U8"/>
  <int value="65542" label="PCM_MULAW"/>
  <int value="65543" label="PCM_ALAW"/>
  <int value="65544" label="PCM_S32LE"/>
  <int value="65545" label="PCM_S32BE"/>
  <int value="65546" label="PCM_U32LE"/>
  <int value="65547" label="PCM_U32BE"/>
  <int value="65548" label="PCM_S24LE"/>
  <int value="65549" label="PCM_S24BE"/>
  <int value="65550" label="PCM_U24LE"/>
  <int value="65551" label="PCM_U24BE"/>
  <int value="65552" label="PCM_S24DAUD"/>
  <int value="65553" label="PCM_ZORK"/>
  <int value="65554" label="PCM_S16LE_PLANAR"/>
  <int value="65555" label="PCM_DVD"/>
  <int value="65556" label="PCM_F32BE"/>
  <int value="65557" label="PCM_F32LE"/>
  <int value="65558" label="PCM_F64BE"/>
  <int value="65559" label="PCM_F64LE"/>
  <int value="65560" label="PCM_BLURAY"/>
  <int value="65561" label="PCM_LXF"/>
  <int value="65562" label="S302M"/>
  <int value="65563" label="PCM_S8_PLANAR"/>
  <int value="69632" label="ADPCM_IMA_QT"/>
  <int value="69633" label="ADPCM_IMA_WAV"/>
  <int value="69634" label="ADPCM_IMA_DK3"/>
  <int value="69635" label="ADPCM_IMA_DK4"/>
  <int value="69636" label="ADPCM_IMA_WS"/>
  <int value="69637" label="ADPCM_IMA_SMJPEG"/>
  <int value="69638" label="ADPCM_MS"/>
  <int value="69639" label="ADPCM_4XM"/>
  <int value="69640" label="ADPCM_XA"/>
  <int value="69641" label="ADPCM_ADX"/>
  <int value="69642" label="ADPCM_EA"/>
  <int value="69643" label="ADPCM_G726"/>
  <int value="69644" label="ADPCM_CT"/>
  <int value="69645" label="ADPCM_SWF"/>
  <int value="69646" label="ADPCM_YAMAHA"/>
  <int value="69647" label="ADPCM_SBPRO_4"/>
  <int value="69648" label="ADPCM_SBPRO_3"/>
  <int value="69649" label="ADPCM_SBPRO_2"/>
  <int value="69650" label="ADPCM_THP"/>
  <int value="69651" label="ADPCM_IMA_AMV"/>
  <int value="69652" label="ADPCM_EA_R1"/>
  <int value="69653" label="ADPCM_EA_R3"/>
  <int value="69654" label="ADPCM_EA_R2"/>
  <int value="69655" label="ADPCM_IMA_EA_SEAD"/>
  <int value="69656" label="ADPCM_IMA_EA_EACS"/>
  <int value="69657" label="ADPCM_EA_XAS"/>
  <int value="69658" label="ADPCM_EA_MAXIS_XA"/>
  <int value="69659" label="ADPCM_IMA_ISS"/>
  <int value="69660" label="ADPCM_G722"/>
  <int value="69661" label="ADPCM_IMA_APC"/>
  <int value="73728" label="AMR_NB"/>
  <int value="73729" label="AMR_WB"/>
  <int value="77824" label="RA_144"/>
  <int value="77825" label="RA_288"/>
  <int value="81920" label="ROQ_DPCM"/>
  <int value="81921" label="INTERPLAY_DPCM"/>
  <int value="81922" label="XAN_DPCM"/>
  <int value="81923" label="SOL_DPCM"/>
  <int value="86016" label="MP2"/>
  <int value="86017" label="MP3"/>
  <int value="86018" label="AAC"/>
  <int value="86019" label="AC3"/>
  <int value="86020" label="DTS"/>
  <int value="86021" label="VORBIS"/>
  <int value="86022" label="DVAUDIO"/>
  <int value="86023" label="WMAV1"/>
  <int value="86024" label="WMAV2"/>
  <int value="86025" label="MACE3"/>
  <int value="86026" label="MACE6"/>
  <int value="86027" label="VMDAUDIO"/>
  <int value="86028" label="FLAC"/>
  <int value="86029" label="MP3ADU"/>
  <int value="86030" label="MP3ON4"/>
  <int value="86031" label="SHORTEN"/>
  <int value="86032" label="ALAC"/>
  <int value="86033" label="WESTWOOD_SND1"/>
  <int value="86034" label="GSM"/>
  <int value="86035" label="QDM2"/>
  <int value="86036" label="COOK"/>
  <int value="86037" label="TRUESPEECH"/>
  <int value="86038" label="TTA"/>
  <int value="86039" label="SMACKAUDIO"/>
  <int value="86040" label="QCELP"/>
  <int value="86041" label="WAVPACK"/>
  <int value="86042" label="DSICINAUDIO"/>
  <int value="86043" label="IMC"/>
  <int value="86044" label="MUSEPACK7"/>
  <int value="86045" label="MLP"/>
  <int value="86046" label="GSM_MS"/>
  <int value="86047" label="ATRAC3"/>
  <int value="86048" label="VOXWARE"/>
  <int value="86049" label="APE"/>
  <int value="86050" label="NELLYMOSER"/>
  <int value="86051" label="MUSEPACK8"/>
  <int value="86052" label="SPEEX"/>
  <int value="86053" label="WMAVOICE"/>
  <int value="86054" label="WMAPRO"/>
  <int value="86055" label="WMALOSSLESS"/>
  <int value="86056" label="ATRAC3P"/>
  <int value="86057" label="EAC3"/>
  <int value="86058" label="SIPR"/>
  <int value="86059" label="MP1"/>
  <int value="86060" label="TWINVQ"/>
  <int value="86061" label="TRUEHD"/>
  <int value="86062" label="MP4ALS"/>
  <int value="86063" label="ATRAC1"/>
  <int value="86064" label="BINKAUDIO_RDFT"/>
  <int value="86065" label="BINKAUDIO_DCT"/>
  <int value="86066" label="AAC_LATM"/>
  <int value="86067" label="QDMC"/>
  <int value="86068" label="CELT"/>
  <int value="86069" label="G723_1"/>
  <int value="86070" label="G729"/>
  <int value="86071" label="8SVX_EXP"/>
  <int value="86072" label="8SVX_FIB"/>
  <int value="86073" label="BMV_AUDIO"/>
  <int value="86074" label="RALF"/>
  <int value="86075" label="IAC"/>
  <int value="86076" label="ILBC"/>
  <int value="86077" label="OPUS_DEPRECATED"/>
  <int value="86078" label="COMFORT_NOISE"/>
  <int value="86079" label="TAK_DEPRECATED"/>
  <int value="94208" label="DVD_SUBTITLE"/>
  <int value="94209" label="DVB_SUBTITLE"/>
  <int value="94210" label="TEXT"/>
  <int value="94211" label="XSUB"/>
  <int value="94212" label="SSA"/>
  <int value="94213" label="MOV_TEXT"/>
  <int value="94214" label="HDMV_PGS_SUBTITLE"/>
  <int value="94215" label="DVB_TELETEXT"/>
  <int value="94216" label="SRT"/>
  <int value="98304" label="TTF"/>
  <int value="102400" label="PROBE"/>
  <int value="131072" label="MPEG2TS"/>
  <int value="131073" label="MPEG4SYSTEMS"/>
  <int value="135168" label="FFMETADATA"/>
  <int value="4665933" label="G2M"/>
  <int value="4801606" label="IDF"/>
  <int value="5198918" label="OTF"/>
  <int value="407917392" label="PCM_S24LE_PLANAR"/>
  <int value="542135120" label="PCM_S32LE_PLANAR"/>
  <int value="808530518" label="012V"/>
  <int value="809850962" label="EXR"/>
  <int value="944985688" label="8SVX_RAW"/>
  <int value="1095123744" label="ADPCM_AFC"/>
  <int value="1096176208" label="AVRP"/>
  <int value="1096176238" label="AVRN"/>
  <int value="1096176969" label="AVUI"/>
  <int value="1096373590" label="AYUV"/>
  <int value="1112557912" label="BRENDER_PIX"/>
  <int value="1112823892" label="BINTEXT"/>
  <int value="1129335105" label="CPIA"/>
  <int value="1160852272" label="ESCAPE130"/>
  <int value="1179014995" label="FFWAVESYNTH"/>
  <int value="1211250229" label="HEVC"/>
  <int value="1246975298" label="JACOSUB"/>
  <int value="1263294017" label="SMPTE_KLV"/>
  <int value="1297108018" label="MPL2"/>
  <int value="1297498929" label="MVC1"/>
  <int value="1297498930" label="MVC2"/>
  <int value="1330333984" label="ADPCM_IMA_OKI"/>
  <int value="1330664787" label="OPUS"/>
  <int value="1346455105" label="PAF_AUDIO"/>
  <int value="1346455126" label="PAF_VIDEO"/>
  <int value="1347637264" label="PCM_S16BE_PLANAR"/>
  <int value="1349012051" label="PJS"/>
  <int value="1381259348" label="REALTEXT"/>
  <int value="1396788553" label="SAMI"/>
  <int value="1396788813" label="SANM"/>
  <int value="1397180754" label="SGIRLE"/>
  <int value="1397706307" label="SONIC"/>
  <int value="1397706316" label="SONIC_LS"/>
  <int value="1397909872" label="SUBRIP"/>
  <int value="1398953521" label="SUBVIEWER1"/>
  <int value="1400201814" label="SUBVIEWER"/>
  <int value="1412575542" label="TARGA_Y216"/>
  <int value="1446195256" label="V308"/>
  <int value="1446260792" label="V408"/>
  <int value="1447644481" label="VIMA"/>
  <int value="1448111218" label="VPLAYER"/>
  <int value="1465275476" label="WEBVTT"/>
  <int value="1480739150" label="XBIN"/>
  <int value="1480999235" label="XFACE"/>
  <int value="1496592720" label="Y41P"/>
  <int value="1498764852" label="YUV4"/>
  <int value="1664495672" label="EIA_608"/>
  <int value="1833195076" label="MICRODVD"/>
  <int value="1936029283" label="EVRC"/>
  <int value="1936944502" label="SMV"/>
  <int value="1950507339" label="TAK"/>
</enum>

<enum name="FFmpegColorRanges" type="int">
  <int value="0" label="UNSPECIFIED"/>
  <int value="1" label="MPEG"/>
  <int value="2" label="JPEG"/>
</enum>

<enum name="FileDialogType" type="int">
  <int value="0" label="Select folder"/>
  <int value="1" label="Upload folder"/>
  <int value="2" label="Save as file"/>
  <int value="3" label="Open file"/>
  <int value="4" label="Open multiple files"/>
  <int value="5" label="Full page"/>
  <int value="6" label="Error"/>
</enum>

<enum name="FileManagerQuickViewWayToOpen" type="int">
  <int value="0" label="Context menu"/>
  <int value="1" label="Space key"/>
</enum>

<enum name="FileManagerVolumeType" type="int">
  <int value="0" label="Google Drive"/>
  <int value="1" label="Download Folder"/>
  <int value="2" label="Removable Disk"/>
  <int value="3" label="Archive File"/>
  <int value="4" label="FileSystemProvider API"/>
  <int value="5" label="MTP (Media Transfer Protocol) Device"/>
  <int value="6" label="Media View"/>
</enum>

<enum name="FileMetricsProviderAccessResult" type="int">
  <int value="0" label="File was mapped."/>
  <int value="1" label="File doesn't exist."/>
  <int value="2" label="File not modified."/>
  <int value="3" label="File is invalid (e.g. directory or zero-size)."/>
  <int value="4" label="File could not be memory-mapped by system."/>
  <int value="5" label="File has invalid contents."/>
  <int value="6" label="File could not be exclusively opened."/>
  <int value="7" label="File contents internally deleted."/>
</enum>

<enum name="FileReaderSyncWorkerType" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="Dedicated Worker"/>
  <int value="2" label="Shared Worker"/>
  <int value="3" label="Service Worker"/>
</enum>

<enum name="FileSystemDatabaseInitResult" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Corruption"/>
  <int value="2" label="IO Error"/>
  <int value="3" label="Unknown Error"/>
</enum>

<enum name="FileSystemErrors" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Incognito"/>
  <int value="2" label="Invalid Schema"/>
  <int value="3" label="Create Directory Error"/>
  <int value="4" label="Not Found"/>
  <int value="5" label="Unknown Error"/>
</enum>

<enum name="FileType" type="int">
  <int value="0" label="other"/>
  <int value="1" label=".doc"/>
  <int value="2" label=".docx"/>
  <int value="3" label=".odt"/>
  <int value="4" label=".rtf"/>
  <int value="5" label=".pdf"/>
  <int value="6" label=".ppt"/>
  <int value="7" label=".pptx"/>
  <int value="8" label=".odp"/>
  <int value="9" label=".xls"/>
  <int value="10" label=".xlsx"/>
  <int value="11" label=".ods"/>
  <int value="12" label=".csv"/>
  <int value="13" label=".odf"/>
  <int value="14" label=".rar"/>
  <int value="15" label=".asf"/>
  <int value="16" label=".wma"/>
  <int value="17" label=".wmv"/>
  <int value="18" label=".mov"/>
  <int value="19" label=".mpg"/>
  <int value="20" label=".log"/>
</enum>

<enum name="FirstMeaningfulPaintOrdering" type="int">
  <int value="0" label="FMP 0-quiet &lt; FMP 2-quiet"/>
  <int value="1" label="FMP 0-quiet &gt; FMP 2-quiet"/>
  <int value="2" label="FMP 0-quiet = FMP 2-quiet"/>
</enum>

<enum name="FirstMeaningfulPaintSignalStatus" type="int">
  <int value="0" label="No input, network active"/>
  <int value="1" label="Had input, network active"/>
  <int value="2" label="No input, network stable"/>
  <int value="3" label="Had input, network stable"/>
</enum>

<enum name="FirstMeaningfulPaintStatus" type="int">
  <int value="0" label="Recorded successfully"/>
  <int value="1" label="The page was backgrounded"/>
  <int value="2" label="User left the page before network stable"/>
  <int value="3" label="Not recorded because of user interaction"/>
  <int value="4" label="User left the page before first contentful paint"/>
</enum>

<enum name="FlashNavigateUsageType" type="int">
  <int value="0" label="Rejected because of Authorization header."/>
  <int value="1" label="Rejected because of Cache-Control header."/>
  <int value="2" label="Rejected because of Content-Encoding header."/>
  <int value="3" label="Rejected because of Content-MD5 header."/>
  <int value="4" label="Rejected because of Content-Type header."/>
  <int value="5" label="Rejected because of Expires header."/>
  <int value="6" label="Rejected because of From header."/>
  <int value="7" label="Rejected because of If-Match header."/>
  <int value="8" label="Rejected because of If-None-Match header."/>
  <int value="9" label="Rejected because of If-Range header."/>
  <int value="10" label="Rejected because of If-Unmodified-Since header."/>
  <int value="11" label="Rejected because of Pragma header."/>
  <int value="12" label="Rejected because of Referer header."/>
  <int value="13"
      label="Rejected because of other headers (e.g., custom headers)."/>
  <int value="14" label="The total number of rejected navigate requests."/>
  <int value="15" label="The total number of navigate requests."/>
</enum>

<enum name="FlashTinyContentSize" type="int">
  <int value="0" label="1x1 or smaller"/>
  <int value="1" label="5x5 or smaller"/>
  <int value="2" label="10x10 or smaller"/>
  <int value="3" label="Large"/>
</enum>

<enum name="FlashUsage" type="int">
  <int value="0" label="Started NPAPI Flash at least once">
    Number of browser processes that have started at least one NPAPI Flash
    process during their lifetime.
  </int>
  <int value="1" label="Started PPAPI Flash at least once">
    Number of browser processes that have started at least one PPAPI Flash
    process during their lifetime.
  </int>
  <int value="2" label="Started browser process">
    Total number of browser processes.
  </int>
</enum>

<enum name="FontDisplayValue" type="int">
  <int value="0" label="auto"/>
  <int value="1" label="block"/>
  <int value="2" label="swap"/>
  <int value="3" label="fallback"/>
  <int value="4" label="optional"/>
</enum>

<enum name="FormDataDeserializationStatus" type="int">
  <int value="0" label="Login database success"/>
  <int value="1" label="Login database failure"/>
  <int value="2" label="Libsecret success"/>
  <int value="3" label="Libsecret failure"/>
  <int value="4" label="GNOME success"/>
  <int value="5" label="GNOME failure"/>
</enum>

<enum name="FramebustPermissions" type="int">
  <int value="0" label="Only permitted for framebusting, no user gesture"/>
  <int value="1" label="Only permitted for framebusting, user gesture"/>
  <int value="2" label="Allowed navigation, no user gesture"/>
  <int value="3" label="Allowed navigation, user gesture"/>
</enum>

<enum name="FtpDataConnectionError" type="int">
  <int value="0">Data connection successful</int>
  <int value="1">Local firewall blocked the connection</int>
  <int value="2">Connection timed out</int>
  <int value="3">
    Connection has been established, but then got broken (either reset or
    aborted)
  </int>
  <int value="4">Connection has been refused</int>
  <int value="20">Other kind of error</int>
</enum>

<enum name="FtpServerType" type="int">
  <obsolete>
    Deprecated 2012-11-13. No longer generated.
  </obsolete>
  <summary>
    Old FTP server type as previously defined in
    net/ftp/ftp_server_type_histograms.h
  </summary>
  <int value="0" label="Unknown">
    Unknown (could be a server we don't support, a broken server, or a security
    attack)
  </int>
  <int value="1" label="/bin/ls">Server using /bin/ls -l and variants</int>
  <int value="2" label="/bin/dls">Server using /bin/dls</int>
  <int value="3" label="EPLF">Server using EPLF format</int>
  <int value="4" label="WinNT">
    WinNT server configured for old style listing
  </int>
  <int value="5" label="VMS">VMS (including variants)</int>
  <int value="6" label="IBM VM">IBM VM/CMS, VM/ESA, z/VM formats</int>
  <int value="7" label="OS/2">OS/2 FTP Server</int>
  <int value="8" label="win16">
    win16 hosts: SuperTCP or NetManage Chameleon
  </int>
</enum>

<enum name="FtpServerType2" type="int">
  <summary>
    FTP server type as defined in net/ftp/ftp_server_type_histograms.h
  </summary>
  <int value="0" label="Unknown"/>
  <int value="1" label="/bin/ls"/>
  <int value="2" label="Windows"/>
  <int value="3" label="VMS"/>
  <int value="4" label="Netware">
    Obsolete, no longer detected or supported.
  </int>
  <int value="5" label="OS/2">Obsolete, no longer detected or supported.</int>
</enum>

<enum name="GaiaSessionRestoreOutcome" type="int">
  <int value="0" label="Undefined"/>
  <int value="1" label="Success"/>
  <int value="2" label="OAuth2 tokens cannot be fetched"/>
  <int value="3" label="No local OAuth2 refresh token found"/>
  <int value="4" label="OAuthLogin call failed"/>
  <int value="5" label="MergeSession call failed"/>
  <int value="6" label="ListAccounts call failed"/>
  <int value="7" label="No restore needed, fresh cookies found"/>
  <int value="8" label="Overflow"/>
</enum>

<enum name="Gamma" type="int">
  <int value="0" label="GammaLinear"/>
  <int value="1" label="GammaSRGB"/>
  <int value="2" label="Gamma2Dot2"/>
  <int value="3" label="GammaNonStandard"/>
  <int value="4" label="GammaNull"/>
  <int value="5" label="GammaFail"/>
  <int value="6" label="GammaInvalid"/>
  <int value="7" label="GammaExponent"/>
  <int value="8" label="GammaTable"/>
  <int value="9" label="GammaParametric"/>
  <int value="10" label="GammaNamed"/>
</enum>

<enum name="Gamut" type="int">
  <int value="0" label="GamutUnknown"/>
  <int value="1" label="GamutLessThanNTSC"/>
  <int value="2" label="GamutNTSC"/>
  <int value="3" label="GamutSRGB"/>
  <int value="4" label="GamutAlmostP3"/>
  <int value="5" label="GamutP3"/>
  <int value="6" label="GamutAdobeRGB"/>
  <int value="7" label="GamutWide"/>
  <int value="8" label="GamutBT2020"/>
  <int value="9" label="GamutProPhoto"/>
  <int value="10" label="GamutUltraWide"/>
</enum>

<enum name="GarbageCollectionReason" type="int">
  <int value="0" label="kUnknown"/>
  <int value="1" label="kAllocationFailure"/>
  <int value="2" label="kAllocationLimit"/>
  <int value="3" label="kContextDisposal"/>
  <int value="4" label="kCountersExtension"/>
  <int value="5" label="kDebugger"/>
  <int value="6" label="kDeserializer"/>
  <int value="7" label="kExternalMemoryPressure"/>
  <int value="8" label="kFinalizeMarkingViaStackGuard"/>
  <int value="9" label="kFinalizeMarkingViaTask"/>
  <int value="10" label="kFullHashtable"/>
  <int value="11" label="kHeapProfiler"/>
  <int value="12" label="kIdleTask"/>
  <int value="13" label="kLastResort"/>
  <int value="14" label="kLowMemoryNotification"/>
  <int value="15" label="kMakeHeapIterable"/>
  <int value="16" label="kMemoryPressure"/>
  <int value="17" label="kMemoryReducer"/>
  <int value="18" label="kRuntime"/>
  <int value="19" label="kSamplingProfiler"/>
  <int value="20" label="kSnapshotCreator"/>
  <int value="21" label="kTesting"/>
</enum>

<enum name="GATTCharacteristicHash" type="int">
<!-- Hash values can be produced using tool: bluetooth_metrics_hash -->

  <int value="1615384" label="alert_notification_control_point"/>
  <int value="4531384" label="date_of_birth"/>
  <int value="22829753" label="barometric_pressure_trend"/>
  <int value="33030714" label="scan_refresh"/>
  <int value="36624371"
      label="Anki OVERDRIVE cars; be15bee0-6186-407e-8381-0bd89c4d8df4"/>
  <int value="40437408" label="gender"/>
  <int value="42833873" label="42833873 (Unknown; not a 16bit UUID)"/>
  <int value="64893984" label="local_east_coordinate.xml"/>
  <int value="67768539" label="alert_category_id_bit_mask"/>
  <int value="79560451" label="sc_control_point"/>
  <int value="84948752"
      label="Eddystone Config ADV Slot Data;
             a3c8750a-8ed3-4bdf-8a39-a01bebede295"/>
  <int value="87432554"
      label="Parrot Drone; 9a66fd54-0800-9191-11e4-012d1540cb8e"/>
  <int value="89070880" label="blood_pressure_measurement"/>
  <int value="102699400" label="cycling_power_feature"/>
  <int value="107355463"
      label="konashi analogRead2; 229b300a-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="111826224"
      label="micro:bit client requirements;
             e95d23c4-251d-470a-a062-fa1922dfa9a8"/>
  <int value="121100653"
      label="Parrot Drone; 9a66fd22-0800-9191-11e4-012d1540cb8e"/>
  <int value="145478270" label="glucose_feature"/>
  <int value="162705488" label="manufacturer_name_string"/>
  <int value="164418508" label="weight_measurement"/>
  <int value="177223896" label="report_map"/>
  <int value="193202136"
      label="Anki OVERDRIVE cars; be15bee1-6186-407e-8381-0bd89c4d8df4"/>
  <int value="203698195"
      label="micro:bit event; e95d9775-251d-470a-a062-fa1922dfa9a8"/>
  <int value="203846063" label="ff0c"/>
  <int value="205016416" label="body_composition_measurement"/>
  <int value="235785246" label="irradiance"/>
  <int value="248349383" label="csc_measurement"/>
  <int value="254703207" label="true_wind_speed"/>
  <int value="257107525" label="intermediate_temperature"/>
  <int value="259169368" label="cgm_measurement"/>
  <int value="261747886" label="battery_level"/>
  <int value="282925453" label="time_with_dst"/>
  <int value="289588334" label="supported_unread_alert_category"/>
  <int value="294481931"
      label="Wahoo Kickr trainer; a026e005-0a7d-4ab3-97fa-f1500f9feb8b"/>
  <int value="296670902" label="heart_rate_control_point"/>
  <int value="298186521" label="alert_category_id"/>
  <int value="307449363" label="plx_features"/>
  <int value="310983691" label="cycling_power_measurement"/>
  <int value="312578485" label="navigation"/>
  <int value="314022771"
      label="Remote Lego; 8d8ba32b-96be-4590-910b-c756c5222c9f"/>
  <int value="318124766"
      label="Remote Lego; fa10e4de-259e-4d23-9f59-45a9c66802ca"/>
  <int value="333947401" label="temperature_measurement"/>
  <int value="338768495" label="ringer_setting"/>
  <int value="339742946" label="hid_information"/>
  <int value="358854697" label="bond_management_feature"/>
  <int value="359765018"
      label="micro:bit client event; e95d5404-251d-470a-a062-fa1922dfa9a8"/>
  <int value="361317539" label="language"/>
  <int value="363167947" label="blood_pressure_feature"/>
  <int value="364021976"
      label="nRF candy machine; b6c31338-6c07-453e-961a-d8a8a41bf368"/>
  <int value="368068304"
      label="MiP Robot; Magic Blue Bulb; 0000ffe9-0000-1000-8000-00805f9b34fb"/>
  <int value="371778276"
      label="micro:bit requirements; e95db84c-251d-470a-a062-fa1922dfa9a8"/>
  <int value="372306057"
      label="Bleno Pizza Example; 13333333-3333-3333-3333-333333330001"/>
  <int value="404638811"
      label="konashi pwmParameter; 229b3005-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="405569435" label="boot_keyboard_output_report"/>
  <int value="409618715" label="cycling_power_vector"/>
  <int value="416059854"
      label="konashi uartRxNotification; 229b3013-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="419477741" label="body_composition_feature"/>
  <int value="440009071"
      label="konashi pwmDuty; 229b3006-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="448606809" label="448606809 (Unknown; not a 16bit UUID)"/>
  <int value="469191968" label="Playbulb Candle Color; fffc"/>
  <int value="473092981"
      label="Eddystone Config Advertising Interval;
             a3c87503-8ed3-4bdf-8a39-a01bebede295"/>
  <int value="486368335" label="location_name"/>
  <int value="508191605"
      label="Parrot Drone; 9a66fb1b-0800-9191-11e4-012d1540cb8e"/>
  <int value="511033835"
      label="konashi hardwareLowBatteryNotification;
             229b3015-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="512543326" label="date_of_threshold_assessment"/>
  <int value="517791580"
      label="Sphero Robot; 22bb746f-2bbf-7554-2d6f-726568705327"/>
  <int value="531135021" label="cgm_specific_ops_control_point"/>
  <int value="540054581" label="magnetic_declination"/>
  <int value="546162499"
      label="Eddystone Config EID Identity Key;
             a3c87509-8ed3-4bdf-8a39-a01bebede295"/>
  <int value="546355367" label="firmware_revision_string"/>
  <int value="549702960" label="humidity"/>
  <int value="557034058" label="cycling_power_control_point"/>
  <int value="557040382" label="hardware_revision_string"/>
  <int value="561260257" label="analog"/>
  <int value="580555542"
      label="Remote Lego; 2ac1fdb2-d971-4595-8e32-e8c5d80edf5f"/>
  <int value="589575132"
      label="Sphero Robot; 22bb746f-2bbd-7554-2d6f-726568705327"/>
  <int value="589741087" label="model_number_string"/>
  <int value="625191771"
      label="Parrot Drone; 9a66fa0a-0800-9191-11e4-012d1540cb8e"/>
  <int value="638602429" label="new_alert"/>
  <int value="640013977"
      label="konashi uartBaudRate; 229b3011-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="642925692" label="anaerobic_heart_rate_lower_limit"/>
  <int value="650507215" label="aerobic_heart_rate_lower_limit"/>
  <int value="653904148" label="cgm_session_run_time"/>
  <int value="675543714" label="aerobic_threshold"/>
  <int value="682327952"
      label="Parrot Drone; 9a66fa0b-0800-9191-11e4-012d1540cb8e"/>
  <int value="685669143"
      label="Parrot Drone; 9a66fa0c-0800-9191-11e4-012d1540cb8e"/>
  <int value="689682673" label="unread_alert_status"/>
  <int value="710863194" label="dew_point"/>
  <int value="713208266" label="apparent_wind_direction"/>
  <int value="724796397" label="weight"/>
  <int value="735462059"
      label="konashi uartConfig; 229b3010-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="747671909" label="reference_time_information"/>
  <int value="747737913"
      label="konashi pioOutput; 229b3002-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="752820597" label="boot_mouse_input_report"/>
  <int value="762835818" label="tx_power_level"/>
  <int value="765862810" label="cgm_session_start_time"/>
  <int value="777276843"
      label="Bleno Pizza Example; 13333333-3333-3333-3333-333333330003"/>
  <int value="786588903"
      label="Parrot Drone; 9a66fd53-0800-9191-11e4-012d1540cb8e"/>
  <int value="788890283"
      label="Eddystone Config Factory reset;
             a3c8750b-8ed3-4bdf-8a39-a01bebede295"/>
  <int value="797118889" label="time_source"/>
  <int value="839366223" label="user_index"/>
  <int value="842908520" label="rsc_measurement"/>
  <int value="845003775"
      label="Remote Lego; aad03b81-f2ea-47db-ae1e-7c2f9e86e93e"/>
  <int value="845212855"
      label="Elite trainer; 347b0011-7635-408b-8918-8ff3949ce592"/>
  <int value="851655329"
      label="konashi analogRead0; 229b3008-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="859809200" label="resting_heart_rate"/>
  <int value="867296114" label="gust_factor"/>
  <int value="868427891" label="local_north_coordinate"/>
  <int value="868892960" label="heat_index"/>
  <int value="873660243" label="body_sensor_location"/>
  <int value="893588698" label="scan_interval_window"/>
  <int value="893850387"
      label="Parrot Drone; 9a66fd23-0800-9191-11e4-012d1540cb8e"/>
  <int value="910416910"
      label="nRF UART RX; nrf52-Quadcopter;
             6e400003-b5a3-f393-e0a9-e50e24dcca9e"/>
  <int value="912333311" label="912333311 (Unknown; not a 16bit UUID)"/>
  <int value="917477908" label="software_revision_string"/>
  <int value="918961501" label="plx_spot_check_measurement"/>
  <int value="922434244" label="ln_feature"/>
  <int value="928099812" label="system_id"/>
  <int value="928491064" label="last_name"/>
  <int value="941113050"
      label="konashi i2cReadParameter; 229b300e-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="947971228" label="temperature_type"/>
  <int value="951656105"
      label="Eddystone Config Remain Connectable;
             a3c8750c-8ed3-4bdf-8a39-a01bebede295"/>
  <int value="962656991"
      label="Eddystone Config Public ECDH Key;
             a3c87508-8ed3-4bdf-8a39-a01bebede295"/>
  <int value="976761505" label="local_time_information"/>
  <int value="987658962" label="glucose_measurement"/>
  <int value="1002619180" label="exact_time_256"/>
  <int value="1025676359" label="dst_offset"/>
  <int value="1050948662"
      label="nRF UART TX; nrf52-Quadcopter;
             6e400002-b5a3-f393-e0a9-e50e24dcca9e"/>
  <int value="1061486494" label="anaerobic_heart_rate_upper_limit"/>
  <int value="1070539317"
      label="konashi pioSetting; 229b3000-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="1072163984" label="gap.reconnection_address"/>
  <int value="1077684177"
      label="Parrot Drone; 9a66fd52-0800-9191-11e4-012d1540cb8e"/>
  <int value="1100640868" label="day_of_week"/>
  <int value="1115558005"
      label="konashi hardwareReset; 229b3014-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="1117053056"
      label="Remote Lego; 7baf8dca-2bfc-47fb-af29-042fccc180eb"/>
  <int value="1125104414" label="gap.central_address_resolution_support"/>
  <int value="1134538374" label="hip_circumference"/>
  <int value="1136624215" label="maximum_recommended_heart_rate"/>
  <int value="1136682523" label="date_time"/>
  <int value="1154699367"
      label="konashi uartTx; 229b3012-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="1161713439" label="Playbulb Candle Effect; fffb"/>
  <int value="1167525145" label="alert_status"/>
  <int value="1169219288" label="1169219288 (Unknown; not a 16bit UUID)"/>
  <int value="1183399370" label="magnetic_flux_density_3D"/>
  <int value="1186677690"
      label="Eddystone Config Advertised Tx Power;
             a3c87505-8ed3-4bdf-8a39-a01bebede295"/>
  <int value="1193066711" label="uv_index"/>
  <int value="1214133688" label="vo2_max"/>
  <int value="1217613737" label="three_zone_heart_rate_limits"/>
  <int value="1225369773"
      label="DOTTI; Makeblock mBot; 0000fff3-0000-1000-8000-00805f9b34fb"/>
  <int value="1227844535" label="floor_number"/>
  <int value="1237083013" label="first_name"/>
  <int value="1243630465"
      label="Sphero Robot; 22bb746f-2ba1-7554-2d6f-726568705327"/>
  <int value="1245615057" label="pnp_id"/>
  <int value="1254532025" label="user_control_point"/>
  <int value="1266038031" label="1266038031 (Unknown; not a 16bit UUID)"/>
  <int value="1288236137" label="hid_control_point"/>
  <int value="1307935876"
      label="Tacx trainer; 6e40fec3-b5a3-f393-e0a9-e50e24dcca9e"/>
  <int value="1320278204"
      label="Eddystone Config Radio Tx Power;
             a3c87504-8ed3-4bdf-8a39-a01bebede295"/>
  <int value="1329901812"
      label="Eddystone Config Lock State;
             a3c87506-8ed3-4bdf-8a39-a01bebede295"/>
  <int value="1333242790" label="longitude"/>
  <int value="1334750659"
      label="konashi i2cWrite; 229b300d-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="1352512695" label="1352512695 (Unknown; not a 16bit UUID)"/>
  <int value="1358488787"
      label="sport_type_for_aerobic_and_anaerobic_thresholds"/>
  <int value="1359562687"
      label="PowerUp RC plane; 75b64e51-f184-4ed1-921a-476090d80ba7"/>
  <int value="1370497910" label="position_quality"/>
  <int value="1370779343" label="apparent_wind_speed"/>
  <int value="1399905251" label="elevation"/>
  <int value="1403230035"
      label="konashi analogDrive; 229b3007-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="1403795440" label="time_update_control_point"/>
  <int value="1407679683" label="location_and_speed"/>
  <int value="1409077916"
      label="ieee_11073-20601_regulatory_certification_data_list"/>
  <int value="1418868404"
      label="gap.peripheral_preferred_connection_parameters"/>
  <int value="1419696114" label="record_access_control_point"/>
  <int value="1426243900" label="time_update_state"/>
  <int value="1443769073"
      label="Parrot Drone; 9a66fb0e-0800-9191-11e4-012d1540cb8e"/>
  <int value="1445812935" label="current_time"/>
  <int value="1448457670" label="cgm_feature"/>
  <int value="1479031407" label="five_zone_heart_rate_limits"/>
  <int value="1480262218" label="height"/>
  <int value="1482584061"
      label="konashi pioPullUp; 229b3001-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="1485392010" label="1485392010 (Unknown; not a 16bit UUID)"/>
  <int value="1501299347"
      label="nRF candy machine; a6c31338-6c07-453e-961a-d8a8a41bf368"/>
  <int value="1502604093" label="serial_number_string"/>
  <int value="1511396316" label="ln_control_point"/>
  <int value="1511953014"
      label="Eddystone Config Capabilities;
             a3c87501-8ed3-4bdf-8a39-a01bebede295"/>
  <int value="1521362289" label="indoor_positioning_configuration"/>
  <int value="1536163565"
      label="Remote Lego; e0af3340-022e-47e1-a263-d68887dc41d4"/>
  <int value="1537284424"
      label="Bleno Pizza Example; 13333333-3333-3333-3333-333333330002"/>
  <int value="1541435682" label="fat_burn_heart_rate_upper_limit"/>
  <int value="1542101224" label="plx_continuous_measurent"/>
  <int value="1547112406"
      label="Eddystone Config Active Slot;
             a3c87502-8ed3-4bdf-8a39-a01bebede295"/>
  <int value="1548291582"
      label="konashi analogRead1; 229b3009-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="1556918420" label="supported_new_alert_category"/>
  <int value="1562359952" label="bond_management_control_point"/>
  <int value="1581120657"
      label="Parrot Drone; 9a66fb1c-0800-9191-11e4-012d1540cb8e"/>
  <int value="1594190447" label="anaerobic_threshold"/>
  <int value="1594284383" label="time_accuracy"/>
  <int value="1599786113" label="sensor_location"/>
  <int value="1650767660" label="protocol_mode"/>
  <int value="1655824245" label="pressure"/>
  <int value="1658559118" label="digital"/>
  <int value="1669829174"
      label="Purple Eye; 00005200-0000-1000-8000-00805f9b34fb"/>
  <int value="1676607014"
      label="konashi i2cConfig; 229b300b-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="1704141710" label="true_wind_direction"/>
  <int value="1732815395" label="alert_level"/>
  <int value="1735563923" label="rsc_feature"/>
  <int value="1748731133" label="intermediate_blood_pressure"/>
  <int value="1774994865" label="day_date_time"/>
  <int value="1777827929" label="heart_rate_measurement"/>
  <int value="1778752264" label="magnetic_flux_density_2D"/>
  <int value="1794935269"
      label="Sphero Robot; 22bb746f-2bb2-7554-2d6f-726568705327"/>
  <int value="1807818076" label="rainfall"/>
  <int value="1811011331" label="report"/>
  <int value="1813165113" label="fat_burn_heart_rate_lower_limit"/>
  <int value="1814120610"
      label="Elgato Avea Bulb; f815e811-456c-6761-746f-4d756e696368"/>
  <int value="1822663159" label="altitude"/>
  <int value="1826219951" label="measurement_interval"/>
  <int value="1834634616"
      label="konashi i2cStartStop; 229b300c-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="1844236489"
      label="Elite trainer; 347b0010-7635-408b-8918-8ff3949ce592"/>
  <int value="1847017753"
      label="konashi pwmConfig; 229b3004-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="1853459100" label="1853459100 (Unknown; not a 16bit UUID)"/>
  <int value="1855704654" label="latitude"/>
  <int value="1863022784"
      label="Parrot Drone; 9a66fd24-0800-9191-11e4-012d1540cb8e"/>
  <int value="1865494132"
      label="konashi i2cRead; 229b300f-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="1875571028"
      label="PowerUp RC plane; 75b64e51-f185-4ed1-921a-476090d80ba7"/>
  <int value="1881531610" label="descriptor_value_changed"/>
  <int value="1899652799" label="pollen_concentration"/>
  <int value="1904364134" label="aerobic_heart_rate_upper_limit"/>
  <int value="1936155204" label="gap.device_name"/>
  <int value="1940300093"
      label="Tacx trainer; 6e40fec2-b5a3-f393-e0a9-e50e24dcca9e"/>
  <int value="1954594648" label="temperature"/>
  <int value="1970019437" label="gap.peripheral_privacy_flag"/>
  <int value="1981651466" label="wind_chill"/>
  <int value="1984759904" label="1984759904 (Unknown; not a 16bit UUID)"/>
  <int value="1999174392" label="glucose_measurement_context"/>
  <int value="2000824522" label="waist_circumference"/>
  <int value="2010182602" label="csc_feature"/>
  <int value="2022949018" label="cgm_status"/>
  <int value="2025615830" label="aggregate"/>
  <int value="2025816471"
      label="Eddystone Config Unlock; a3c87507-8ed3-4bdf-8a39-a01bebede295"/>
  <int value="2031294873" label="uncertainty"/>
  <int value="2041423305" label="email_address"/>
  <int value="2042267197" label="age"/>
  <int value="2047173546" label="boot_keyboard_input_report"/>
  <int value="2049531548"
      label="nrf52-Quadcopter; 6e400004-b5a3-f393-e0a9-e50e24dcca9e"/>
  <int value="2055293976"
      label="Remote Lego; b394673e-dea0-4044-a189-86f1c85ce22e"/>
  <int value="2083994430" label="two_zone_heart_rate_limit"/>
  <int value="2084445069" label="ringer_control_point"/>
  <int value="2091220203"
      label="konashi pioInputNotification;
             229b3003-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="2091531878" label="weight_scale_feature"/>
  <int value="2100140560" label="2100140560 (Unknown; not a 16bit UUID)"/>
  <int value="2101185135" label="time_zone"/>
  <int value="2105952193" label="heart_rate_max"/>
  <int value="2110830087"
      label="Printer; 00002af1-0000-1000-8000-00805f9b34fb"/>
  <int value="2118566262" label="database_change_increment"/>
  <int value="2125906618" label="gap.appearance"/>
  <int value="2140490935" label="gatt.service_changed"/>
</enum>

<enum name="GATTDescriptorHash" type="int">
<!-- Hash values can be produced using tool: bluetooth_metrics_hash -->

  <int value="34360078"
      label="Environmental Sensing Configuration;
             0000290b-0000-1000-8000-00805f9b34fb"/>
  <int value="212028968"
      label="Value Trigger Setting; 0000290a-0000-1000-8000-00805f9b34fb"/>
  <int value="434053918"
      label="Valid Range; 00002906-0000-1000-8000-00805f9b34fb"/>
  <int value="475200414"
      label="Characteristic Aggregate Format;
             00002905-0000-1000-8000-00805f9b34fb"/>
  <int value="1007170263"
      label="Report Reference; 00002908-0000-1000-8000-00805f9b34fb"/>
  <int value="1035573722"
      label="External Report Reference; 00002907-0000-1000-8000-00805f9b34fb"/>
  <int value="1113090825"
      label="Characteristic Presentation Format;
             00002904-0000-1000-8000-00805f9b34fb"/>
  <int value="1130337922"
      label="Number of Digitals; 00002909-0000-1000-8000-00805f9b34fb"/>
  <int value="1201129743"
      label="Client Characteristic Configuration;
             00002902-0000-1000-8000-00805f9b34fb"/>
  <int value="1208669602"
      label="Environmental Sensing Trigger Setting;
             0000290d-0000-1000-8000-00805f9b34fb"/>
  <int value="1322265676"
      label="Server Characteristic Configuration;
             00002903-0000-1000-8000-00805f9b34fb"/>
  <int value="1383133454"
      label="Environmental Sensing Measurement;
             0000290c-0000-1000-8000-00805f9b34fb"/>
  <int value="1406247203"
      label="Time Trigger Setting; 0000290e-0000-1000-8000-00805f9b34fb"/>
  <int value="1504592234"
      label="Characteristic User Description;
             00002901-0000-1000-8000-00805f9b34fb"/>
  <int value="1876461392"
      label="Characteristic Extended Properties;
             00002900-0000-1000-8000-00805f9b34fb"/>
</enum>

<enum name="GATTServiceHash" type="int">
<!-- Hash values can be produced using tool: bluetooth_metrics_hash -->

  <int value="7464675" label="pulse_oximeter"/>
  <int value="26695985" label="fe20"/>
  <int value="35226455" label="fe44"/>
  <int value="35347197" label="fe26"/>
  <int value="41430862" label="fea8"/>
  <int value="44208286" label="fe29"/>
  <int value="46512116" label="fe03"/>
  <int value="47251880" label="fe8c"/>
  <int value="48328546" label="febf"/>
  <int value="48912332"
      label="micro:bit event; e95d93af-251d-470a-a062-fa1922dfa9a8"/>
  <int value="56938056" label="feb9"/>
  <int value="62669585" label="feff"/>
  <int value="70653353" label="fe37"/>
  <int value="81094401" label="link_loss"/>
  <int value="85709298" label="fe38"/>
  <int value="91953454" label="fe7b"/>
  <int value="109066436" label="Printer; 18f0"/>
  <int value="117033282" label="fe1e"/>
  <int value="119232939" label="fe16"/>
  <int value="124193922"
      label="nrf52-Quadcopter; 6e400020-b5a3-f393-e0a9-e50e24dcca9e"/>
  <int value="126220948" label="fec4"/>
  <int value="130754956" label="fe0d"/>
  <int value="134110769" label="fecf"/>
  <int value="141942246" label="fe1d"/>
  <int value="150370668" label="150370668 (Unknown; not a 16bit UUID)"/>
  <int value="152492105" label="fe5f"/>
  <int value="169501939" label="fe4d"/>
  <int value="199936534" label="fe3c"/>
  <int value="214038522" label="fed3"/>
  <int value="217781951" label="human_interface_device"/>
  <int value="219286671" label="fe04"/>
  <int value="221983129" label="fe66"/>
  <int value="228594985" label="fe21"/>
  <int value="229725863"
      label="Juggglow; 624e957f-cb42-4cd6-bacc-84aeb898f69b"/>
  <int value="239745754" label="fe22"/>
  <int value="252638028" label="fe9c"/>
  <int value="253001319" label="fe84"/>
  <int value="267848299" label="fe3e"/>
  <int value="270670950" label="fe62"/>
  <int value="272218751" label="automation_io"/>
  <int value="273356483" label="fe68"/>
  <int value="278860884" label="fe5c"/>
  <int value="289754407" label="fe01"/>
  <int value="291870040" label="fe6d"/>
  <int value="295205583" label="fe27"/>
  <int value="310654399" label="fe54"/>
  <int value="314884784" label="fe65"/>
  <int value="315044617" label="fea9"/>
  <int value="321399472" label="fe86"/>
  <int value="335078161"
      label="Dotti; MiP Robot; 0000fff0-0000-1000-8000-00805f9b34fb"/>
  <int value="336095190" label="fe1c"/>
  <int value="337129282" label="fe73"/>
  <int value="347254994" label="feb6"/>
  <int value="350589357" label="fe8e"/>
  <int value="353919198" label="fe41"/>
  <int value="367801999" label="fe19"/>
  <int value="381944619" label="continuous_glucose_monitoring"/>
  <int value="393442080" label="fe47"/>
  <int value="404751265" label="fe34"/>
  <int value="406443827" label="fe08"/>
  <int value="406667138" label="fe1b"/>
  <int value="408422717" label="fe12"/>
  <int value="411422080" label="feaf"/>
  <int value="428955508" label="fed8"/>
  <int value="436040838" label="fe49"/>
  <int value="442258066" label="fec6"/>
  <int value="448479874" label="fe13"/>
  <int value="452749537" label="fe6f"/>
  <int value="486403409" label="fe7e"/>
  <int value="493187195"
      label="Insight cards; 13630000-aeb9-10cf-ef69-81e145a91113"/>
  <int value="499379297" label="fe0c"/>
  <int value="517314925" label="fe0e"/>
  <int value="534472233" label="feea"/>
  <int value="535574137" label="feb1"/>
  <int value="540487861"
      label="Parrot Drone; 9a66fd21-0800-9191-11e4-012d1540cb8e"/>
  <int value="547028880" label="fed0"/>
  <int value="547268186"
      label="Parrot Drone; 9a66fb00-0800-9191-11e4-012d1540cb8e"/>
  <int value="547391938" label="feee"/>
  <int value="563178896" label="fec8"/>
  <int value="572734315"
      label="Sphero Robot; 22bb746f-2bb0-7554-2d6f-726568705327"/>
  <int value="587509991" label="feba"/>
  <int value="593291030" label="fe80"/>
  <int value="593725623" label="fef8"/>
  <int value="594122172" label="health_thermometer"/>
  <int value="598801180" label="fe64"/>
  <int value="599398840" label="feb4"/>
  <int value="601952480"
      label="PowerUp RC plane; 75b64e51-f181-4ed1-921a-476090d80ba7"/>
  <int value="603143198" label="fef5"/>
  <int value="604112254" label="fee4"/>
  <int value="612248808" label="612248808 (Unknown; not a 16bit UUID)"/>
  <int value="617434027" label="fe59"/>
  <int value="621358948" label="fec7"/>
  <int value="626013607" label="FIDO authentication service (fffd)"/>
  <int value="633977000" label="fedf"/>
  <int value="634740644"
      label="Purple Eye; 00005100-0000-1000-8000-00805f9b34fb"/>
  <int value="642914459" label="fe3d"/>
  <int value="643543662" label="fefe"/>
  <int value="661885353"
      label="Remote Lego; 40480f29-7bad-4ea5-8bf8-499405c9b324"/>
  <int value="675211143" label="fe4a"/>
  <int value="677930586" label="fe11"/>
  <int value="683753134" label="fe82"/>
  <int value="684646659" label="febb"/>
  <int value="687580695" label="fe7a"/>
  <int value="687720133" label="fe91"/>
  <int value="688383299" label="fe1f"/>
  <int value="690691504" label="bond_management"/>
  <int value="695100933" label="fed4"/>
  <int value="702341883" label="fed5"/>
  <int value="703883979" label="fe87"/>
  <int value="706159123" label="fe32"/>
  <int value="712814660"
      label="Eddystone-URL Beacon Configuration;
             ee0c2080-8786-40ba-ab96-99b91ac981d8"/>
  <int value="739317418" label="fe05"/>
  <int value="741183887" label="fe78"/>
  <int value="749323131" label="fece"/>
  <int value="762562796" label="fe5e"/>
  <int value="775377708" label="fe2b"/>
  <int value="780195705" label="fead"/>
  <int value="786171562" label="fe0a"/>
  <int value="803680658" label="fea3"/>
  <int value="805645044" label="glucose"/>
  <int value="807272540" label="fe1a"/>
  <int value="817497010" label="fe18"/>
  <int value="836214784" label="cycling_power"/>
  <int value="841972234" label="feeb"/>
  <int value="869059214" label="next_dst_change"/>
  <int value="869682406" label="fe60"/>
  <int value="876407493" label="location_and_navigation"/>
  <int value="878416856" label="fe85"/>
  <int value="879242624"
      label="nRF candy machine; a6c31337-6c07-453e-961a-d8a8a41bf368"/>
  <int value="882315332" label="fe55"/>
  <int value="889111031" label="fecd"/>
  <int value="890629650" label="running_speed_and_cadence"/>
  <int value="901700952" label="fedd"/>
  <int value="902817086" label="fea2"/>
  <int value="918911989" label="fed1"/>
  <int value="931929648" label="Mi Band; fee0"/>
  <int value="935427983" label="fed7"/>
  <int value="936179325" label="feb5"/>
  <int value="939739701" label="fe8f"/>
  <int value="939958322" label="febc"/>
  <int value="940942235" label="feef"/>
  <int value="953202155" label="fe8d"/>
  <int value="959163825"
      label="Elgato Avea Bulb; f815e810-456c-6761-746f-4d756e696368"/>
  <int value="960854785" label="fe53"/>
  <int value="961193127" label="feb8"/>
  <int value="963656436" label="fe77"/>
  <int value="978815669"
      label="CoolBeans Serial; a495ff10-c5b1-4b44-b512-1370f02d74de"/>
  <int value="1001310815" label="fe75"/>
  <int value="1024550252" label="feda"/>
  <int value="1029767622" label="internet_protocol_support"/>
  <int value="1035129135" label="fe74"/>
  <int value="1044298649" label="fe99"/>
  <int value="1045265631"
      label="Elite trainer; 347b0001-7635-408b-8918-8ff3949ce592"/>
  <int value="1047979067" label="fe17"/>
  <int value="1054370387" label="fef9"/>
  <int value="1061554458" label="feaa"/>
  <int value="1067649821" label="fe3f"/>
  <int value="1079263879" label="fe06"/>
  <int value="1085187782" label="feae"/>
  <int value="1088150526" label="feb2"/>
  <int value="1091337779" label="fefb"/>
  <int value="1096286291" label="fed6"/>
  <int value="1102290958" label="fe56"/>
  <int value="1103440256" label="fee9"/>
  <int value="1107293675" label="cycling_speed_and_cadence"/>
  <int value="1107743017" label="fe00"/>
  <int value="1108163795" label="fec0"/>
  <int value="1108885324" label="fe48"/>
  <int value="1122138707" label="fed2"/>
  <int value="1122276223" label="fe67"/>
  <int value="1122861451" label="Playbulb Candle; ff02"/>
  <int value="1132318862" label="fe6a"/>
  <int value="1133574029" label="fede"/>
  <int value="1134418737" label="fed9"/>
  <int value="1146291045" label="fe2e"/>
  <int value="1155522736" label="fea0"/>
  <int value="1181418959" label="feca"/>
  <int value="1185484517" label="fe02"/>
  <int value="1188875912" label="phone_alert_status"/>
  <int value="1204532270" label="fea1"/>
  <int value="1205730714" label="fe81"/>
  <int value="1213218283" label="feb7"/>
  <int value="1219993345" label="device_information"/>
  <int value="1225001939" label="fe6c"/>
  <int value="1235220658" label="fe6e"/>
  <int value="1236903028" label="fe9d"/>
  <int value="1239202871" label="generic_attribute"/>
  <int value="1244946418" label="fe61"/>
  <int value="1250531601" label="fe15"/>
  <int value="1257014053" label="fe33"/>
  <int value="1262008705" label="fef2"/>
  <int value="1265172773" label="indoor_positioning"/>
  <int value="1265779630" label="fe7d"/>
  <int value="1275725183" label="febe"/>
  <int value="1276692887" label="fe09"/>
  <int value="1280998251" label="blood_pressure"/>
  <int value="1289827687" label="fe7c"/>
  <int value="1293391247" label="fea4"/>
  <int value="1295501517" label="fef3"/>
  <int value="1300474367" label="fe70"/>
  <int value="1300496660" label="fe23"/>
  <int value="1324131957" label="ff08; 0000ff08-0000-1000-8000-00805f9b34fb"/>
  <int value="1327498374"
      label="nRF UART; 6e400001-b5a3-f393-e0a9-e50e24dcca9e"/>
  <int value="1344502489" label="fe92"/>
  <int value="1352591424" label="fe2d"/>
  <int value="1357782294" label="fe90"/>
  <int value="1357850359" label="fefc"/>
  <int value="1359442507"
      label="Physical Web Light Switch; ba42561b-b1d2-440a-8d04-0cefb43faece"/>
  <int value="1362860533" label="fe9a"/>
  <int value="1366014117" label="fe2c"/>
  <int value="1369789354" label="current_time"/>
  <int value="1376579922" label="fef0"/>
  <int value="1377872916" label="fe51"/>
  <int value="1380007534" label="fe96"/>
  <int value="1382767841" label="fe93"/>
  <int value="1394327958" label="fe24"/>
  <int value="1398099241" label="user_data"/>
  <int value="1402127045" label="fef4"/>
  <int value="1415105941" label="scan_parameters"/>
  <int value="1416866355" label="fe3b"/>
  <int value="1422100109"
      label="Sphero Robot; 22bb746f-2ba0-7554-2d6f-726568705327"/>
  <int value="1424865940" label="alert_notification"/>
  <int value="1432421356" label="fe14"/>
  <int value="1433847022" label="fefa"/>
  <int value="1465794357" label="feb0"/>
  <int value="1482395712"
      label="Bleno Pizza Example; 13333333-3333-3333-3333-333333333337"/>
  <int value="1484296385" label="fe30"/>
  <int value="1486406094" label="1486406094 (Unknown; not a 16bit UUID)"/>
  <int value="1513113754" label="fe39"/>
  <int value="1515793787" label="fef1"/>
  <int value="1545945606"
      label="Parrot Drone; 9a66fa00-0800-9191-11e4-012d1540cb8e"/>
  <int value="1548928839" label="fec5"/>
  <int value="1549672811"
      label="nRF candy machine; b6c31337-6c07-453e-961a-d8a8a41bf368"/>
  <int value="1553614739" label="fe6b"/>
  <int value="1563543855" label="fe72"/>
  <int value="1569655226" label="generic_access"/>
  <int value="1573199922" label="fe71"/>
  <int value="1578535968"
      label="Makeblock mBot; 0000ffe1-0000-1000-8000-00805f9b34fb"/>
  <int value="1594426590" label="fe4e"/>
  <int value="1600490722" label="fe46"/>
  <int value="1604724337" label="fe88"/>
  <int value="1606985074" label="feed"/>
  <int value="1607594729" label="fe0f"/>
  <int value="1618872680" label="fe9b"/>
  <int value="1631386264" label="fefd"/>
  <int value="1635890706" label="fe9e"/>
  <int value="1637021391" label="fe95"/>
  <int value="1638012344" label="fe97"/>
  <int value="1648320092" label="fe7f"/>
  <int value="1651126525" label="fe25"/>
  <int value="1651610232" label="fe52"/>
  <int value="1660904097" label="immediate_alert"/>
  <int value="1663141542" label="battery_service"/>
  <int value="1671670551" label="fe5a"/>
  <int value="1673238799" label="fee3"/>
  <int value="1680929515" label="fe79"/>
  <int value="1681595304" label="fe4b"/>
  <int value="1682716946" label="fe45"/>
  <int value="1694516494" label="fe31"/>
  <int value="1696287138" label="weight_scale"/>
  <int value="1697181639" label="1697181639 (Unknown; not a 16bit UUID)"/>
  <int value="1701893879" label="feac"/>
  <int value="1704852137" label="1704852137 (Unknown; not a 16bit UUID)"/>
  <int value="1706666451" label="fea7"/>
  <int value="1708135819" label="1708135819 (Unknown; not a 16bit UUID)"/>
  <int value="1712085581"
      label="MiP Robot; Magic Blue Bulb; 0000ffe5-0000-1000-8000-00805f9b34fb"/>
  <int value="1714031075" label="fe10"/>
  <int value="1724509641" label="fe8b"/>
  <int value="1729966097"
      label="Anki OVERDRIVE cars; be15beef-6186-407e-8381-0bd89c4d8df4"/>
  <int value="1753170093" label="environmental_sensing"/>
  <int value="1763555668" label="fe76"/>
  <int value="1779377938" label="fe5d"/>
  <int value="1784351685" label="feab"/>
  <int value="1788143374" label="feb3"/>
  <int value="1788905945" label="fedb"/>
  <int value="1789684919" label="fe36"/>
  <int value="1805849785" label="fe98"/>
  <int value="1808789304" label="fe3a"/>
  <int value="1821803686" label="TI SensorTag Simple Keys; ffe0"/>
  <int value="1823176820" label="body_composition"/>
  <int value="1826466999" label="fee1"/>
  <int value="1829698279" label="fe0b"/>
  <int value="1833458622" label="fe42"/>
  <int value="1844072312" label="fe40"/>
  <int value="1849709266" label="fec3"/>
  <int value="1852765173" label="1852765173 (Unknown; not a 16bit UUID)"/>
  <int value="1855849484"
      label="iHealth Edge; 636f6d2e-6a69-7561-6e2e-414d56313100"/>
  <int value="1891274929" label="fee2"/>
  <int value="1891804450" label="fe58"/>
  <int value="1905398969" label="fee6"/>
  <int value="1915568448" label="fe89"/>
  <int value="1922068523" label="fef6"/>
  <int value="1922152740" label="fe8a"/>
  <int value="1922853101" label="fe28"/>
  <int value="1925022679" label="fe57"/>
  <int value="1940012814" label="fe2a"/>
  <int value="1942373991"
      label="Eddystone-URL Beacon Configuration v2;
             a3c87500-8ed3-4bdf-8a39-a01bebede295"/>
  <int value="1946977319" label="fec1"/>
  <int value="1953707948" label="fe9f"/>
  <int value="1960388103" label="fecb"/>
  <int value="1969478137" label="fe63"/>
  <int value="1970234661" label="reference_time_update"/>
  <int value="1971997463" label="fe07"/>
  <int value="1976176123" label="fe4c"/>
  <int value="1983035069" label="fec9"/>
  <int value="1984351068" label="fea6"/>
  <int value="2016025023" label="febd"/>
  <int value="2017827114" label="fe4f"/>
  <int value="2018026941"
      label="konashi; 229bff00-03fb-40da-98a7-b0def65c2d4b"/>
  <int value="2021054861"
      label="Tacx trainer; 6e40fec1-b5a3-f393-e0a9-e50e24dcca9e"/>
  <int value="2022676622" label="fe35"/>
  <int value="2051635436" label="fe50"/>
  <int value="2055825405" label="fedc"/>
  <int value="2058080782" label="fecc"/>
  <int value="2061595680" label="fea5"/>
  <int value="2069612985" label="fee5"/>
  <int value="2070392722" label="fec2"/>
  <int value="2075745564" label="heart_rate"/>
  <int value="2081534039" label="fe83"/>
  <int value="2086529225" label="tx_power"/>
  <int value="2097896377" label="fee8"/>
  <int value="2100033855" label="fef7"/>
  <int value="2107223399" label="fee7"/>
  <int value="2108894990" label="fe2f"/>
  <int value="2110412550" label="fe43"/>
  <int value="2113887919" label="fe5b"/>
  <int value="2115271248" label="fe94"/>
  <int value="2124678180"
      label="Parrot Drone; 9a66fd51-0800-9191-11e4-012d1540cb8e"/>
  <int value="2132514937" label="feec"/>
  <int value="2136716957" label="fe69"/>
</enum>

<enum name="GCMCheckinRequestStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="URL fetching failed"/>
  <int value="2" label="HTTP bad request"/>
  <int value="3" label="HTTP unauthorized"/>
  <int value="4" label="HTTP not OK"/>
  <int value="5" label="Response parsing failed"/>
  <int value="6" label="Zero ID or token"/>
</enum>

<enum name="GCMClientResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Invalid parameter"/>
  <int value="2" label="GCM disabled"/>
  <int value="3" label="Async operation pending"/>
  <int value="4" label="Network error"/>
  <int value="5" label="Server error"/>
  <int value="6" label="TTL exceeded"/>
  <int value="7" label="Unknown error"/>
</enum>

<enum name="GCMConnectionResetReason" type="int">
  <int value="0" label="Login failure"/>
  <int value="1" label="Close command"/>
  <int value="2" label="Heartbeat failure"/>
  <int value="3" label="Socket failure"/>
  <int value="4" label="Network change"/>
  <int value="5" label="New heartbeat interval"/>
</enum>

<enum name="GCMDecryptionResult" type="int">
  <int value="0" label="Success (message unencrypted)"/>
  <int value="1" label="Success (message decrypted)"/>
  <int value="2" label="Failure (invalid Encryption HTTP header)"/>
  <int value="3" label="Failure (invalid Crypto-Key HTTP header)"/>
  <int value="4" label="Failure (no keying material available)"/>
  <int value="5" label="Failure (unable to compute the shared secret)"/>
  <int value="6" label="Failure (unable to decrypt using AES-GCM)"/>
</enum>

<enum name="GCMEndpoints" type="int">
  <int value="0" label="mtalk.google.com:5228"/>
  <int value="1" label="mtalk.google.com:443"/>
</enum>

<enum name="GCMInvalidationsIncomingMessageStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="GCM message's content missing or empty"/>
  <int value="2" label="Base64Decode failed"/>
  <int value="3" label="Parsing protobuf failed"/>
</enum>

<enum name="GCMInvalidationsOutgoingMessageStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Message was discarded"/>
  <int value="2" label="Access token request failed"/>
  <int value="3" label="HTTP Post failed"/>
</enum>

<enum name="GCMLoadStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Reloading open store"/>
  <int value="2" label="Store open failed"/>
  <int value="3" label="Loading device credentials failed"/>
  <int value="4" label="Loading registrations failed"/>
  <int value="5" label="Loading incoming messages failed"/>
  <int value="6" label="Loading outgoing messages failed"/>
  <int value="7" label="Loading last checkin info failed"/>
  <int value="8" label="Loading gservice settings failed"/>
  <int value="9" label="Loading account mapping failed"/>
  <int value="10" label="Loading last token time failed"/>
  <int value="11" label="Loading heartbeat intervals failed"/>
  <int value="12" label="Loading Instance ID data failed"/>
  <int value="13" label="Store does not exist"/>
</enum>

<enum name="GCMOutgoingMessageTTLCategory" type="int">
  <int value="0" label="Zero"/>
  <int value="1" label="Less than or equal to 1 minute"/>
  <int value="2" label="Less than or equal to 1 hour"/>
  <int value="3" label="Less than or equal to 1 day"/>
  <int value="4" label="Less than or equal to 1 week"/>
  <int value="5" label="More than 1 week but less than maximum"/>
  <int value="6" label="Default or maximium time"/>
</enum>

<enum name="GcmReceiverStatus" type="int">
  <obsolete>
    Deprecated as of 01/2016. The error has been fixed by GCM. (crbug/580367)
  </obsolete>
  <int value="0" label="SUCCESS"/>
  <int value="1" label="ERROR_SECURITY_EXCEPTION"/>
</enum>

<enum name="GCMRegistrationRequestStatus" type="int">
  <int value="0" label="Success (this is not logged currently)"/>
  <int value="1" label="Invalid parameters"/>
  <int value="2" label="Invalid sender"/>
  <int value="3" label="Authentication failed"/>
  <int value="4" label="Device registration error"/>
  <int value="5" label="Unknown error"/>
  <int value="6" label="URL fetching failed"/>
  <int value="7" label="HTTP not OK"/>
  <int value="8" label="No response body"/>
  <int value="9" label="Reached maximum number of retries"/>
  <int value="10" label="Response parsing failed"/>
  <int value="11" label="Internal server error"/>
  <int value="12" label="Quota exceeded"/>
  <int value="13" label="Device has too many registrations"/>
</enum>

<enum name="GCMResetStoreError" type="int">
  <int value="0" label="Destroying store failed"/>
  <int value="1" label="Infinite store reset"/>
</enum>

<enum name="GCMSendMessageStatus" type="int">
  <int value="0" label="Message queued"/>
  <int value="1" label="Message sent to the server, ACK received"/>
  <int value="2" label="Message not saved, exceeded app queue size"/>
  <int value="3" label="Message not saved, exceeded total queue size"/>
  <int value="4" label="Message too large to send"/>
  <int value="5" label="Message has zero TTL and no open connection"/>
  <int value="6" label="Message TTL exceeded"/>
</enum>

<enum name="GCMUnregistrationRequestStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="URL fetching failed"/>
  <int value="2" label="No response body"/>
  <int value="3" label="Response parsing failed"/>
  <int value="4" label="Incorrect App Id"/>
  <int value="5" label="Invalid parameters"/>
  <int value="6" label="Service unavailable"/>
  <int value="7" label="Internal server error"/>
  <int value="8" label="HTTP response code not OK"/>
  <int value="9" label="Unknown error"/>
  <int value="10" label="Reached maximum number of retries"/>
  <int value="11" label="Device registration error"/>
</enum>

<enum name="GCMUpstreamMessageStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Message size limit exceeded"/>
  <int value="2" label="Access token request failed"/>
  <int value="3" label="Send request failed"/>
</enum>

<enum name="GCReason" type="int">
  <int value="0" label="Idle GC"/>
  <int value="1" label="Precise GC"/>
  <int value="2" label="Conservative GC"/>
  <int value="3" label="Forced GC for testing"/>
  <int value="4" label="Memory pressure GC"/>
  <int value="5" label="Page navigation GC"/>
</enum>

<enum name="GDataAuthResult" type="int">
  <int value="0" label="FAILURE"/>
  <int value="1" label="SUCCESS"/>
  <int value="2" label="NO_CONNECTION"/>
</enum>

<enum name="GDataEntryKind" type="int">
  <obsolete>
    Deprecated 9/2012, and replaced by DriveEntryKind
  </obsolete>
  <int value="0" label="UNKNOWN"/>
  <int value="4097" label="ITEM"/>
  <int value="4098" label="SITE"/>
  <int value="8449" label="DOCUMENT"/>
  <int value="8450" label="SPEREADSHEET"/>
  <int value="8451" label="PRESENTATION"/>
  <int value="8452" label="DRAWING"/>
  <int value="8453" label="TABLE"/>
  <int value="8705" label="EXTERNAL_APP"/>
  <int value="16385" label="FOLDER"/>
  <int value="32769" label="FILE"/>
  <int value="32770" label="PDF"/>
</enum>

<enum name="GeolocationDisclosureResult" type="int">
  <int value="0" label="Ignored"/>
  <int value="1" label="Settings clicked"/>
  <int value="2" label="Dismissed"/>
</enum>

<enum name="GeolocationHeaderPermissionState" type="int">
  <int value="0" label="Location mode unknown"/>
  <int value="1" label="High acc., app allowed, domain allowed, location sent"/>
  <int value="2"
      label="High acc., app allowed, domain allowed, location not sent"/>
  <int value="3" label="High acc., app allowed, domain prompt, location sent"/>
  <int value="4"
      label="High acc., app allowed, domain prompt, location not sent"/>
  <int value="5" label="High acc., app allowed, domain denied"/>
  <int value="6" label="High acc., app prompt, domain allowed"/>
  <int value="7" label="High acc., app prompt, domain prompt"/>
  <int value="8" label="High acc., app prompt, domain denied"/>
  <int value="9" label="High acc., app denied, domain allowed"/>
  <int value="10" label="High acc., app denied, domain prompt"/>
  <int value="11" label="High acc., app denied, domain denied"/>
  <int value="12"
      label="Battery sav., app allowed, domain allowed, location sent"/>
  <int value="13"
      label="Battery sav., app allowed, domain allowed, location not sent"/>
  <int value="14"
      label="Battery sav., app allowed, domain prompt, location sent"/>
  <int value="15"
      label="Battery sav., app allowed, domain prompt, location not sent"/>
  <int value="16" label="Battery sav., app allowed, domain denied"/>
  <int value="17" label="Battery sav., app prompt, domain allowed"/>
  <int value="18" label="Battery sav., app prompt, domain prompt"/>
  <int value="19" label="Battery sav., app prompt, domain denied"/>
  <int value="20" label="Battery sav., app denied, domain allowed"/>
  <int value="21" label="Battery sav., app denied, domain prompt"/>
  <int value="22" label="Battery sav., app denied, domain denied"/>
  <int value="23" label="GPS only, app allowed, domain allowed, location sent"/>
  <int value="24"
      label="GPS only, app allowed, domain allowed, location not sent"/>
  <int value="25" label="GPS only, app allowed, domain prompt, location sent"/>
  <int value="26"
      label="GPS only, app allowed, domain prompt, location not sent"/>
  <int value="27" label="GPS only, app allowed, domain denied"/>
  <int value="28" label="GPS only, app prompt, domain allowed"/>
  <int value="29" label="GPS only, app prompt, domain prompt"/>
  <int value="30" label="GPS only, app prompt, domain denied"/>
  <int value="31" label="GPS only, app denied, domain allowed"/>
  <int value="32" label="GPS only, app denied, domain prompt"/>
  <int value="33" label="GPS only, app denied, domain denied"/>
  <int value="34" label="Location off, app allowed, domain allowed"/>
  <int value="35" label="Location off, app allowed, domain prompt"/>
  <int value="36" label="Location off, app allowed, domain denied"/>
  <int value="37" label="Location off, app prompt, domain allowed"/>
  <int value="38" label="Location off, app prompt, domain prompt"/>
  <int value="39" label="Location off, app prompt, domain denied"/>
  <int value="40" label="Location off, app denied, domain allowed"/>
  <int value="41" label="Location off, app denied, domain prompt"/>
  <int value="42" label="Location off, app denied, domain denied"/>
  <int value="43" label="Unsuitable URL"/>
  <int value="44" label="Not using HTTPS"/>
</enum>

<enum name="GeolocationInfoBarDelegateAndroidEvent" type="int">
  <obsolete>
    Deprecated 9/2014, and replaced by PermissionAction.
  </obsolete>
  <int value="0" label="User allowed the page to use geolocation">
    For the Android platform the count for this event should be exactly the same
    as the corresponding event in the GeolocationInfoBarDelegateEvent enum.
  </int>
  <int value="1" label="User opened geolocation settings"/>
</enum>

<enum name="GeolocationInfoBarDelegateEvent" type="int">
  <obsolete>
    Deprecated 9/2014, and replaced by PermissionAction.
  </obsolete>
  <int value="0" label="The bar was created"/>
  <int value="1" label="User allowed use of geolocation"/>
  <int value="2" label="User denied use of geolocation"/>
  <int value="3" label="User dismissed the bar"/>
  <int value="4" label="User clicked on link"/>
  <int value="5" label="User ignored the bar"/>
</enum>

<enum name="GeolocationSettingsDialogBackOff" type="int">
  <int value="0" label="One week"/>
  <int value="1" label="One month"/>
  <int value="2" label="Three months"/>
</enum>

<enum name="GeopositionErrorCode" type="int">
  <int value="0" label="There was no error"/>
  <int value="1" label="User denied use of geolocation"/>
  <int value="2" label="Geoposition could not be determined"/>
  <int value="3" label="Timeout"/>
</enum>

<enum name="GestureActionType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Omnibox pinch"/>
  <int value="2" label="Omnibox scroll"/>
  <int value="3" label="Tabstrip pinch"/>
  <int value="4" label="Tabstrip scroll"/>
  <int value="5" label="Bezel scroll"/>
  <int value="6" label="Desktop scroll"/>
  <int value="7" label="Desktop pinch"/>
  <int value="8" label="Webpage pinch"/>
  <int value="9" label="Webpage scroll"/>
  <int value="10" label="Webpage tap"/>
  <int value="11" label="Tabstrip tap"/>
  <int value="12" label="Bezel down"/>
  <int value="13" label="Tab switched tap"/>
  <int value="14" label="Active tab tap"/>
  <int value="15" label="Tab close button tap"/>
  <int value="16" label="New tab button tap"/>
  <int value="17" label="Top edge of window tap"/>
  <int value="18" label="Window size button tap"/>
  <int value="19" label="Area surrounding tabstrip tap"/>
  <int value="20" label="Window resized double tap"/>
</enum>

<enum name="GestureMergeState" type="int">
  <int value="0" label="Neither token had a gesture"/>
  <int value="1" label="Only the old token had a gesture"/>
  <int value="2" label="Only the new token had a gesture"/>
  <int value="3" label="Both tokens had a gesture"/>
</enum>

<enum name="GesturePredictionResult" type="int">
  <int value="0" label="Gesture occured and was predicted"/>
  <int value="1" label="Gesture occured but was not predicted"/>
  <int value="2" label="Gesture predicted but didn't occur"/>
</enum>

<enum name="GetOutputDeviceInfoCacheHit" type="int">
  <int value="0" label="Miss: no cached sink found">
    Output parmeters for a device are requested, and there is no corresponding
    sink cached; new sink is created and cached.
  </int>
  <int value="1" label="Miss: cannot lookup by session id">
    If session id is used to specify a device, we always have to create and
    cache a new sink.
  </int>
  <int value="2" label="Hit">
    Output parmeters for a device are requested, and there is a corresponding
    sink cached.
  </int>
</enum>

<enum name="GetPerfDataOutcome" type="int">
  <int value="0" label="Success.">
    Perf data was collected, parsed and attached to the UMA protobuf
    successfully.
  </int>
  <int value="1" label="No perf data ready to be uploaded.">
    Could not add perf data to the UMA protobuf because no perf data was ready
    to be uploaded.
  </int>
  <int value="2" label="Collection timer triggered but have data already.">
    Perf timer triggered but the perf provider already had a perf data proto to
    be added to the UMA protobuf.
  </int>
  <int value="3"
      label="Collection timer triggered but incognito window active.">
    Perf timer triggered but an incognito window was open.
  </int>
  <int value="4" label="Incognito window launched during collection.">
    Perf data was collected but an incognito window was opened during the
    collection.
  </int>
  <int value="5" label="Protobuf returned by debugd not deserialized.">
    Perf data was collected and sent to Chrome as a serialized protobuf but it
    could not be deserialized by Chrome.
  </int>
  <int value="6" label="Illegal data returned by debugd.">
    The perf data sent back to Chrome by debugd is invalid.
  </int>
  <int value="7" label="Already collecting.">
    A perf data collection was already active.
  </int>
</enum>

<enum name="GetUserDataTempDirResult" type="int">
  <int value="0" label="SUCCESS"/>
  <int value="1" label="CANT_GET_PARENT_PATH"/>
  <int value="2" label="CANT_GET_UDT_PATH"/>
  <int value="3" label="NOT_A_DIRECTORY"/>
  <int value="4" label="CANT_CREATE_DIR"/>
  <int value="5" label="CANT_WRITE_TO_PATH"/>
  <int value="6" label="UNSET"/>
</enum>

<enum name="GLError" type="int">
  <int value="0" label="0x0000 - GL_NO_ERROR"/>
  <int value="1280" label="0x0500 - GL_INVALID_ENUM"/>
  <int value="1281" label="0x0501 - GL_INVALID_VALUE"/>
  <int value="1282" label="0x0502 - GL_INVALID_OPERATION"/>
  <int value="1285" label="0x0505 - GL_OUT_OF_MEMORY"/>
  <int value="1286" label="0x0506 - GL_INVALID_FRAMEBUFFER_OPERATION"/>
</enum>

<enum name="GoogleCaptchaEvent" type="int">
  <int value="0" label="Google CAPTCHA shown"/>
  <int value="1" label="Google CAPTCHA solved"/>
</enum>

<enum name="GoogleNowCardTypeId" type="int">
  <summary>
    Represents a card type ID. See cardTypeId in
    chrome/browser/resources/google_now/background.js.
  </summary>
  <int value="1" label="Frequent Place"/>
  <int value="7" label="Weather"/>
  <int value="12" label="Flight Status"/>
  <int value="13" label="Sport Score"/>
  <int value="14" label="Calendar"/>
  <int value="19" label="Public Alert"/>
  <int value="21" label="Stock Quote List"/>
  <int value="23" label="Package Tracking"/>
  <int value="27" label="Birthday"/>
  <int value="43" label="Reminder"/>
</enum>

<enum name="GoogleNowEvent" type="int">
  <summary>
    Events in Google Now component extension. See GoogleNowEvent in
    chrome/browser/resources/google_now/background.js.
  </summary>
  <int value="0" label="REQUEST_FOR_CARDS_TOTAL"/>
  <int value="1" label="REQUEST_FOR_CARDS_SUCCESS"/>
  <int value="2" label="CARDS_PARSE_SUCCESS"/>
  <int value="3" label="DISMISS_REQUEST_TOTAL"/>
  <int value="4" label="DISMISS_REQUEST_SUCCESS"/>
  <int value="5" label="LOCATION_REQUEST"/>
  <int value="6" label="DELETED_LOCATION_UPDATE"/>
  <int value="7" label="EXTENSION_START"/>
  <int value="8" label="DELETED_SHOW_WELCOME_TOAST"/>
  <int value="9" label="STOPPED"/>
  <int value="10" label="DELETED_USER_SUPPRESSED"/>
  <int value="11" label="SIGNED_OUT"/>
  <int value="12" label="NOTIFICATION_DISABLED"/>
  <int value="13" label="GOOGLE_NOW_DISABLED"/>
</enum>

<enum name="GooglePlayServicesConnectionResult" type="int">
  <summary>
    Results of attempting a connection to Google Play Services. See Javadoc for
    com.google.android.gms.common.ConnectionResult at
    http://developer.android.com/reference for more information.
  </summary>
  <int value="0" label="SUCCESS"/>
  <int value="1" label="SERVICE_MISSING"/>
  <int value="2" label="SERVICE_VERSION_UPDATE_REQUIRED"/>
  <int value="3" label="SERVICE_DISABLED"/>
  <int value="4" label="SIGN_IN_REQUIRED"/>
  <int value="5" label="INVALID_ACCOUNT"/>
  <int value="6" label="RESOLUTION_REQUIRED"/>
  <int value="7" label="NETWORK_ERROR"/>
  <int value="8" label="INTERNAL_ERROR"/>
  <int value="9" label="SERVICE_INVALID"/>
  <int value="10" label="DEVELOPER_ERROR"/>
  <int value="11" label="LICENSE_CHECK_FAILED"/>
  <int value="12" label="DATE_INVALID"/>
  <int value="13" label="CANCELED"/>
  <int value="14" label="TIMEOUT"/>
  <int value="15" label="INTERRUPTED"/>
  <int value="16" label="API_UNAVAILABLE"/>
  <int value="17" label="SIGN_IN_FAILED"/>
  <int value="18" label="SERVICE_UPDATING"/>
  <int value="1500" label="DRIVE_EXTERNAL_STORAGE_REQUIRED"/>
</enum>

<enum name="GooglePlayServicesErrorHandlerAction" type="int">
  <summary>
    Types of action taken in response to Google Play Services user-recoverable
    errors. See subclasses of UserRecoverableErrorHandler in
    org.chromium.chrome.browser.externalauth.ExternalAuthUtils for more
    information.
  </summary>
  <int value="0" label="SILENT"/>
  <int value="1" label="SYSTEM_NOTIFICATION"/>
  <int value="2" label="MODAL_DIALOG"/>
  <int value="3" label="IGNORED_AS_REDUNDANT"/>
</enum>

<enum name="GoogleServiceAuthError" type="int">
  <int value="0" label="NONE"/>
  <int value="1" label="INVALID_GAIA_CREDENTIALS"/>
  <int value="2" label="USER_NOT_SIGNED_UP"/>
  <int value="3" label="CONNECTION_FAILED"/>
  <int value="4" label="CAPTCHA_REQUIRED"/>
  <int value="5" label="ACCOUNT_DELETED"/>
  <int value="6" label="ACCOUNT_DISABLED"/>
  <int value="7" label="SERVICE_UNAVAILABLE"/>
  <int value="8" label="TWO_FACTOR"/>
  <int value="9" label="REQUEST_CANCELED"/>
  <int value="10" label="HOSTED_NOT_ALLOWED (deprecated)"/>
  <int value="11" label="UNEXPECTED_SERVICE_RESPONSE"/>
  <int value="12" label="SERVICE_ERROR"/>
  <int value="13" label="WEB_LOGIN_REQUIRED"/>
</enum>

<enum name="GoogleUpdateAfterItemClickedActions" type="int">
  <int value="0" label="Updated"/>
  <int value="1" label="Not updated"/>
</enum>

<enum name="GoogleUpdateErrorCode" type="int">
  <int value="0" label="GOOGLE_UPDATE_NO_ERROR"/>
  <int value="1" label="CANNOT_UPGRADE_CHROME_IN_THIS_DIRECTORY"/>
  <int value="2" label="GOOGLE_UPDATE_JOB_SERVER_CREATION_FAILED"/>
  <int value="3" label="GOOGLE_UPDATE_ONDEMAND_CLASS_NOT_FOUND"/>
  <int value="4" label="GOOGLE_UPDATE_ONDEMAND_CLASS_REPORTED_ERROR"/>
  <int value="5" label="GOOGLE_UPDATE_GET_RESULT_CALL_FAILED"/>
  <int value="6" label="GOOGLE_UPDATE_GET_VERSION_INFO_FAILED"/>
  <int value="7" label="GOOGLE_UPDATE_ERROR_UPDATING"/>
  <int value="8" label="GOOGLE_UPDATE_DISABLED_BY_POLICY"/>
  <int value="9" label="GOOGLE_UPDATE_DISABLED_BY_POLICY_AUTO_ONLY"/>
</enum>

<enum name="GoogleUpdateInfoBarActions" type="int">
  <int value="0" label="Clicked close"/>
  <int value="1" label="Clicked to update appears successful"/>
  <int value="2" label="Clicked to update but failed"/>
  <int value="3" label="InfoBar dismissed implicitly (no interaction)"/>
</enum>

<enum name="GoogleUpdateMenuItemActions" type="int">
  <int value="0" label="Not clicked"/>
  <int value="1" label="Clicked, intent launched"/>
  <int value="2" label="Clicked, intent failed"/>
</enum>

<enum name="GoogleUpdateUpgradeStatus" type="int">
  <int value="0" label="UPGRADE_STARTED"/>
  <int value="1" label="UPGRADE_CHECK_STARTED"/>
  <int value="2" label="UPGRADE_IS_AVAILABLE"/>
  <int value="3" label="UPGRADE_SUCCESSFUL"/>
  <int value="4" label="UPGRADE_ALREADY_UP_TO_DATE"/>
  <int value="5" label="UPGRADE_ERROR"/>
</enum>

<enum name="GpuImageDecodeState" type="int">
  <int value="0" label="Wasted, once"/>
  <int value="1" label="Used, once"/>
  <int value="2" label="Wasted, relocked"/>
  <int value="3" label="Used, relocked"/>
</enum>

<enum name="GPUProcessExitCode" type="int">
  <summary>
    The exit code returned by the GPU process when it terminated. These match
    the enumeration in result_codes.h.
  </summary>
  <int value="0" label="Normal"/>
  <int value="1" label="Killed"/>
  <int value="2" label="Hung"/>
  <int value="3" label="KilledBadMessage"/>
  <int value="4" label="DeadOnArrival"/>
</enum>

<enum name="GPUProcessLaunchCauses" type="int">
  <summary>
    Causes for the GPU Process to be launched. From:
    content/common/gpu/gpu_process_launch_causes.h
  </summary>
  <int value="0" label="about:gpucrash">
    CAUSE_FOR_GPU_LAUNCH_ABOUT_GPUCRASH
  </int>
  <int value="1" label="about:gpuhang">CAUSE_FOR_GPU_LAUNCH_ABOUT_GPUHANG</int>
  <int value="2" label="GpuDataManager RequestCompleteGpuInfoIfNeeded">
    CAUSE_FOR_GPU_LAUNCH_GPUDATAMANAGER_REQUESTCOMPLETEGPUINFOIFNEEDED
  </int>
  <int value="3" label="RenderWidgetFullScreenPepper CreateContext">
    CAUSE_FOR_GPU_LAUNCH_RENDERWIDGETFULLSCREENPEPPER_CREATECONTEXT
  </int>
  <int value="4" label="WebGraphicsContext3DCommandBufferImpl Initialize">
    CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE
  </int>
  <int value="5" label="NoLaunch">CAUSE_FOR_GPU_LAUNCH_NO_LAUNCH</int>
  <int value="6" label="VideoDecodeAccelerator Initialize">
    CAUSE_FOR_GPU_LAUNCH_VIDEODECODEACCELERATOR_INITIALIZE
  </int>
  <int value="7" label="Pepper PlatformContext3DImpl Initialize">
    CAUSE_FOR_GPU_LAUNCH_PEPPERPLATFORMCONTEXT3DIMPL_INITIALIZE
  </int>
  <int value="8" label="Browser Startup">
    CAUSE_FOR_GPU_LAUNCH_BROWSER_STARTUP
  </int>
  <int value="9" label="Canvas 2D">CAUSE_FOR_GPU_LAUNCH_CANVAS_2D</int>
  <int value="10" label="Pepper VideoEncodeAccelerator Initialize">
    CAUSE_FOR_GPU_LAUNCH_PEPPERVIDEOENCODERACCELERATOR_INITIALIZE
  </int>
  <int value="11" label="GpuMemoryBuffer allocate">
    CAUSE_FOR_GPU_LAUNCH_GPU_MEMORY_BUFFER_ALLOCATE
  </int>
  <int value="12" label="JpegDecodeAccelerator Initialize">
    CAUSE_FOR_GPU_LAUNCH_JPEGDECODEACCELERATOR_INITIALIZE
  </int>
  <int value="13" label="Mojo Setup">CAUSE_FOR_GPU_LAUNCH_MOJO_SETUP</int>
  <int value="14" label="Get Gpu Service Registry">
    CAUSE_FOR_GPU_LAUNCH_GET_GPU_SERVICE_REGISTRY
  </int>
  <int value="15" label="Browser shared main thread context">
    CAUSE_FOR_GPU_LAUNCH_BROWSER_SHARED_MAIN_THREAD_CONTEXT
  </int>
  <int value="16" label="Renderer shared main thread context">
    CAUSE_FOR_GPU_LAUNCH_RENDERER_SHARED_MAIN_THREAD_CONTEXT
  </int>
  <int value="17" label="WebGL context">CAUSE_FOR_GPU_LAUNCH_WEBGL_CONTEXT</int>
  <int value="18" label="Shared worker thread context">
    CAUSE_FOR_GPU_LAUNCH_SHARED_WORKER_THREAD_CONTEXT
  </int>
  <int value="19" label="Renderer verify GPU compositing">
    CAUSE_FOR_GPU_LAUNCH_RENDERER_VERIFY_GPU_COMPOSITING
  </int>
  <int value="20" label="Display compositor context">
    CAUSE_FOR_GPU_LAUNCH_DISPLAY_COMPOSITOR_CONTEXT
  </int>
  <int value="21" label="Media worker context">
    CAUSE_FOR_GPU_LAUNCH_MEDIA_CONTEXT
  </int>
</enum>

<enum name="GsaAccountChangeNotificationSource" type="int">
  <int value="0" label="Service"/>
  <int value="1" label="Broadcast"/>
</enum>

<enum name="GzipEncodingFixupResult" type="int">
  <int value="0" label="Gzip encoding left as-is"/>
  <int value="1" label="MIME type indicated GZIP content"/>
  <int value="2" label="Explicit download with GZIP filename extension"/>
  <int value="3" label="Unhandled MIME type with a GZIP filename extension"/>
</enum>

<enum name="HadFormInteraction" type="int">
  <int value="0" label="No form interaction"/>
  <int value="1" label="Observed form interaction"/>
</enum>

<enum name="HandleStateType" type="int">
  <int value="0" label="Launch"/>
  <int value="1" label="Checked launch"/>
  <int value="2" label="Dont launch"/>
  <int value="3" label="Checked dont launch"/>
</enum>

<enum name="HIDContinueScenarioType" type="int">
  <summary>Possible detected devices combination on leaving dialog</summary>
  <int value="0" label="Pointing device only detected."/>
  <int value="1" label="Keyboard device only detected."/>
  <int value="2" label="Both devices, pointing and keyboard, detected."/>
</enum>

<enum name="HistogramActivityReport" type="int">
  <int value="0" label="Reports created"/>
  <int value="1" label="Histograms created"/>
  <int value="2" label="Histograms found by look-up"/>
  <int value="3" label="Logarithmic histograms created"/>
  <int value="4" label="Linear histograms created"/>
  <int value="5" label="Boolean histograms created"/>
  <int value="6" label="Custom histograms created"/>
  <int value="7" label="Sparse histograms created"/>
  <int value="8" label="UMA-targeted histograms created"/>
  <int value="9" label="UMA-stability histograms created"/>
  <int value="10" label="Persistent histograms created"/>
</enum>

<enum name="HistoryFaviconsRecoveryEnum" type="int">
  <summary>Error states noted in thumbnail_database.cc recovery code.</summary>
  <obsolete>
    History.FaviconsRecovery no longer tracked as of March 2017.
  </obsolete>
  <int value="0" label="RECOVERY_EVENT_RECOVERED">Successful recovery.</int>
  <int value="1" label="RECOVERY_EVENT_FAILED_SCOPER">
    sql::Recovery failed init.
  </int>
  <int value="2" label="RECOVERY_EVENT_FAILED_META_VERSION_ERROR">
    Query failed against recovery meta table.
  </int>
  <int value="3" label="RECOVERY_EVENT_FAILED_META_VERSION_NONE">
    No version row in recovery meta table.
  </int>
  <int value="4" label="RECOVERY_EVENT_FAILED_META_WRONG_VERSION6">
    Recovery meta table has version 6.
  </int>
  <int value="5" label="RECOVERY_EVENT_FAILED_META_WRONG_VERSION5">
    Recovery meta table has version 5.
  </int>
  <int value="6" label="RECOVERY_EVENT_FAILED_META_WRONG_VERSION">
    Recovery meta table has an unexpected version.
  </int>
  <int value="7" label="RECOVERY_EVENT_FAILED_RECOVER_META">
    Failed to create recovery meta table.
  </int>
  <int value="8" label="RECOVERY_EVENT_FAILED_META_INSERT">
    Failed to copy recovery meta table.
  </int>
  <int value="9" label="RECOVERY_EVENT_FAILED_INIT">
    Failed to init target schema.
  </int>
  <int value="10" label="RECOVERY_EVENT_FAILED_RECOVER_FAVICONS">
    Failed to create recovery favicons table.
  </int>
  <int value="11" label="RECOVERY_EVENT_FAILED_FAVICONS_INSERT">
    Failed to copy recovery favicons table.
  </int>
  <int value="12" label="RECOVERY_EVENT_FAILED_RECOVER_FAVICON_BITMAPS">
    Failed to create recovery favicon_bitmaps table.
  </int>
  <int value="13" label="RECOVERY_EVENT_FAILED_FAVICON_BITMAPS_INSERT">
    Failed to copy recovery favicon_bitmaps table.
  </int>
  <int value="14" label="RECOVERY_EVENT_FAILED_RECOVER_ICON_MAPPING">
    Failed to create recovery icon_mapping table.
  </int>
  <int value="15" label="RECOVERY_EVENT_FAILED_ICON_MAPPING_INSERT">
    Failed to copy recovery icon_mapping table.
  </int>
  <int value="16" label="RECOVERY_EVENT_RECOVERED_VERSION6">
    Successful recovery of version 6 database.
  </int>
  <int value="17" label="RECOVERY_EVENT_FAILED_META_INIT">
    Failed sql::MetaTable::Init().
  </int>
  <int value="18" label="RECOVERY_EVENT_FAILED_META_VERSION">
    Failed sql::Recovery::SetupMeta() or GetMetaVersionNumber().
  </int>
  <int value="19" label="RECOVERY_EVENT_DEPRECATED">
    Recovery found deprecated version and razed.
  </int>
  <int value="20" label="RECOVERY_EVENT_FAILED_V5_INITSCHEMA">
    Failed v5 recovery loading schema.
  </int>
  <int value="21" label="RECOVERY_EVENT_FAILED_V5_AUTORECOVER_FAVICONS">
    Failed v5 recovery on favicons.
  </int>
  <int value="22" label="RECOVERY_EVENT_FAILED_V5_AUTORECOVER_ICON_MAPPING">
    Failed v5 recovery on icon_mapping.
  </int>
  <int value="23" label="RECOVERY_EVENT_RECOVERED_VERSION5">
    Successful recovery of version 6 database.
  </int>
  <int value="24" label="RECOVERY_EVENT_FAILED_AUTORECOVER_FAVICONS">
    Failed v6/7 recovery on favicons.
  </int>
  <int value="25" label="RECOVERY_EVENT_FAILED_AUTORECOVER_FAVICON_BITMAPS">
    Failed v6/7 recovery on favicon_bitmaps.
  </int>
  <int value="26" label="RECOVERY_EVENT_FAILED_AUTORECOVER_ICON_MAPPING">
    Failed v6/7 recovery on icon_mapping.
  </int>
  <int value="27" label="RECOVERY_EVENT_FAILED_COMMIT">
    Failed sql::Recovery::Recovered().
  </int>
</enum>

<enum name="HistoryPageView" type="int">
  <int value="0" label="History"/>
  <int value="1" label="Grouped Week (Obsolete Feb. 2017)"/>
  <int value="2" label="Grouped Month (Obsolete Feb. 2017)"/>
  <int value="3" label="Synced Tabs"/>
  <int value="4" label="Signin Promo"/>
</enum>

<enum name="HistoryTopSitesRecoveryEnum" type="int">
  <summary>Error states noted in top_sites_database.cc recovery code.</summary>
  <int value="0" label="RECOVERY_EVENT_RECOVERED">Successful recovery.</int>
  <int value="1" label="RECOVERY_EVENT_DEPRECATED">
    Recovery found deprecated version and razed.
  </int>
  <int value="2" label="RECOVERY_EVENT_FAILED_SCOPER (obsolete Mar 2017)">
    sql::Recovery failed init.
  </int>
  <int value="3" label="RECOVERY_EVENT_FAILED_META_VERSION">
    Failed sql::Recovery::SetupMeta() or GetMetaVersionNumber().
  </int>
  <int value="4" label="RECOVERY_EVENT_FAILED_META_WRONG_VERSION">
    Recovery meta table has an unexpected version.
  </int>
  <int value="5" label="RECOVERY_EVENT_FAILED_META_INIT (obsolete Mar 2017)">
    Failed sql::MetaTable::Init().
  </int>
  <int value="6" label="RECOVERY_EVENT_FAILED_SCHEMA_INIT (obsolete Mar 2017)">
    Failed to init target schema.
  </int>
  <int value="7"
      label="RECOVERY_EVENT_FAILED_AUTORECOVER_THUMBNAILS (obsolete Mar 2017)">
    Failed recovery on thumbnails table.
  </int>
  <int value="8" label="RECOVERY_EVENT_FAILED_COMMIT">
    Failure from sql::Recovery::Recovered().
  </int>
  <int value="9" label="RECOVERY_EVENT_INVARIANT_RANK">
    Rows were deleted because |url_rank| and |last_forced| didn't agree.  Does
    not prevent recovery.
  </int>
  <int value="10" label="RECOVERY_EVENT_INVARIANT_REDIRECT">
    Rows were deleted because |redirects| did not contain |url|.  Does not
    prevent recovery.
  </int>
  <int value="11" label="RECOVERY_EVENT_INVARIANT_CONTIGUOUS">
    |url_rank| was renumbered due to missing rows.  Does not prevent recovery.
  </int>
</enum>

<enum name="HotwordAvailability" type="int">
  <int value="0" label="Unavailable -- reason may be unknown"/>
  <int value="1" label="Available"/>
  <int value="2" label="Pending download"/>
  <int value="3" label="Disabled"/>
</enum>

<enum name="HotwordError" type="int">
  <int value="0" label="No error"/>
  <int value="1" label="Generic error"/>
  <int value="2" label="NaCl error"/>
  <int value="3" label="Microphone error"/>
</enum>

<enum name="HotwordMediaStreamResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Unknown error"/>
  <int value="2" label="NotSupportedError"/>
  <int value="3" label="PermissionDeniedError"/>
  <int value="4" label="ConstraintNotSatisfiedError"/>
  <int value="5" label="OverconstrainedError"/>
  <int value="6" label="NotFoundError"/>
  <int value="7" label="AbortError"/>
  <int value="8" label="SourceUnavailableError"/>
  <int value="9" label="PermissionDismissedError"/>
  <int value="10" label="InvalidStateError"/>
  <int value="11" label="DevicesNotFoundError"/>
  <int value="12" label="InvalidSecurityOriginError"/>
</enum>

<enum name="HotwordNaClMessageTimeout" type="int">
  <int value="0" label="REQUEST_MODEL"/>
  <int value="1" label="MODEL_LOADED"/>
  <int value="2" label="READY_FOR_AUDIO"/>
  <int value="3" label="STOPPED"/>
  <int value="4" label="HOTWORD_DETECTED"/>
  <int value="5" label="MS_CONFIGURED"/>
</enum>

<enum name="HotwordNaClPluginLoadResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Unknown error"/>
  <int value="2" label="Module crash"/>
  <int value="3" label="Module not found"/>
</enum>

<enum name="HotwordPrefState" type="int">
  <int value="0" label="Preference not set"/>
  <int value="1" label="'Classic' hotwording enabled"/>
  <int value="2" label="Hotwording disabled"/>
  <int value="3" label="Always-on hotwording enabled"/>
</enum>

<enum name="HotwordTriggerSource" type="int">
  <int value="0" label="Launcher (except when always-on is enabled)"/>
  <int value="1" label="NTP or google.com"/>
  <int value="2" label="Always-On"/>
  <int value="3" label="Training Mode"/>
</enum>

<enum name="Hresult" type="int">
  <int value="-2147467263" label="E_NOTIMPL"/>
  <int value="-2147467262" label="E_NOINTERFACE"/>
  <int value="-2147467261" label="E_POINTER"/>
  <int value="-2147467260" label="E_ABORT"/>
  <int value="-2147467259" label="E_FAIL"/>
  <int value="-2147418113" label="E_UNEXPECTED"/>
  <int value="-2147417848" label="RPC_E_DISCONNECTED"/>
  <int value="-2147221164" label="REGDB_E_CLASSNOTREG"/>
  <int value="-2147219455" label="GOOPDATE_E_NO_NETWORK"/>
  <int value="-2147219437" label="GOOPDATE_E_APP_UPDATE_DISABLED_BY_POLICY"/>
  <int value="-2147219198" label="GOOPDATEINSTALL_E_INSTALLER_FAILED"/>
  <int value="-2147024894" label="ERROR_FILE_NOT_FOUND"/>
  <int value="-2147024893" label="ERROR_PATH_NOT_FOUND"/>
  <int value="-2147024891" label="E_ACCESSDENIED"/>
  <int value="-2147024890" label="E_HANDLE"/>
  <int value="-2147024882" label="E_OUTOFMEMORY"/>
  <int value="-2147024809" label="E_INVALIDARG"/>
  <int value="-2147024703" label="ERROR_BAD_EXE_FORMAT"/>
  <int value="-2147024110" label="ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY"/>
  <int value="-2147023838" label="ERROR_SERVICE_DISABLED"/>
  <int value="-2147023673" label="ERROR_CANCELLED"/>
  <int value="-2147023504" label="ERROR_FILE_CORRUPT"/>
  <int value="-2147023436" label="ERROR_TIMEOUT"/>
  <int value="-2147023179" label="RPC_S_UNKNOWN_IF"/>
  <int value="-2147023174" label="RPC_S_SERVER_UNAVAILABLE"/>
  <int value="-2147012894" label="WININET_E_TIMEOUT"/>
  <int value="-2147012889" label="WININET_E_NAME_NOT_RESOLVED"/>
  <int value="-2147012867" label="WININET_E_CANNOT_CONNECT"/>
  <int value="-2147012866" label="WININET_E_CONNECTION_ABORTED"/>
  <int value="-2147009295" label="ERROR_INSTALL_PACKAGE_NOT_FOUND"/>
  <int value="-2146959355" label="CO_E_SERVER_EXEC_FAILURE"/>
  <int value="-2005270527" label="DXGI_ERROR_INVALID_CALL"/>
  <int value="-2005270526" label="DXGI_ERROR_NOT_FOUND"/>
  <int value="-2005270525" label="DXGI_ERROR_MORE_DATA"/>
  <int value="-2005270524" label="DXGI_ERROR_UNSUPPORTED"/>
  <int value="-2005270523" label="DXGI_ERROR_DEVICE_REMOVED"/>
  <int value="-2005270522" label="DXGI_ERROR_DEVICE_HUNG"/>
  <int value="-2005270521" label="DXGI_ERROR_DEVICE_RESET"/>
  <int value="-2005270518" label="DXGI_ERROR_WAS_STILL_DRAWING"/>
  <int value="-2005270517" label="DXGI_ERROR_FRAME_STATISTICS_DISJOINT"/>
  <int value="-2005270516" label="DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE"/>
  <int value="-2005270496" label="DXGI_ERROR_DRIVER_INTERNAL_ERROR"/>
  <int value="-2005270495" label="DXGI_ERROR_NONEXCLUSIVE"/>
  <int value="-2005270494" label="DXGI_ERROR_NOT_CURRENTLY_AVAILABLE"/>
  <int value="-2005270493" label="DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED"/>
  <int value="-2005270492" label="DXGI_ERROR_REMOTE_OUTOFMEMORY"/>
  <int value="-2005270490" label="DXGI_ERROR_ACCESS_LOST"/>
  <int value="-2005270489" label="DXGI_ERROR_WAIT_TIMEOUT"/>
  <int value="-2005270488" label="DXGI_ERROR_SESSION_DISCONNECTED"/>
  <int value="-2005270487" label="DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE"/>
  <int value="-2005270486" label="DXGI_ERROR_CANNOT_PROTECT_CONTENT"/>
  <int value="-2005270485" label="DXGI_ERROR_ACCESS_DENIED"/>
  <int value="-2005270484" label="DXGI_ERROR_NAME_ALREADY_EXISTS"/>
  <int value="-2005270483" label="DXGI_ERROR_SDK_COMPONENT_MISSING"/>
  <int value="-2004287480" label="AUDCLNT_E_UNSUPPORTED_FORMAT"/>
  <int value="-2004287478" label="AUDCLNT_E_DEVICE_IN_USE"/>
  <int value="-2004287465" label="AUDCLNT_E_CPUUSAGE_EXCEEDED"/>
  <int value="-1606219753" label="GOOPDATE_E_NON_BLOCKING_CALL_PENDING"/>
  <int value="-1606219747" label="GOOPDATE_E_APP_USING_EXTERNAL_UPDATER"/>
</enum>

<enum name="HttpAuthCount" type="int">
  <int value="0" label="Basic Start"/>
  <int value="1" label="Basic Reject"/>
  <int value="2" label="Digest Start"/>
  <int value="3" label="Digest Reject"/>
  <int value="4" label="NTLM Start"/>
  <int value="5" label="NTLM Reject"/>
  <int value="6" label="Negotiate Start"/>
  <int value="7" label="Negotiate Reject"/>
</enum>

<enum name="HttpAuthPromptType" type="int">
  <int value="0" label="Main frame with interstitial">
    Auth prompt displayed over a blank interstitial
  </int>
  <int value="1" label="Main frame without interstitial">
    Auth prompt displayed for the main frame, without a blank interstitial
  </int>
  <int value="2" label="Same origin subresource">
    Auth prompt displayed for a subresource from the same origin
  </int>
  <int value="3" label="Cross origin subresource">
    Auth prompt displayed for a subresource from a different origin
  </int>
</enum>

<enum name="HttpAuthResource" type="int">
  <int value="0" label="Top Page Allowed"/>
  <int value="1" label="Same-domain Sub-resource Allowed"/>
  <int value="2" label="Cross-domain Sub-resource Blocked"/>
  <int value="3" label="Cross-domain Sub-resource Allowed"/>
</enum>

<enum name="HttpAuthTarget" type="int">
  <int value="0" label="Basic Proxy"/>
  <int value="1" label="Basic Secure Proxy"/>
  <int value="2" label="Basic Server"/>
  <int value="3" label="Basic Secure Server"/>
  <int value="4" label="Digest Proxy"/>
  <int value="5" label="Digest Secure Proxy"/>
  <int value="6" label="Digest Server"/>
  <int value="7" label="Digest Secure Server"/>
  <int value="8" label="NTLM Proxy"/>
  <int value="9" label="NTLM Secure Proxy"/>
  <int value="10" label="NTLM Server"/>
  <int value="11" label="NTLM Secure Server"/>
  <int value="12" label="Negotiate Proxy"/>
  <int value="13" label="Negotiate Secure Proxy"/>
  <int value="14" label="Negotiate Server"/>
  <int value="15" label="Negotiate Secure Server"/>
</enum>

<enum name="HttpCachePattern" type="int">
  <int value="0" label="Undefined"/>
  <int value="1" label="Not Covered"/>
  <int value="2" label="Not Cached"/>
  <int value="3" label="Used"/>
  <int value="4" label="Validated"/>
  <int value="5" label="Updated"/>
  <int value="6" label="CantConditionalize"/>
</enum>

<enum name="HttpCacheValidationCause" type="int">
  <int value="0" label="Undefined"/>
  <int value="1" label="Vary Mismatch"/>
  <int value="2" label="Validate Flag"/>
  <int value="3" label="Stale Resource"/>
  <int value="4" label="Zero Freshness"/>
</enum>

<enum name="HttpHeaderParserEvent" type="int">
  <int value="0" label="PARSER_INVOKED"/>
  <int value="1" label="HTTP_09_RESPONSE"/>
  <int value="2" label="ALLOWED_TRUNCATED_HEADERS"/>
  <int value="3" label="SKIPPED_WS_PREFIX"/>
  <int value="4" label="SKIPPED_NON_WS_PREFIX"/>
  <int value="5" label="HTTP_09_RESPONSE_OVER_HTTP"/>
  <int value="6" label="HTTP_09_RESPONSE_OVER_SSL"/>
  <int value="7" label="HEADER_HTTP_09_ON_REUSED_SOCKET"/>
</enum>

<enum name="HttpPasswordMigrationMode" type="int">
  <int value="0" label="Moved">
    HTTP credentials were moved during migration to HTTPS
  </int>
  <int value="1" label="Copied">
    HTTP credentials were copied during migration to HTTPS
  </int>
</enum>

<enum name="HttpPipelineStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Redirected"/>
  <int value="2" label="Certificate error"/>
  <int value="3" label="Bad HTTP response code"/>
  <int value="4" label="Network error"/>
  <int value="5" label="Response too large"/>
  <int value="6" label="Response too small"/>
  <int value="7" label="Response content mismatch"/>
  <int value="8" label="Bad HTTP version"/>
  <int value="9" label="Corrupt stats response"/>
</enum>

<enum name="HttpResponseCode" type="int">
  <int value="100" label="100: Continue"/>
  <int value="101" label="101: Switching Protocols"/>
  <int value="200" label="200: OK"/>
  <int value="201" label="201: Created"/>
  <int value="202" label="202: Accepted"/>
  <int value="203" label="203: Non-Authoritative Information"/>
  <int value="204" label="204: No Content"/>
  <int value="205" label="205: Reset Content"/>
  <int value="206" label="206: Partial Content"/>
  <int value="300" label="300: Multiple Choices"/>
  <int value="301" label="301: Moved Permanently"/>
  <int value="302" label="302: Found"/>
  <int value="303" label="303: See Other"/>
  <int value="304" label="304: Not Modified"/>
  <int value="305" label="305: Use Proxy"/>
  <int value="306" label="306: (Unused)"/>
  <int value="307" label="307: Temporary Redirect"/>
  <int value="400" label="400: Bad Request"/>
  <int value="401" label="401: Unauthorized"/>
  <int value="402" label="402: Payment Required"/>
  <int value="403" label="403: Forbidden"/>
  <int value="404" label="404: Not Found"/>
  <int value="405" label="405: Method Not Allowed"/>
  <int value="406" label="406: Not Acceptable"/>
  <int value="407" label="407: Proxy Authentication Required"/>
  <int value="408" label="408: Request Timeout"/>
  <int value="409" label="409: Conflict"/>
  <int value="410" label="410: Gone"/>
  <int value="411" label="411: Length Required"/>
  <int value="412" label="412: Precondition Failed"/>
  <int value="413" label="413: Request Entity Too Large"/>
  <int value="414" label="414: Request-URI Too Long"/>
  <int value="415" label="415: Unsupported Media Type"/>
  <int value="416" label="416: Requested Range Not Satisfiable"/>
  <int value="417" label="417: Expectation Failed"/>
  <int value="500" label="500: Internal Server Error"/>
  <int value="501" label="501: Not Implemented"/>
  <int value="502" label="502: Bad Gateway"/>
  <int value="503" label="503: Service Unavailable"/>
  <int value="504" label="504: Gateway Timeout"/>
  <int value="505" label="505: HTTP Version Not Supported"/>
</enum>

<enum name="HttpServerPropertiesUpdatePrefsLocation" type="int">
  <int value="0" label="SUPPORTS_SPDY"/>
  <int value="1" label="HTTP_11_REQUIRED"/>
  <int value="2" label="SET_ALTERNATIVE_SERVICE"/>
  <int value="3" label="MARK_ALTERNATIVE_SERVICE_BROKEN"/>
  <int value="4" label="MARK_ALTERNATIVE_SERVICE_RECENTLY_BROKEN"/>
  <int value="5" label="CONFIRM_ALTERNATIVE_SERVICE"/>
  <int value="6" label="CLEAR_ALTERNATIVE_SERVICE"/>
  <int value="7" label="SET_SPDY_SETTING"/>
  <int value="8" label="CLEAR_SPDY_SETTINGS"/>
  <int value="9" label="CLEAR_ALL_SPDY_SETTINGS"/>
  <int value="10" label="SET_SUPPORTS_QUIC"/>
  <int value="11" label="SET_SERVER_NETWORK_STATS"/>
  <int value="12" label="DETECTED_CORRUPTED_PREFS"/>
  <int value="13" label="SET_QUIC_SERVER_INFO"/>
  <int value="14" label="CLEAR_SERVER_NETWORK_STATS"/>
</enum>

<enum name="HttpSocketType" type="int">
  <int value="0" label="UNUSED">newly connected socket</int>
  <int value="1" label="UNUSED_IDLE">
    connected unused socket (idle prior to use)
  </int>
  <int value="2" label="REUSED_IDLE">previously used (keep-alive?) socket</int>
</enum>

<enum name="HttpStatusLineStatus" type="int">
  <int value="0" label="OK">Spec-compliant status line</int>
  <int value="1" label="EMPTY">Empty status line</int>
  <int value="2" label="NOT_HTTP">Incorrect protocol name</int>
  <int value="3" label="HTTP_CASE_MISMATCH">Protocol name not uppercase</int>
  <int value="4" label="HTTP_NO_VERSION">Protocol version missing</int>
  <int value="5" label="INVALID_VERSION">Protocol version invalid</int>
  <int value="6" label="MULTI_DIGIT_VERSION">
    Protocol version number is multiple digits
  </int>
  <int value="7" label="UNKNOWN_VERSION">Unknown but valid-looking version</int>
  <int value="8" label="EXPLICIT_0_9">Explicitly specified HTTP/0.9</int>
  <int value="9" label="MISSING_STATUS_CODE">Missing status code</int>
  <int value="10" label="INVALID_STATUS_CODE">Invalid status code</int>
  <int value="11" label="STATUS_CODE_TRAILING">
    Trailing characters after status code
  </int>
  <int value="12" label="MISSING_REASON_PHRASE">Missing reason phrase</int>
  <int value="13" label="REASON_DISALLOWED_CHARACTER">
    Disallowed character in reason phrase
  </int>
  <int value="14" label="EXCESS_WHITESPACE">
    Excess whitespace separating protocol version and status code
  </int>
  <int value="15" label="RESERVED_STATUS_CODE">
    Status code from reserved ranges (0xx or 6xx-9xx)
  </int>
</enum>

<enum name="HttpStreamFactoryJobState" type="int">
  <summary>
    State of HttpStreamFactoryJob.  See net::HttpStreamFactoryImpl::Job::State
    for more details
  </summary>
  <int value="0" label="START"/>
  <int value="1" label="RESOLVE_PROXY"/>
  <int value="2" label="RESOLVE_PROXY_COMPLETE"/>
  <int value="3" label="WAIT"/>
  <int value="4" label="WAIT_COMPLETE"/>
  <int value="5" label="INIT_CONNECTION"/>
  <int value="6" label="INIT_CONNECTION_COMPLETE"/>
  <int value="7" label="WAITING_USER_ACTION"/>
  <int value="8" label="RESTART_TUNNEL_AUTH"/>
  <int value="9" label="RESTART_TUNNEL_AUTH_COMPLETE"/>
  <int value="10" label="CREATE_STREAM"/>
  <int value="11" label="CREATE_STREAM_COMPLETE"/>
  <int value="12" label="DRAIN_BODY_FOR_AUTH_RESTART"/>
  <int value="13" label="DRAIN_BODY_FOR_AUTH_RESTART_COMPLETE"/>
  <int value="14" label="DONE"/>
  <int value="15" label="NONE"/>
</enum>

<enum name="ICCProfileAnalyzeResult" type="int">
  <int value="0"
      label="Extracted primary matrix and numerical transfer function"/>
  <int value="1"
      label="Extracted primary matrix and approximated transfer function"/>
  <int value="2"
      label="Failed to converge in approximation of transfer function"/>
  <int value="3" label="Failed to extract transfer function"/>
  <int value="4" label="Failed to extract primary matrix"/>
  <int value="5" label="Failed to parse"/>
</enum>

<enum name="IceCandidatePairTypes" type="int">
  <int value="0" label="host_host"/>
  <int value="1" label="host_srflx"/>
  <int value="2" label="host_relay"/>
  <int value="3" label="host_prflx"/>
  <int value="4" label="srflx_host"/>
  <int value="5" label="srflx_srflx"/>
  <int value="6" label="srflx_relay"/>
  <int value="7" label="srflx_prflx"/>
  <int value="8" label="relay_host"/>
  <int value="9" label="relay_srflx"/>
  <int value="10" label="relay_relay"/>
  <int value="11" label="relay_prflx"/>
  <int value="12" label="prflx_host"/>
  <int value="13" label="prflx_srflx"/>
  <int value="14" label="prflx_relay"/>
  <int value="15" label="host(private)_host(private)"/>
  <int value="16" label="host(private)_host(public)"/>
  <int value="17" label="host(public)_host(private)"/>
  <int value="18" label="host(public)_host(public)"/>
</enum>

<enum name="IceConnectionStates" type="int">
  <int value="0" label="IceConnectionNew"/>
  <int value="1" label="IceConnectionChecking"/>
  <int value="2" label="IceConnectionConnected"/>
  <int value="3" label="IceconnectionCompleted"/>
  <int value="4" label="IceconnectionFailed"/>
  <int value="5" label="IceconnectionDisconnected"/>
  <int value="6" label="IceconnectionClosed"/>
</enum>

<enum name="IceRegatheringReason" type="int">
  <int value="0" label="NetworkChange"/>
  <int value="1" label="NetworkFailure"/>
</enum>

<enum name="IceRestartState" type="int">
  <int value="0" label="Connecting"/>
  <int value="1" label="Connected"/>
  <int value="2" label="Disconnected"/>
</enum>

<enum name="IDBContextForcedCloseReason" type="int">
  <int value="0" label="DeleteOrigin">
    A request was made to delete the data for an origin.
  </int>
  <int value="1" label="BackingStoreFailure">
    An unrecoverable error occurred accessing the backing store.
  </int>
  <int value="2" label="InternalsPage">
    A forced close was requested from the indexeddb-internals page.
  </int>
</enum>

<enum name="IDBKeyPathType" type="int">
  <int value="0" label="None">No key path.</int>
  <int value="1" label="String">Key path is a string.</int>
  <int value="2" label="Array">Key path is an array of strings.</int>
</enum>

<enum name="IDBKeyType" type="int">
  <int value="0" label="Invalid">Invalid key.</int>
  <int value="1" label="Array">Key is an array.</int>
  <int value="2" label="Binary">Key is a binary buffer.</int>
  <int value="3" label="String">Key is a string.</int>
  <int value="4" label="Date">Key is a date.</int>
  <int value="5" label="Number">Key is a number.</int>
</enum>

<enum name="IDBLevelDBBackingStoreInternalErrorType" type="int">
  <int value="0" label="IDBLevelDBBackingStoreReadError">
    IndexedDB encountered an error attempting to read or decode a value from the
    leveldb backing store, indicative of corruption or I/O error. Unused as of
    M26.
  </int>
  <int value="1" label="IDBLevelDBBackingStoreWriteError">
    IndexeDB encountered an error attempting to write or commit a value to the
    leveldb backing store, indicative of I/O error. Unused as of M26.
  </int>
  <int value="2" label="IDBLevelDBBackingStoreConsistencyError">
    IndexedDB encountered a consistency error in the leveldb backing store,
    indicative of corruption or an coding error. Unused as of M26.
  </int>
  <int value="3" label="FindKeyInIndex"/>
  <int value="4" label="GetIDBDatabaseMetaData"/>
  <int value="5" label="GetIndexes"/>
  <int value="6" label="GetKeyGeneratorCurrentNumber"/>
  <int value="7" label="GetObjectStores"/>
  <int value="8" label="GetRecord"/>
  <int value="9" label="KeyExistsInObjectStore"/>
  <int value="10" label="LoadCurrentRow"/>
  <int value="11" label="SetupMetadata"/>
  <int value="12" label="GetPrimaryKeyViaIndex"/>
  <int value="13" label="KeyExistsInIndex"/>
  <int value="14" label="VersionExists"/>
  <int value="15" label="DeleteObjectStore"/>
  <int value="16" label="SetMaxObjectStoreId"/>
  <int value="17" label="SetMaxIndexId"/>
  <int value="18" label="GetNewDatabaseId"/>
  <int value="19" label="GetNewVersionNumber"/>
  <int value="20" label="CreateIDBDatabaseMetaData"/>
  <int value="21" label="DeleteDatabase"/>
  <int value="22" label="TransactionCommit"/>
  <int value="23" label="GetDatabaseNames"/>
  <int value="24" label="ReadBlobJournal"/>
  <int value="25" label="DecodeBlobJournal"/>
  <int value="26" label="GetBlobKeyGeneratorCurrentNumber"/>
  <int value="27" label="GetBlobInfoForRecord"/>
</enum>

<enum name="IDBLevelDBBackingStoreOpenResult" type="int">
  <int value="0" label="OpenMemorySuccess">
    An in-memory backing store was opened successfully.
  </int>
  <int value="1" label="OpenSuccess">
    An on-disk backing store was opened successfully.
  </int>
  <int value="2" label="OpenFailedDirectory">
    An on-disk backing store could not be opened or created because the
    directory could not be opened or created. Cleanup will not be attempted.
  </int>
  <int value="3" label="OpenFailedUnknownSchema">
    An on-disk backing store was opened but had an unknown schema version, due
    to corruption or reverting to a previous version of Chrome. Cleanup will be
    attempted.
  </int>
  <int value="4" label="OpenCleanupDestroyFailed">
    An on-disk backing store failed to open; cleanup was attempted but the
    database could not be destroyed.
  </int>
  <int value="5" label="OpenCleanupReopenFailed">
    An on-disk backing store failed to open; cleanup was attempted but
    re-opening the database failed.
  </int>
  <int value="6" label="OpenCleanupReopenSuccess">
    An on-disk backing store failed to open; cleanup was attempted and the
    database was then opened successfully.
  </int>
  <int value="7" label="OpenFailedIOErrCheckingSchema">
    An on-disk backing store was opened but leveldb failed to read the schema
    version.
  </int>
  <int value="8" label="OpenFailedUnknownErr"/>
  <int value="9" label="OpenMemoryFailed">
    An in-memory backing store failed to open.
  </int>
  <int value="10" label="OpenNonASCII">
    A database with non-ascii characters in its path was opened (with either
    success or failure).
  </int>
  <int value="11" label="OpenAttemptDiskFull">
    An open failed on a machine with a full disk. No cleanup was attempted.
  </int>
  <int value="12" label="OpenAttemptPathTooLong">
    Open failed because either a path component or the overall path was too
    long.
  </int>
  <int value="13" label="OpenAttemptNoRecovery">
    An open attempt failed with an I/O error that doesn't necessitate a recovery
    attempt.
  </int>
  <int value="14" label="OpenAttemptPriorCorruption">
    The corrupted open database was deleted.
  </int>
  <int value="15" label="OpenCleanupBlobJournalFailed">
    Open failed because the blob journal could not be cleaned up.
  </int>
</enum>

<enum name="IdleSocketFate" type="int">
  <int value="0" label="Reuse: Reused">
    Reusing an idle socket that is previously used.
  </int>
  <int value="1" label="Reuse: Unused">
    Reusing an idle socket that is not previously used.
  </int>
  <int value="2" label="Reuse: Unusable">
    Reusing an idle socket and found it unusable.
  </int>
  <int value="3" label="Release: Unusable">
    When releasing the socket to the pool, found it unusable.
  </int>
  <int value="4" label="CleanUp: Forced">
    Cleaning up the idle socket is forced.
  </int>
  <int value="5" label="CleanUp: TimedOutReused">
    Cleaning up a timed-out, reused idle socket.
  </int>
  <int value="6" label="CleanUp: TimedOutUnused">
    Cleaning up a timed-out, unused idle socket.
  </int>
  <int value="7" label="CleanUp: Unusable">
    Cleaning up an unusable idle socket.
  </int>
  <int value="8" label="CloseOne">
    Socket is closed usually when per-origin socket limit is reached.
  </int>
</enum>

<enum name="IdleTaskStatus" type="int">
  <int value="0" label="IdleTaskNotStarted"/>
  <int value="1" label="IdleTaskStarted"/>
  <int value="2" label="IdleTaskCompleted"/>
  <int value="3" label="IdleTaskFailed"/>
  <int value="4" label="IdleTaskSwitchedToMainThreadTask"/>
  <int value="5" label="IdleTaskNotSupported"/>
</enum>

<enum name="IMECommitType" type="int">
  <obsolete>
    Deprecated 03/2015, and replaced by IMECommitType2.
  </obsolete>
  <int value="0" label="X -&gt; X(0)">
    Types X, commits X as the top suggestion.
  </int>
  <int value="1" label="X -&gt; Y(0)">
    Types X, commits Y as the top suggestion.
  </int>
  <int value="2" label="X -&gt; X(1)">
    Types X, commits X as the non-top suggestion.
  </int>
  <int value="3" label="X -&gt; Y(1)">
    Types X, commits Y as the non-top suggestion.
  </int>
  <int value="4" label="Prediction">Commits a prediction suggestion.</int>
  <int value="5" label="Revert">
    Reverts the previous auto-corrected and committed word.
  </int>
</enum>

<enum name="IMECommitType2" type="int">
  <int value="0" label="X -&gt; X(0)">
    Types X, commits X as the top suggestion.
  </int>
  <int value="1" label="X -&gt; Y(0)">
    Types X, commits Y as the top suggestion.
  </int>
  <int value="2" label="X -&gt; X(1)">
    Types X, commits X as the 2nd suggestion.
  </int>
  <int value="3" label="X -&gt; Y(1)">
    Types X, commits Y as the 2nd suggestion.
  </int>
  <int value="4" label="X -&gt; X(2)">
    Types X, commits X as the 3rd/other suggestion.
  </int>
  <int value="5" label="X -&gt; Y(2)">
    Types X, commits Y as the 3rd/other suggestion.
  </int>
  <int value="6" label="Prediction">Commits a prediction suggestion.</int>
  <int value="7" label="Revert">
    Reverts the previous auto-corrected and committed word.
  </int>
  <int value="8" label="Voice">The commit is triggered by voice input.</int>
</enum>

<enum name="IMECorrectionLevel" type="int">
  <int value="0" label="Off"/>
  <int value="1" label="Modest"/>
  <int value="2" label="Aggressive"/>
</enum>

<enum name="IMEGestureTypingEvent" type="int">
  <int value="0" label="Typed">A word was typed with a gesture.</int>
  <int value="1" label="Deleted">
    A gesture-typed word was deleted after being typed.
  </int>
  <int value="2" label="Replaced 0">
    A gesture-typed word was replaced by the first suggestion.
  </int>
  <int value="3" label="Replaced 1">
    A gesture-typed word was replaced by the second suggestion.
  </int>
  <int value="4" label="Replaced 2">
    A gesture-typed word was replaced by the third suggestion.
  </int>
</enum>

<enum name="ImeMenuButtonType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Emoji"/>
  <int value="2" label="Handwriting"/>
  <int value="3" label="Voice"/>
  <int value="4" label="Settings"/>
</enum>

<enum name="IMERegisterProxyView" type="int">
  <int value="0" label="Success">Success in registering ProxyView to IMM</int>
  <int value="1" label="Failure">Failure in registering ProxyView to IMM</int>
  <int value="2" label="DetectionFailure">Failure in detecting the result</int>
  <int value="3" label="ReplicaInputConnection">
    ReplicaInputConnection was used instead
  </int>
</enum>

<enum name="IMESwitchType" type="int">
  <int value="0" label="By tray menu">IME switches by tray menu</int>
  <int value="1" label="By accelerator">IME switches by accelerator</int>
</enum>

<enum name="IMEVKLayout" type="int">
  <int value="0" label="Compact"/>
  <int value="1" label="CompactSymbol"/>
  <int value="2" label="CompactMore"/>
  <int value="3" label="Full"/>
  <int value="4" label="A11y"/>
  <int value="5" label="Handwriting"/>
  <int value="6" label="Emoji"/>
</enum>

<enum name="ImportantSitesReason" type="int">
  <int value="0" label="Engagement"/>
  <int value="1" label="Durable"/>
  <int value="2" label="Bookmarks"/>
  <int value="3" label="Home Screen"/>
  <int value="4" label="Notifications"/>
</enum>

<enum name="ImporterType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="IMPORTER_METRICS_IE">IE (Windows-only)</int>
  <int value="2" label="IMPORTER_METRICS_FIREFOX2">Firefox 2</int>
  <int value="3" label="IMPORTER_METRICS_FIREFOX3">Firefox 3 (and later)</int>
  <int value="4" label="IMPORTER_METRICS_SAFARI">Safari (Mac-only)</int>
  <int value="5" label="IMPORTER_METRICS_GOOGLE_TOOLBAR5">Google Toolbar</int>
  <int value="6" label="IMPORTER_METRICS_BOOKMARKS_FILE">
    A bookmarks.html file
  </int>
  <int value="7" label="IMPORTER_METRICS_EDGE">Edge (Windows-only)</int>
</enum>

<enum name="IncidentType" type="int">
  <int value="1" label="TrackedPreference"/>
  <int value="2" label="BinaryIntegrity"/>
  <int value="3" label="BlacklistLoad"/>
  <int value="4" label="OmniboxInteraction"/>
  <int value="5" label="VariationsSeedSignature"/>
  <int value="6" label="ResourceRequest"/>
  <int value="7" label="SuspiciousModule"/>
</enum>

<enum name="Inconsistencies" type="int">
  <int value="1" label="RangeChecksum"/>
  <int value="2" label="BucketOrder"/>
  <int value="3" label="RangeChecksum BucketOrder"/>
  <int value="4" label="CountHigh"/>
  <int value="5" label="CountHigh RangeChecksum"/>
  <int value="6" label="CountHigh BucketOrder"/>
  <int value="7" label="CountHigh RangeChecksum BucketOrder"/>
  <int value="8" label="CountLow"/>
  <int value="9" label="CountLow RangeChecksum"/>
  <int value="10" label="CountLow BucketOrder"/>
  <int value="11" label="CountLow RangeChecksum BucketOrder"/>
</enum>

<enum name="IndexedDatabaseMethods" type="int">
  <int value="0" label="CreateObjectStore()"/>
  <int value="1" label="DeleteObjectStore()"/>
  <int value="2" label="Transaction()"/>
  <int value="3" label="DeleteDatabase()"/>
  <int value="4" label="Open()"/>
</enum>

<enum name="InfoBarIdentifier" type="int">
  <int value="-1" label="INVALID"/>
  <int value="0" label="TEST_INFOBAR"/>
  <int value="1" label="APP_BANNER_INFOBAR_DELEGATE_ANDROID"/>
  <int value="2" label="APP_BANNER_INFOBAR_DELEGATE_DESKTOP"/>
  <int value="3" label="ANDROID_DOWNLOAD_MANAGER_OVERWRITE_INFOBAR_DELEGATE"/>
  <int value="4" label="CHROME_DOWNLOAD_MANAGER_OVERWRITE_INFOBAR_DELEGATE"/>
  <int value="5" label="DOWNLOAD_REQUEST_INFOBAR_DELEGATE_ANDROID"/>
  <int value="6" label="FULLSCREEN_INFOBAR_DELEGATE"/>
  <int value="7" label="HUNG_PLUGIN_INFOBAR_DELEGATE"/>
  <int value="8" label="HUNG_RENDERER_INFOBAR_DELEGATE"/>
  <int value="9" label="MEDIA_STREAM_INFOBAR_DELEGATE_ANDROID"/>
  <int value="10" label="MEDIA_THROTTLE_INFOBAR_DELEGATE"/>
  <int value="11" label="REQUEST_QUOTA_INFOBAR_DELEGATE"/>
  <int value="12" label="DEV_TOOLS_CONFIRM_INFOBAR_DELEGATE"/>
  <int value="13" label="EXTENSION_DEV_TOOLS_INFOBAR_DELEGATE"/>
  <int value="14" label="INCOGNITO_CONNECTABILITY_INFOBAR_DELEGATE"/>
  <int value="15" label="THEME_INSTALLED_INFOBAR_DELEGATE"/>
  <int value="16" label="GEOLOCATION_INFOBAR_DELEGATE_ANDROID"/>
  <int value="17" label="THREE_D_API_INFOBAR_DELEGATE"/>
  <int value="18" label="INSECURE_CONTENT_INFOBAR_DELEGATE"/>
  <int value="19" label="MIDI_PERMISSION_INFOBAR_DELEGATE_ANDROID"/>
  <int value="20" label="PROTECTED_MEDIA_IDENTIFIER_INFOBAR_DELEGATE_ANDROID"/>
  <int value="21" label="NACL_INFOBAR_DELEGATE"/>
  <int value="22"
      label="OBSOLETE_DATA_REDUCTION_PROXY_INFOBAR_DELEGATE_ANDROID"/>
  <int value="23" label="NOTIFICATION_PERMISSION_INFOBAR_DELEGATE"/>
  <int value="24" label="AUTO_SIGNIN_FIRST_RUN_INFOBAR_DELEGATE"/>
  <int value="25" label="GENERATED_PASSWORD_SAVED_INFOBAR_DELEGATE_ANDROID"/>
  <int value="26" label="SAVE_PASSWORD_INFOBAR_DELEGATE"/>
  <int value="27" label="PEPPER_BROKER_INFOBAR_DELEGATE"/>
  <int value="28" label="PERMISSION_UPDATE_INFOBAR_DELEGATE"/>
  <int value="29" label="DURABLE_STORAGE_PERMISSION_INFOBAR_DELEGATE_ANDROID"/>
  <int value="30" label="NPAPI_REMOVAL_INFOBAR_DELEGATE"/>
  <int value="31" label="OUTDATED_PLUGIN_INFOBAR_DELEGATE"/>
  <int value="32" label="PLUGIN_METRO_MODE_INFOBAR_DELEGATE"/>
  <int value="33" label="RELOAD_PLUGIN_INFOBAR_DELEGATE"/>
  <int value="34" label="PLUGIN_OBSERVER"/>
  <int value="35" label="SSL_ADD_CERTIFICATE"/>
  <int value="36" label="SSL_ADD_CERTIFICATE_INFOBAR_DELEGATE"/>
  <int value="37" label="POPUP_BLOCKED_INFOBAR_DELEGATE"/>
  <int value="38" label="CHROME_SELECT_FILE_POLICY"/>
  <int value="39" label="KEYSTONE_PROMOTION_INFOBAR_DELEGATE"/>
  <int value="40" label="COLLECTED_COOKIES_INFOBAR_DELEGATE"/>
  <int value="41" label="INSTALLATION_ERROR_INFOBAR_DELEGATE"/>
  <int value="42" label="ALTERNATE_NAV_INFOBAR_DELEGATE"/>
  <int value="43" label="BAD_FLAGS_PROMPT"/>
  <int value="44" label="DEFAULT_BROWSER_INFOBAR_DELEGATE"/>
  <int value="45" label="GOOGLE_API_KEYS_INFOBAR_DELEGATE"/>
  <int value="46" label="OBSOLETE_SYSTEM_INFOBAR_DELEGATE"/>
  <int value="47" label="SESSION_CRASHED_INFOBAR_DELEGATE"/>
  <int value="48" label="PAGE_INFO_INFOBAR_DELEGATE"/>
  <int value="49" label="AUTOFILL_CC_INFOBAR_DELEGATE"/>
  <int value="50" label="TRANSLATE_INFOBAR_DELEGATE"/>
  <int value="51" label="IOS_CHROME_SAVE_PASSWORD_INFOBAR_DELEGATE"/>
  <int value="52" label="NATIVE_APP_INSTALLER_INFOBAR_DELEGATE"/>
  <int value="53" label="NATIVE_APP_LAUNCHER_INFOBAR_DELEGATE"/>
  <int value="54" label="NATIVE_APP_OPEN_POLICY_INFOBAR_DELEGATE"/>
  <int value="55" label="RE_SIGN_IN_INFOBAR_DELEGATE"/>
  <int value="56" label="SHOW_PASSKIT_ERROR_INFOBAR_DELEGATE"/>
  <int value="57" label="READER_MODE_INFOBAR_DELEGATE"/>
  <int value="58" label="SYNC_ERROR_INFOBAR_DELEGATE"/>
  <int value="59" label="UPGRADE_INFOBAR_DELEGATE"/>
  <int value="60" label="CHROME_WINDOW_ERROR"/>
  <int value="61" label="CONFIRM_DANGEROUS_DOWNLOAD"/>
  <int value="62" label="WINDOWS_DESKTOP_SEARCH_INFOBAR_DELEGATE"/>
  <int value="63" label="UPDATE_PASSWORD_INFOBAR_DELEGATE"/>
  <int value="64" label="DATA_REDUCTION_PROMO_INFOBAR_DELEGATE_ANDROID"/>
  <int value="65" label="AUTOFILL_CC_ASSIST_INFOBAR_DELEGATE"/>
  <int value="66" label="SUBRESOURCE_FILTER_INFOBAR_DELEGATE_ANDROID"/>
  <int value="67" label="INSTANT_APPS_INFOBAR_DELEGATE_ANDROID"/>
  <int value="68" label="DATA_REDUCTION_PROXY_PREVIEW_INFOBAR_DELEGATE"/>
  <int value="69" label="SCREEN_CAPTURE_INFOBAR_DELEGATE_ANDROID"/>
  <int value="70" label="GROUPED_PERMISSION_INFOBAR_DELEGATE_ANDROID"/>
  <int value="71" label="OFFLINE_PAGE_INFOBAR_DELEGATE"/>
  <int value="72" label="SEARCH_GEOLOCATION_DISCLOSURE_INFOBAR_DELEGATE"/>
  <int value="73" label="AUTOMATION_INFOBAR_DELEGATE"/>
  <int value="74" label="VR_SERVICES_UPGRADE_ANDROID"/>
</enum>

<enum name="InfoBarResponse" type="int">
  <int value="0" label="No Response selected"/>
  <int value="1" label="Save Password"/>
  <int value="2" label="Never for this site (blacklist / exception)"/>
  <int value="3" label="InfoBar dismissed by clicking the 'X'"/>
</enum>

<enum name="InitialRttEstimateSource" type="int">
  <int value="0" label="Default"/>
  <int value="1" label="Cached"/>
  <int value="2" label="2G"/>
  <int value="3" label="3G"/>
</enum>

<enum name="InjectedAdType" type="int">
  <int value="0" label="Invalid"/>
  <int value="1" label="IFrame"/>
  <int value="2" label="Embed"/>
  <int value="3" label="Anchor"/>
  <int value="4" label="Script"/>
</enum>

<enum name="InputMethodCategory" type="int">
  <int value="0" label="Unkown"/>
  <int value="1" label="XKB">XKeyboard</int>
  <int value="2" label="Chinese"/>
  <int value="3" label="Japanese"/>
  <int value="4" label="Korean"/>
  <int value="5" label="M17n">Multilingualization</int>
  <int value="6" label="T13n">Transliteration</int>
</enum>

<enum name="InputMethodID" type="int">
  <int value="109700" label="xkb:am:phonetic:arm">
    Armenian Phonetic keyboard
  </int>
  <int value="109800" label="xkb:be::fra">Belgian keyboard</int>
  <int value="109801" label="xkb:be::ger">Belgian keyboard</int>
  <int value="109802" label="xkb:be::nld">Belgian keyboard</int>
  <int value="109803" label="xkb:bg::bul">Bulgarian keyboard</int>
  <int value="109804" label="xkb:bg:phonetic:bul">
    Bulgarian Phonetic keyboard
  </int>
  <int value="109805" label="xkb:br::por">Brazilian keyboard</int>
  <int value="109806" label="xkb:by::bel">Belarusian keyboard</int>
  <int value="109900" label="xkb:ca::fra">Canadian French keyboard</int>
  <int value="109901" label="xkb:ca:eng:eng">Canadian English keyboard</int>
  <int value="109902" label="xkb:ca:multix:fra">
    Canadian Multilingual keyboard
  </int>
  <int value="109903" label="xkb:ch::ger">Swiss keyboard</int>
  <int value="109904" label="xkb:ch:fr:fra">Swiss French keyboard</int>
  <int value="109905" label="xkb:cz::cze">Czech keyboard</int>
  <int value="109906" label="xkb:cz:qwerty:cze">Czech QWERTY keyboard</int>
  <int value="110000" label="xkb:de::ger">German keyboard</int>
  <int value="110001" label="xkb:de:neo:ger">German NEO 2 keyboard</int>
  <int value="110002" label="xkb:dk::dan">Danish keyboard</int>
  <int value="110100" label="xkb:ee::est">Estonian keyboard</int>
  <int value="110101" label="xkb:es::spa">Spanish keyboard</int>
  <int value="110102" label="xkb:es:cat:cat">Catalan keyboard</int>
  <int value="110200" label="xkb:fi::fin">Finnish keyboard</int>
  <int value="110201" label="xkb:fr::fra">French keyboard</int>
  <int value="110300" label="xkb:gb:dvorak:eng">UK Dvorak keyboard</int>
  <int value="110301" label="xkb:gb:extd:eng">UK keyboard</int>
  <int value="110302" label="xkb:ge::geo">Georgian keyboard</int>
  <int value="110303" label="xkb:gr::gre">Greek keyboard</int>
  <int value="110400" label="xkb:hr::scr">Croatian keyboard</int>
  <int value="110401" label="xkb:hu::hun">Hungarian keyboard</int>
  <int value="110500" label="xkb:ie::ga">Irish keyboard</int>
  <int value="110501" label="xkb:il::heb">Hebrew keyboard</int>
  <int value="110502" label="xkb:is::ice">Icelandic keyboard</int>
  <int value="110503" label="xkb:it::ita">Italian keyboard</int>
  <int value="110600" label="xkb:jp::jpn">Japanese keyboard</int>
  <int value="110800" label="xkb:latam::spa">Latin American keyboard</int>
  <int value="110801" label="xkb:lt::lit">Lithuanian keyboard</int>
  <int value="110802" label="xkb:lv:apostrophe:lav">Latvian keyboard</int>
  <int value="110900" label="xkb:mn::mon">Mongolian keyboard</int>
  <int value="111000" label="xkb:no::nob">Norwegian keyboard</int>
  <int value="111200" label="xkb:pl::pol">Polish keyboard</int>
  <int value="111201" label="xkb:pt::por">Portuguese keyboard</int>
  <int value="111400" label="xkb:ro::rum">Romanian keyboard</int>
  <int value="111401" label="xkb:ro:std:rum">Romanian Standard keyboard</int>
  <int value="111402" label="xkb:rs::srp">Serbian keyboard</int>
  <int value="111403" label="xkb:ru::rus">Russian keyboard</int>
  <int value="111404" label="xkb:ru:phonetic:rus">
    Russian Phonetic keyboard
  </int>
  <int value="111500" label="xkb:se::swe">Swedish keyboard</int>
  <int value="111501" label="xkb:si::slv">Slovenian keyboard</int>
  <int value="111502" label="xkb:sk::slo">Slovakian keyboard</int>
  <int value="111600" label="xkb:tr::tur">Turkish keyboard</int>
  <int value="111700" label="xkb:ua::ukr">Ukrainian keyboard</int>
  <int value="111701" label="xkb:us::eng">US keyboard</int>
  <int value="111702" label="xkb:us::fil">US keyboard</int>
  <int value="111703" label="xkb:us::ind">US keyboard</int>
  <int value="111704" label="xkb:us::msa">US keyboard</int>
  <int value="111705" label="xkb:us:altgr-intl:eng">US Extended keyboard</int>
  <int value="111706" label="xkb:us:colemak:eng">US Colemak keyboard</int>
  <int value="111707" label="xkb:us:dvorak:eng">US Dvorak keyboard</int>
  <int value="111708" label="xkb:us:intl:eng">US International keyboard</int>
  <int value="111709" label="xkb:us:intl:nld">US International keyboard</int>
  <int value="111710" label="xkb:us:intl:por">US International keyboard</int>
  <int value="209700" label="zh-hant-t-i0-array-1992">Array input method</int>
  <int value="209900" label="zh-hant-t-i0-cangjie-1987">
    Cangjie input method
  </int>
  <int value="209901" label="zh-hant-t-i0-cangjie-1987-x-m0-simplified">
    Quick input method
  </int>
  <int value="210000" label="zh-hant-t-i0-dayi-1988">Dayi input method</int>
  <int value="211200" label="zh-hant-t-i0-pinyin">
    Traditional Pinyin input method
  </int>
  <int value="211201" label="zh-t-i0-pinyin">Pinyin input method</int>
  <int value="211700" label="zh-hant-t-i0-und">Zhuyin input method</int>
  <int value="211900" label="zh-t-i0-wubi-1986">Wubi input method</int>
  <int value="310600" label="nacl_mozc_jp">
    Google Japanese Input (for Japanese keyboard)
  </int>
  <int value="311700" label="nacl_mozc_us">
    Google Japanese Input (for US keyboard)
  </int>
  <int value="405000" label="hangul_2set">Hangul 2 Set</int>
  <int value="405100" label="hangul_3set390">Hangul 3 Set (390)</int>
  <int value="405101" label="hangul_3setfinal">Hangul 3 Set (Final)</int>
  <int value="405102" label="hangul_3setnoshift">Hangul 3 Set (No Shift)</int>
  <int value="409700" label="hangul_ahnmatae">Hangul Ahnmatae</int>
  <int value="411400" label="hangul_romaja">Hangul Romaja</int>
  <int value="509700" label="vkd_ar">Arabic keyboard</int>
  <int value="509800" label="vkd_bn_phone">Bengali keyboard (Phonetic)</int>
  <int value="509900" label="vkd_ckb_ar">
    Sorani Kurdish Arabic-based keyboard
  </int>
  <int value="509901" label="vkd_ckb_en">
    Sorani Kurdish English-based keyboard
  </int>
  <int value="510000" label="vkd_deva_phone">
    Devanagari keyboard (Phonetic)
  </int>
  <int value="510100" label="vkd_ethi">Ethiopic keyboard</int>
  <int value="510200" label="vkd_fa">Persian keyboard</int>
  <int value="510300" label="vkd_gu_phone">Gujarati keyboard (Phonetic)</int>
  <int value="510700" label="vkd_km">Khmer keyboard</int>
  <int value="510701" label="vkd_kn_phone">Kannada keyboard (Phonetic)</int>
  <int value="510800" label="vkd_lo">Lao keyboard</int>
  <int value="510900" label="vkd_ml_phone">Malayalam keyboard (Phonetic)</int>
  <int value="510901" label="vkd_my">Myanmar keyboard</int>
  <int value="510902" label="vkd_my_myansan">Myanmar Myansan keyboard</int>
  <int value="511000" label="vkd_ne_inscript">Nepali keyboard (InScript)</int>
  <int value="511001" label="vkd_ne_phone">Nepali keyboard (Phonetic)</int>
  <int value="511500" label="vkd_si">Sinhala keyboard</int>
  <int value="511600" label="vkd_ta_inscript">Tamil keyboard (InScript)</int>
  <int value="511601" label="vkd_ta_itrans">Tamil keyboard (itrans)</int>
  <int value="511602" label="vkd_ta_phone">Tamil keyboard (Phonetic)</int>
  <int value="511603" label="vkd_ta_tamil99">Tamil keyboard (Tamil99)</int>
  <int value="511604" label="vkd_ta_typewriter">
    Tamil keyboard (Typewriter)
  </int>
  <int value="511605" label="vkd_te_phone">Telugu keyboard (Phonetic)</int>
  <int value="511606" label="vkd_th">Thai keyboard (Kedmanee)</int>
  <int value="511607" label="vkd_th_pattajoti">Thai keyboard (Pattachote)</int>
  <int value="511608" label="vkd_th_tis">Thai keyboard (TIS 820-2531)</int>
  <int value="511800" label="vkd_vi_tcvn">Vietnamese keyboard (TCVN)</int>
  <int value="511801" label="vkd_vi_telex">Vietnamese keyboard (Telex)</int>
  <int value="511802" label="vkd_vi_viqr">Vietnamese keyboard (VIQR)</int>
  <int value="511803" label="vkd_vi_vni">Vietnamese keyboard (VNI)</int>
  <int value="609700" label="am-t-i0-und">Transliteration Amharic</int>
  <int value="609701" label="ar-t-i0-und">Transliteration Arabic</int>
  <int value="609800" label="bn-t-i0-und">Transliteration Bengali</int>
  <int value="609801" label="braille">Braille Keyboard</int>
  <int value="610100" label="el-t-i0-und">Transliteration Greek</int>
  <int value="610200" label="fa-t-i0-und">Transliteration Persian</int>
  <int value="610300" label="gu-t-i0-und">Transliteration Gujarati</int>
  <int value="610400" label="he-t-i0-und">Transliteration Hebrew</int>
  <int value="610401" label="hi-t-i0-und">Transliteration Hindi</int>
  <int value="610700" label="kn-t-i0-und">Transliteration Kannada</int>
  <int value="610900" label="ml-t-i0-und">Transliteration Malayalam</int>
  <int value="610901" label="mr-t-i0-und">Transliteration Marathi</int>
  <int value="611000" label="ne-t-i0-und">Transliteration Nepali</int>
  <int value="611100" label="or-t-i0-und">Transliteration Oriya</int>
  <int value="611200" label="pa-t-i0-und">Transliteration Punjabi</int>
  <int value="611500" label="sa-t-i0-und">Transliteration Sanskrit</int>
  <int value="611501" label="sr-t-i0-und">Transliteration Serbian</int>
  <int value="611600" label="ta-t-i0-und">Transliteration Tamil</int>
  <int value="611601" label="te-t-i0-und">Transliteration Telugu</int>
  <int value="611602" label="ti-t-i0-und">Transliteration Tigrinya</int>
  <int value="611700" label="ur-t-i0-und">Transliteration Urdu</int>
</enum>

<enum name="InputMethodID2" type="int">
  <int value="-2082426075" label="xkb:cz:qwerty:cze">Czech QWERTY keyboard</int>
  <int value="-2039513744" label="xkb:ru::rus">Russian keyboard</int>
  <int value="-2004968165" label="xkb:gb:dvorak:eng">UK Dvorak keyboard</int>
  <int value="-2004834194" label="xkb:ca:multix:fra">
    Canadian Multilingual keyboard
  </int>
  <int value="-1992142310" label="xkb:dk::dan">Danish keyboard</int>
  <int value="-1972379678" label="vkd_deva_phone">
    Devanagari keyboard (Phonetic)
  </int>
  <int value="-1957398030" label="ta-t-i0-und">Tamil transliteration</int>
  <int value="-1955862460" label="xkb:ro::rum">Romanian keyboard</int>
  <int value="-1951732875" label="xkb:be::nld">Belgian keyboard</int>
  <int value="-1931838225" label="zh-hant-t-i0-cangjie-1987-x-m0-simplified">
    Quick input method
  </int>
  <int value="-1899483055" label="vkd_my">Myanmar keyboard</int>
  <int value="-1856842164" label="xkb:ge::geo">Georgian keyboard</int>
  <int value="-1856063724" label="vkd_km">Khmer keyboard</int>
  <int value="-1749961581" label="vkd_ta_inscript">
    Tamil keyboard (InScript)
  </int>
  <int value="-1710145174" label="xkb:am:phonetic:arm">
    Armenian Phonetic keyboard
  </int>
  <int value="-1709647399" label="xkb:mn::mon">Mongolian keyboard</int>
  <int value="-1668610460" label="xkb:us:dvp:eng">
    US Programmer Dvorak keyboard
  </int>
  <int value="-1667829653" label="zh-hant-t-i0-cangjie-1987">
    Cangjie input method
  </int>
  <int value="-1591721678" label="vkd_ne_inscript">
    Nepali keyboard (InScript)
  </int>
  <int value="-1474243589" label="xkb:it::ita">Italian keyboard</int>
  <int value="-1408581676" label="xkb:gb:extd:eng">UK keyboard</int>
  <int value="-1402880636" label="xkb:se::swe">Swedish keyboard</int>
  <int value="-1396156987" label="vkd_ru_phone_aatseel">
    Russian Phonetic (AATSEEL) keyboard
  </int>
  <int value="-1338032348" label="xkb:de:neo:ger">German NEO 2 keyboard</int>
  <int value="-1288127107" label="vkd_vi_telex">
    Vietnamese keyboard (Telex)
  </int>
  <int value="-1263201701" label="hi-t-i0-und">Hindi transliteration</int>
  <int value="-1242404917" label="sr-t-i0-und">Serbian transliteration</int>
  <int value="-1148371254" label="xkb:us:intl:por">
    US International keyboard
  </int>
  <int value="-1105197074" label="vkd_ar">Arabic keyboard</int>
  <int value="-1096071752" label="vkd_fa">Persian keyboard</int>
  <int value="-1065120196" label="vkd_th">Thai keyboard (Kedmanee)</int>
  <int value="-1053378431" label="xkb:tr::tur">Turkish keyboard</int>
  <int value="-1032532014" label="xkb:bg:phonetic:bul">
    Bulgarian Phonetic keyboard
  </int>
  <int value="-1024152574" label="xkb:ca:eng:eng">
    Canadian English keyboard
  </int>
  <int value="-1021036210" label="xkb:us::ind">US keyboard</int>
  <int value="-1018545698" label="vkd_ckb_en">
    Sorani Kurdish English-based keyboard
  </int>
  <int value="-994915284" label="xkb:ch:fr:fra">Swiss French keyboard</int>
  <int value="-955047705" label="xkb:sk::slo">Slovakian keyboard</int>
  <int value="-942739805" label="xkb:tr:f:tur">Turkish-F keyboard</int>
  <int value="-923332388" label="xkb:ua::ukr">Ukrainian keyboard</int>
  <int value="-917118451" label="vkd_vi_tcvn">Vietnamese keyboard (TCVN)</int>
  <int value="-848378885" label="vkd_ethi">Ethiopic keyboard</int>
  <int value="-827208209" label="xkb:hu::hun">Hungarian keyboard</int>
  <int value="-797137387" label="ml-t-i0-und">Malayalam transliteration</int>
  <int value="-676861102" label="vkd_vi_viqr">Vietnamese keyboard (VIQR)</int>
  <int value="-666585286" label="xkb:bg::bul">Bulgarian keyboard</int>
  <int value="-650362029" label="xkb:ie::ga">Irish keyboard</int>
  <int value="-639620912" label="te-t-i0-und">Telugu transliteration</int>
  <int value="-622670909" label="zh-hant-t-i0-dayi-1988">Dayi input method</int>
  <int value="-547772150" label="xkb:ro:std:rum">
    Romanian standard keyboard
  </int>
  <int value="-535089160" label="xkb:us::msa">US keyboard</int>
  <int value="-519506383" label="he-t-i0-und">Hebrew transliteration</int>
  <int value="-512360986" label="xkb:us:altgr-intl:eng">
    US Extended keyboard
  </int>
  <int value="-498028381" label="sa-t-i0-und">Sanskrit transliteration</int>
  <int value="-496003957" label="xkb:de::ger">German keyboard</int>
  <int value="-439432295" label="vkd_ru_phone_yazhert">
    Russian Phonetic (YaZHert) keyboard
  </int>
  <int value="-378677550" label="vkd_bn_phone">Bengali keyboard (Phonetic)</int>
  <int value="-352571373" label="xkb:rs::srp">Serbian keyboard</int>
  <int value="-299716106" label="xkb:si::slv">Slovenian keyboard</int>
  <int value="-292687390" label="xkb:fi::fin">Finnish keyboard</int>
  <int value="-280690349" label="vkd_vi_vni">Vietnamese keyboard (VNI)</int>
  <int value="-263932473" label="xkb:ch::ger">Swiss keyboard</int>
  <int value="-231610124" label="ne-t-i0-und">Nepali transliteration</int>
  <int value="-225482038" label="vkd_si">Sinhala keyboard</int>
  <int value="-219542410" label="ko-t-i0-und">Korean input method</int>
  <int value="-202781885" label="xkb:us:intl:eng">
    US International keyboard
  </int>
  <int value="-193738949" label="gu-t-i0-und">Gujarati transliteration</int>
  <int value="-147742988" label="mr-t-i0-und">Marathi transliteration</int>
  <int value="-83634292" label="vkd_my_myansan">Myanmar Myansan keyboard</int>
  <int value="-70827301" label="xkb:be::fra">Belgian keyboard</int>
  <int value="-69316526" label="fa-t-i0-und">Persian transliteration</int>
  <int value="2215666" label="xkb:jp::jpn">Japanese keyboard</int>
  <int value="28549849" label="xkb:pt::por">Portuguese keyboard</int>
  <int value="60054916" label="xkb:fo::fao">Faroese keyboard</int>
  <int value="87135772" label="xkb:fr::fra">French keyboard</int>
  <int value="150803493" label="vkd_ta_phone">Tamil keyboard (Phonetic)</int>
  <int value="193122406" label="xkb:gr::gre">Greek keyboard</int>
  <int value="197116831" label="xkb:es::spa">Spanish keyboard</int>
  <int value="214846098" label="zh-t-i0-wubi-1986">Wubi input method</int>
  <int value="319509360" label="xkb:be::ger">Belgian keyboard</int>
  <int value="382485416" label="xkb:lv:apostrophe:lav">Latvian keyboard</int>
  <int value="398887705" label="ti-t-i0-und">Tigrinya transliteration</int>
  <int value="400837283" label="yue-hant-t-i0-und">Cantonese input method</int>
  <int value="414827905" label="vkd_ta_typewriter">
    Tamil keyboard (Typewriter)
  </int>
  <int value="428624332" label="zh-t-i0-pinyin">Pinyin input method</int>
  <int value="452111434" label="kn-t-i0-und">Kannada transliteration</int>
  <int value="467269371" label="el-t-i0-und">Greek transliteration</int>
  <int value="469000663" label="xkb:es:cat:cat">Catalan keyboard</int>
  <int value="520692028" label="vkd_ta_itrans">Tamil keyboard (itrans)</int>
  <int value="601883646" label="vkd_th_tis">Thai keyboard (TIS 820-2531)</int>
  <int value="602570138" label="xkb:mk::mkd">Macedonian keyboard</int>
  <int value="629336408" label="vkd_ckb_ar">
    Sorani Kurdish Arabic-based keyboard
  </int>
  <int value="629711326" label="xkb:il::heb">Hebrew keyboard</int>
  <int value="683071754" label="xkb:hr::scr">Croatian keyboard</int>
  <int value="789603234" label="xkb:by::bel">Belarusian keyboard</int>
  <int value="822222165" label="xkb:ru:phonetic:rus">
    Russian Phonetic keyboard
  </int>
  <int value="825747412" label="xkb:latam::spa">Latin American keyboard</int>
  <int value="871656925" label="xkb:us::fil">US keyboard</int>
  <int value="1024422775" label="vkd_ml_phone">
    Malayalam keyboard (Phonetic)
  </int>
  <int value="1127372618" label="vkd_ta_tamil99">Tamil keyboard (Tamil99)</int>
  <int value="1194237527" label="bn-t-i0-und">Bengali transliteration</int>
  <int value="1196273343" label="vkd_te_phone">Telugu keyboard (Phonetic)</int>
  <int value="1201986464" label="pa-t-i0-und">Punjabi transliteration</int>
  <int value="1241606786" label="vkd_gu_phone">
    Gujarati keyboard (Phonetic)
  </int>
  <int value="1275989482" label="xkb:ee::est">Estonian keyboard</int>
  <int value="1342665179" label="or-t-i0-und">Oriya transliteration</int>
  <int value="1355267172" label="nacl_mozc_jp">
    Google Japanese Input (for Japanese keyboard)
  </int>
  <int value="1376109158" label="zh-hant-t-i0-pinyin">
    Traditional Pinyin input method
  </int>
  <int value="1391164751" label="vkd_ne_phone">Nepali keyboard (Phonetic)</int>
  <int value="1409029247" label="xkb:ca::fra">Canadian French keyboard</int>
  <int value="1486336701" label="zh-hant-t-i0-und">Zhuyin input method</int>
  <int value="1643737979" label="xkb:fr:bepo:fra">French Bepo keyboard</int>
  <int value="1683010298" label="xkb:is::ice">Icelandic keyboard</int>
  <int value="1698488657" label="ar-t-i0-und">Arabic transliteration</int>
  <int value="1718072990" label="xkb:us::eng">US keyboard</int>
  <int value="1756602568" label="zh-hant-t-i0-array-1992">
    Array input method
  </int>
  <int value="1763643144" label="xkb:lt::lit">Lithuanian keyboard</int>
  <int value="1772226972" label="ur-t-i0-und">Urdu transliteration</int>
  <int value="1847701260" label="xkb:pl::pol">Polish keyboard</int>
  <int value="1851658441" label="xkb:hu:qwerty:hun">
    Hungarian QWERTY keyboard
  </int>
  <int value="1882667893" label="xkb:us:colemak:eng">US Colemak keyboard</int>
  <int value="1925299009" label="xkb:br::por">Brazilian keyboard</int>
  <int value="1934249765" label="vkd_th_pattajoti">
    Thai keyboard (Pattachote)
  </int>
  <int value="1957701631" label="am-t-i0-und">Amharic transliteration</int>
  <int value="1970923579" label="xkb:us:intl:nld">Netherlands keyboard</int>
  <int value="1983264676" label="xkb:no::nob">Norwegian keyboard</int>
  <int value="2007323478" label="xkb:cz::cze">Czech keyboard</int>
  <int value="2014669693" label="xkb:kz::kaz">Kazakh keyboard</int>
  <int value="2024146574" label="vkd_lo">Lao keyboard</int>
  <int value="2029882285" label="vkd_kn_phone">Kannada keyboard (Phonetic)</int>
  <int value="2031967946" label="xkb:mt::mlt">Maltese keyboard</int>
  <int value="2051698871" label="nacl_mozc_us">
    Google Japanese Input (for US keyboard)
  </int>
  <int value="2060414855" label="braille">Braille Keyboard</int>
  <int value="2121258069" label="xkb:us:dvorak:eng">US Dvorak keyboard</int>
</enum>

<enum name="InsecureContentType" type="int">
  <int value="0" label="Displayed"/>
  <int value="1" label="Displayed by *.google.com (deprecated)"/>
  <int value="2" label="Displayed by www.google.com (deprecated)"/>
  <int value="3" label="Displayed due to an iframe"/>
  <int value="4" label="Ran"/>
  <int value="5" label="Ran by *.google.com (deprecated)"/>
  <int value="6" label="Ran by www.google.com (deprecated)"/>
  <int value="7" label="Ran from www.youtube.com (deprecated)"/>
  <int value="8" label="Ran due to script"/>
  <int value="9" label="Ran due to CSS"/>
  <int value="10" label="Ran due to a plug-in"/>
  <int value="11" label="Displayed by www.youtube.com (deprecated)"/>
  <int value="12" label="Ran by www.youtube.com (deprecated)"/>
  <int value="13" label="Ran by *.googleusercontent.com (deprecated)"/>
  <int value="14" label="Displayed by mail.google.com (deprecated)"/>
  <int value="15" label="Ran by mail.google.com (deprecated)"/>
  <int value="16" label="Displayed by plus.google.com (deprecated)"/>
  <int value="17" label="Ran by plus.google.com (deprecated)"/>
  <int value="18" label="Displayed by docs.google.com (deprecated)"/>
  <int value="19" label="Ran by docs.google.com (deprecated)"/>
  <int value="20" label="Displayed by sites.google.com (deprecated)"/>
  <int value="21" label="Ran by sites.google.com (deprecated)"/>
  <int value="22" label="Displayed by picasaweb.google.com (deprecated)"/>
  <int value="23" label="Ran by picasaweb.google.com (deprecated)"/>
  <int value="24" label="Displayed by google.com/reader/ (deprecated)"/>
  <int value="25" label="Ran by google.com/reader/ (deprecated)"/>
  <int value="26" label="Displayed by code.google.com (deprecated)"/>
  <int value="27" label="Ran by code.google.com (deprecated)"/>
  <int value="28" label="Displayed by groups.google.com (deprecated)"/>
  <int value="29" label="Ran by groups.google.com (deprecated)"/>
  <int value="30" label="Displayed by maps.google.com (deprecated)"/>
  <int value="31" label="Ran by maps.google.com (deprecated)"/>
  <int value="32" label="Displayed by google.com/support/ (deprecated)"/>
  <int value="33" label="Ran by google.com/support/ (deprecated)"/>
  <int value="34" label="Displayed by google.com/intl/ (deprecated)"/>
  <int value="35" label="Ran by google.com/intl/ (deprecated)"/>
</enum>

<enum name="InstallabilityCheckStatus" type="int">
  <int value="0" label="Check not started"/>
  <int value="1" label="Check terminated before it could finish"/>
  <int value="2" label="Check not complete, site is not a PWA"/>
  <int value="3" label="Check not complete, site is a PWA"/>
  <int value="4" label="Check complete, site is not a PWA"/>
  <int value="5" label="Check complete, site is a PWA"/>
</enum>

<enum name="InstallStatus" type="int">
  <int value="0" label="FIRST_INSTALL_SUCCESS"/>
  <int value="1" label="INSTALL_REPAIRED"/>
  <int value="2" label="NEW_VERSION_UPDATED"/>
  <int value="3" label="EXISTING_VERSION_LAUNCHED"/>
  <int value="4" label="HIGHER_VERSION_EXISTS"/>
  <int value="5" label="USER_LEVEL_INSTALL_EXISTS"/>
  <int value="6" label="SYSTEM_LEVEL_INSTALL_EXISTS"/>
  <int value="7" label="INSTALL_FAILED"/>
  <int value="8" label="SETUP_PATCH_FAILED"/>
  <int value="9" label="OS_NOT_SUPPORTED"/>
  <int value="10" label="OS_ERROR"/>
  <int value="11" label="TEMP_DIR_FAILED"/>
  <int value="12" label="UNCOMPRESSION_FAILED"/>
  <int value="13" label="INVALID_ARCHIVE"/>
  <int value="14" label="INSUFFICIENT_RIGHTS"/>
  <int value="15" label="CHROME_NOT_INSTALLED"/>
  <int value="16" label="CHROME_RUNNING"/>
  <int value="17" label="UNINSTALL_CONFIRMED"/>
  <int value="18" label="UNINSTALL_DELETE_PROFILE"/>
  <int value="19" label="UNINSTALL_SUCCESSFUL"/>
  <int value="20" label="UNINSTALL_FAILED"/>
  <int value="21" label="UNINSTALL_CANCELLED"/>
  <int value="22" label="UNKNOWN_STATUS"/>
  <int value="23" label="RENAME_SUCCESSFUL"/>
  <int value="24" label="RENAME_FAILED"/>
  <int value="25" label="EULA_REJECTED"/>
  <int value="26" label="EULA_ACCEPTED"/>
  <int value="27" label="EULA_ACCEPTED_OPT_IN"/>
  <int value="28" label="INSTALL_DIR_IN_USE"/>
  <int value="29" label="UNINSTALL_REQUIRES_REBOOT"/>
  <int value="30" label="IN_USE_UPDATED"/>
  <int value="31" label="SAME_VERSION_REPAIR_FAILED"/>
  <int value="32" label="REENTRY_SYS_UPDATE"/>
  <int value="33" label="SXS_OPTION_NOT_SUPPORTED"/>
  <int value="42" label="APPLY_DIFF_PATCH_FAILED"/>
  <int value="47" label="INVALID_STATE_FOR_OPTION"/>
  <int value="49" label="PATCH_INVALID_ARGUMENTS"/>
  <int value="50" label="DIFF_PATCH_SOURCE_MISSING"/>
  <int value="51" label="UNUSED_BINARIES"/>
  <int value="52" label="UNUSED_BINARIES_UNINSTALLED"/>
  <int value="53" label="UNSUPPORTED_OPTION"/>
  <int value="54" label="CPU_NOT_SUPPORTED"/>
  <int value="55" label="REENABLE_UPDATES_SUCCEEDED"/>
  <int value="56" label="REENABLE_UPDATES_FAILED"/>
  <int value="57" label="UNPACKING_FAILED"/>
  <int value="58" label="IN_USE_DOWNGRADE"/>
  <int value="59" label="OLD_VERSION_DOWNGRADE"/>
  <int value="60" label="SETUP_SINGLETON_ACQUISITION_FAILED"/>
  <int value="61" label="SETUP_SINGLETON_RELEASED"/>
  <int value="62" label="DELETE_OLD_VERSIONS_SUCCESS"/>
  <int value="63" label="DELETE_OLD_VERSIONS_TOO_MANY_ATTEMPTS"/>
</enum>

<enum name="InstanceIDResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Invalid parameter"/>
  <int value="2" label="GCM disabled"/>
  <int value="3" label="Async operation pending"/>
  <int value="4" label="Network error"/>
  <int value="5" label="Server error"/>
<!-- 6 is omitted, in case we ever merge this enum with GCMClientResult. -->

  <int value="7" label="Unknown error"/>
</enum>

<enum name="InstantAppsCallSource" type="int">
  <int value="1" label="Loading screen"/>
  <int value="2" label="Notification"/>
</enum>

<enum name="InstantControllerEvent" type="int">
  <int value="0" label="URL_ADDED_TO_BLACKLIST"/>
  <int value="1" label="URL_REMOVED_FROM_BLACKLIST"/>
  <int value="2" label="URL_BLOCKED_BY_BLACKLIST"/>
</enum>

<enum name="InstantExtended_CacheableNTPLoad" type="int">
  <int value="0" label="Failed to load"/>
  <int value="1" label="Loaded successfuly"/>
</enum>

<enum name="InstantExtended_FallbackCause" type="int">
  <int value="0" label="Fallback did not occur"/>
  <int value="1" label="Page not current: unknown"/>
  <int value="2" label="Page not current: empty instant url"/>
  <int value="3" label="Page not current: origin/path mismatch"/>
  <int value="4" label="Page not current: instant not supported"/>
  <int value="5" label="No overlay"/>
  <int value="6" label="Javascript disabled"/>
</enum>

<enum name="InstantExtended_InstantNavigation" type="int">
  <obsolete>
    Deprecated as of 10/2013.
  </obsolete>
  <int value="0" label="Local click"/>
  <int value="1" label="Local submit"/>
  <int value="2" label="Online click"/>
  <int value="3" label="Online submit"/>
  <int value="4" label="Non-extended navigation"/>
</enum>

<enum name="InstantExtended_NewOptInState" type="int">
  <int value="0" label="Default"/>
  <int value="1" label="Opted in"/>
  <int value="2" label="Opted out"/>
</enum>

<enum name="InstantExtended_OptInState" type="int">
  <obsolete>
    Deprecated 2013-06.
  </obsolete>
  <int value="0" label="Default"/>
  <int value="1" label="Opted in"/>
  <int value="2" label="Opted out"/>
  <int value="3" label="Opted in local"/>
  <int value="4" label="Opted out local"/>
  <int value="5" label="Opted out both"/>
</enum>

<enum name="InstantSearchClicks_PreviewScrollState" type="int">
  <obsolete>
    Deprecated as of 7/2015.
  </obsolete>
  <int value="0" label="No scroll"/>
  <int value="1" label="Scrolled but not to bottom"/>
  <int value="2" label="Scrolled to bottom."/>
</enum>

<enum name="InstantSearchClicks_ReasonForSwap" type="int">
  <obsolete>
    Deprecated as of 7/2015.
  </obsolete>
  <int value="0" label="Regular swap"/>
  <int value="1" label="Swapped on timeout"/>
  <int value="2" label="Swap aborted due to navigation"/>
  <int value="3" label="No swap as preview failed"/>
  <int value="4" label="Swapped as original failed"/>
</enum>

<enum name="InstantSessionStorageNamespace" type="int">
  <int value="0" label="different"/>
  <int value="1" label="identical"/>
</enum>

<enum name="IntelMaxMicroArchitecture" type="int">
  <int value="0" label="Pentium"/>
  <int value="1" label="SSE"/>
  <int value="2" label="SSE2"/>
  <int value="3" label="SSE3"/>
  <int value="4" label="SSSE3"/>
  <int value="5" label="SSE4.1"/>
  <int value="6" label="SSE4.2"/>
  <int value="7" label="AVX"/>
  <int value="8" label="AVX2"/>
</enum>

<enum name="InternalErrorLoadEvent" type="int">
  <summary>Internal Errors in the page_load_metrics system</summary>
  <int value="0" label="Invalid timing IPC sent from renderer (deprecated)"/>
  <int value="1"
      label="IPC received while not tracking a relevant committed load"/>
  <int value="2" label="IPC received from a frame we navigated away from"/>
  <int value="3" label="IPC received from a bad URL scheme"/>
  <int value="4" label="No IPCs received for this navigation"/>
  <int value="5" label="Page end reported before navigation start"/>
  <int value="6"
      label="Multiple aborted provisional loads at navigation start"/>
  <int value="7"
      label="User input received while not tracking a relevant committed load
             (deprecated)"/>
  <int value="8" label="Inter process TimeTicks skew"/>
  <int value="9" label="No commit or failed provisional load received"/>
  <int value="10" label="No page load end time recorded"/>
  <int value="11" label="Timing IPC received from subframe"/>
  <int value="12" label="Invalid timing IPC (invalid timing descendent)"/>
  <int value="13" label="Invalid timing IPC (invalid behavior descendent)"/>
  <int value="14" label="Invalid timing IPC (invalid timing)"/>
</enum>

<enum name="InterruptReason" type="int">
  <int value="0" label="NONE"/>
  <int value="1" label="FILE_FAILED"/>
  <int value="2" label="FILE_ACCESS_DENIED"/>
  <int value="3" label="FILE_NO_SPACE"/>
  <int value="5" label="FILE_NAME_TOO_LONG"/>
  <int value="6" label="FILE_TOO_LARGE"/>
  <int value="7" label="FILE_VIRUS_INFECTED"/>
  <int value="10" label="FILE_TRANSIENT_ERROR"/>
  <int value="11" label="FILE_BLOCKED"/>
  <int value="12" label="FILE_SECURITY_CHECK_FAILED"/>
  <int value="13" label="FILE_TOO_SHORT"/>
  <int value="20" label="NETWORK_FAILED"/>
  <int value="21" label="NETWORK_TIMEOUT"/>
  <int value="22" label="NETWORK_DISCONNECTED"/>
  <int value="23" label="NETWORK_SERVER_DOWN"/>
  <int value="24" label="NETWORK_INVALID_REQUEST"/>
  <int value="30" label="SERVER_FAILED"/>
  <int value="31" label="SERVER_NO_RANGE"/>
  <int value="32" label="SERVER_PRECONDITION (Deprecated)"/>
  <int value="33" label="SERVER_BAD_CONTENT"/>
  <int value="34" label="SERVER_UNAUTHORIZED"/>
  <int value="35" label="SERVER_CERT_PROBLEM"/>
  <int value="36" label="SERVER_FORBIDDEN"/>
  <int value="37" label="SERVER_UNREACHABLE"/>
  <int value="40" label="USER_CANCELED"/>
  <int value="41" label="USER_SHUTDOWN"/>
  <int value="50" label="CRASH"/>
</enum>

<enum name="InvalidationNetworkChannel" type="int">
  <int value="0" label="PushClientChannel"/>
  <int value="1" label="GCMNetworkChannel"/>
</enum>

<enum name="IOSExternalURLRequestStatus" type="int">
  <int value="0" label="MainFrameAllowed"/>
  <int value="1" label="SubframeAllowed"/>
  <int value="2" label="SubframeBlocked"/>
</enum>

<enum name="IOSShareExtensionReceivedEntrySource" type="int">
  <int value="0" label="Unknown Application"/>
  <int value="1" label="Chrome share extension"/>
</enum>

<enum name="IOSShareExtensionReceivedEntryType" type="int">
  <int value="0" label="Invalid item"/>
  <int value="1" label="Cancelled item"/>
  <int value="2" label="Reading list item"/>
  <int value="3" label="Bookmark item"/>
</enum>

<enum name="IOSSpotlightAction" type="int">
  <int value="0" label="New Tab"/>
  <int value="1" label="New Incognito Tab"/>
  <int value="2" label="Voice Search"/>
  <int value="3" label="QR Code Scanner"/>
</enum>

<enum name="IPCAttachmentBrokerPrivilegedBrokerAttachmentError" type="int">
  <int value="0" label="DESTINATION_FOUND">
    The brokerable attachment had a valid destination. This is the success case.
  </int>
  <int value="1" label="DESTINATION_NOT_FOUND">
    The brokerable attachment had a destination, but the broker did not have a
    channel of communication with that process.
  </int>
  <int value="2" label="NO_DESTINATION">
    The brokerable attachment did not have a destination process.
  </int>
  <int value="3" label="ERROR_MAKE_INTERMEDIATE">
    Error making an intermediate Mach port.
  </int>
  <int value="4" label="ERROR_PARSE_DUPLICATE_MACH_PORT_MESSAGE">
    Error parsing DuplicateMachPort message.
  </int>
  <int value="5" label="ERROR_TASK_FOR_PID">
    Couldn't get a task port for the process with a given pid.
  </int>
  <int value="6" label="ERROR_MAKE_RECEIVE_PORT">
    Couldn't make a port with receive rights in the destination process.
  </int>
  <int value="7" label="ERROR_SET_ATTRIBUTES">
    Couldn't change the attributes of a Mach port.
  </int>
  <int value="8" label="ERROR_EXTRACT_RIGHT_DEST">
    Couldn't extract a right from the destination process.
  </int>
  <int value="9" label="ERROR_SEND_MACH_PORT">
    Couldn't send a Mach port in a call to mach_msg().
  </int>
  <int value="10" label="ERROR_DECREASE_REF">
    Couldn't decrease the ref count on a Mach port.
  </int>
  <int value="11" label="ERROR_EXTRACT_RIGHT_SOURCE">
    Couldn't extract a right from the source process.
  </int>
  <int value="12" label="ERROR_SOURCE_NOT_FOUND">
    Broker didn't have a channel of communication with the source process.
  </int>
  <int value="13" label="ERROR_COULD_NOT_OPEN_SOURCE_OR_DEST">
    Broker could not open the source or destination process with extra
    privileges.
  </int>
  <int value="14" label="ERROR_INVALID_PERMISSIONS">
    Broker was asked to transfer a HANDLE with invalid permissions.
  </int>
  <int value="15" label="DELAYED">
    Broker was not immediately able to send an attachment.
  </int>
  <int value="16" label="DELAYED_SEND">
    Broker successfully sent a delayed attachment.
  </int>
</enum>

<enum name="IPCAttachmentBrokerUnprivilegedBrokerAttachmentError" type="int">
  <int value="0" label="SUCCESS">
    The brokerable attachment was successfully processed.
  </int>
  <int value="1" label="DESTINATION_NOT_FOUND">
    The brokerable attachment's destination was not the process that received
    the attachment.
  </int>
  <int value="2" label="ERR_RECEIVE_MACH_MESSAGE">
    An error occurred while trying to receive a Mach port with mach_msg().
  </int>
</enum>

<enum name="IPPermissionStatus" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Not requested"/>
  <int value="2" label="Requested but denied"/>
  <int value="3"
      label="Requested and granted after checking mic/camera permission"/>
  <int value="4" label="Requested and granted automatically"/>
</enum>

<enum name="IPv6ConnectivityStatus" type="int">
  <int value="0" label="Incomplete IPv6 Configuration"/>
  <int value="1" label="Complete IPv6 Configuration"/>
</enum>

<enum name="IPV6ProbeResult" type="int">
  <int value="0" label="IPV6_CANNOT_CREATE_SOCKETS"/>
  <int value="1" label="IPV6_CAN_CREATE_SOCKETS"/>
  <int value="2" label="IPV6_GETIFADDRS_FAILED">
    getifaddrs or GetAdaptersAddresses failed
  </int>
  <int value="3" label="IPV6_GLOBAL_ADDRESS_MISSING"/>
  <int value="4" label="IPV6_GLOBAL_ADDRESS_PRESENT"/>
  <int value="5" label="IPV6_INTERFACE_ARRAY_TOO_SHORT"/>
</enum>

<enum name="IsPinnedToTaskbarResult" type="int">
  <int value="0" label="Not pinned"/>
  <int value="1" label="Pinned"/>
  <int value="2" label="Failed to determine"/>
</enum>

<enum name="JavaScriptAPIName" type="int">
  <int value="0" label="GetUserMedia"/>
  <int value="1" label="PeerConnection00"/>
  <int value="2" label="DeprecatedPeerConnection"/>
  <int value="3" label="RTCPeerConnection"/>
  <int value="4" label="GetMediaDevices"/>
  <int value="5" label="MediaStreamRecorder"/>
  <int value="6" label="CanvasCaptureStream"/>
  <int value="7" label="VideoCaptureStream"/>
</enum>

<enum name="JavaScriptDialogDismissalCause" type="int">
  <int value="0" label="Tab closed">The tab owning the dialog was closed</int>
  <int value="1" label="New dialog">
    A new dialog was shown, closing the existing dialog
  </int>
  <int value="2" label="HandleDialog">HandleJavaScriptDialog was called</int>
  <int value="3" label="CancelDialog">CancelDialogs was called</int>
  <int value="4" label="Tab hidden">The tab owning the dialog was hidden</int>
  <int value="5" label="Browser switched">
    The browser owning the dialog was deactivated
  </int>
  <int value="6" label="Button click">
    The user clicked on the OK or Cancel button
  </int>
  <int value="7" label="Tab navigated">
    The user navigated the tab (e.g. back/forward, reload)
  </int>
</enum>

<enum name="JumplisticonsDeleteCategory" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Fail as directory name length exceeds MAX_PATH"/>
  <int value="2" label="Fail as directory is read-only"/>
  <int value="3" label="Fail as the input directory is actually a file"/>
  <int value="4" label="Fail as sub-directory exists"/>
  <int value="5" label="Fail to delete max files without attempt failures"/>
  <int value="6" label="Fail as maximum attempt failures allowed are hit"/>
  <int value="7" label="Fail to remove the raw directory"/>
</enum>

<enum name="JumplistIconsDetailedFolderMoveCategory" type="int">
  <int value="0"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="1"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="2"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="3"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="4"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Succeed"/>
  <int value="5"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Succeed"/>
  <int value="6"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Succeed"/>
  <int value="7"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Succeed"/>
  <int value="8"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Fail"/>
  <int value="9"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Fail"/>
  <int value="10"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Fail"/>
  <int value="11"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Fail"/>
  <int value="12"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Fail"/>
  <int value="13"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Fail"/>
  <int value="14"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Fail"/>
  <int value="15"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Fail"/>
  <int value="16"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="17"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="18"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="19"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="20"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Succeed"/>
  <int value="21"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Succeed"/>
  <int value="22"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Succeed"/>
  <int value="23"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Succeed"/>
  <int value="24"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Fail"/>
  <int value="25"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Fail"/>
  <int value="26"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Fail"/>
  <int value="27"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Succeed - DelFile Succeed - DelSourceDir Fail"/>
  <int value="28"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Fail"/>
  <int value="29"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Fail"/>
  <int value="30"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Fail"/>
  <int value="31"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Succeed - DelFile Fail - DelSourceDir Fail"/>
  <int value="32"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="33"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="34"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="35"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="36"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Succeed"/>
  <int value="37"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Succeed"/>
  <int value="38"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Succeed"/>
  <int value="39"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Succeed"/>
  <int value="40"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Fail"/>
  <int value="41"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Fail"/>
  <int value="42"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Fail"/>
  <int value="43"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Fail"/>
  <int value="44"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Fail"/>
  <int value="45"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Fail"/>
  <int value="46"
      label="DelTargetDir Succeed - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Fail"/>
  <int value="47"
      label="DelTargetDir Succeed - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Fail"/>
  <int value="48"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="49"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="50"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="51"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Succeed"/>
  <int value="52"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Succeed"/>
  <int value="53"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Succeed"/>
  <int value="54"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Succeed"/>
  <int value="55"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Succeed"/>
  <int value="56"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Fail"/>
  <int value="57"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Fail"/>
  <int value="58"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Fail"/>
  <int value="59"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Fail - DelFile Succeed - DelSourceDir Fail"/>
  <int value="60"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Succeed -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Fail"/>
  <int value="61"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Succeed -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Fail"/>
  <int value="62"
      label="DelTargetDir Fail - MoveFileEx Succeed - CopyFile Fail -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Fail"/>
  <int value="63"
      label="DelTargetDir Fail - MoveFileEx Fail - CopyFile Fail -
             SourceDirRead Fail - DelFile Fail - DelSourceDir Fail"/>
</enum>

<enum name="JumplistIconsDetailedFolderOperationCategory" type="int">
  <int value="0"
      label="Del Dest Succeed - Mov Succeed - Del Src Succeed - Create Src
             Succeed"/>
  <int value="1"
      label="Del Dest Fail - Mov Succeed - Del Src Succeed - Create Src
             Succeed"/>
  <int value="2"
      label="Del Dest Succeed - Mov Fail - Del Src Succeed - Create Src
             Succeed"/>
  <int value="3"
      label="Del Dest Fail - Mov Fail - Del Src Succeed - Create Src Succeed"/>
  <int value="4"
      label="Del Dest Succeed - Mov Succeed - Del Src Fail - Create Src
             Succeed"/>
  <int value="5"
      label="Del Dest Fail - Mov Succeed - Del Src Fail - Create Src Succeed"/>
  <int value="6"
      label="Del Dest Succeed - Mov Fail - Del Src Fail - Create Src Succeed"/>
  <int value="7"
      label="Del Dest Fail - Mov Fail - Del Src Fail - Create Src Succeed"/>
  <int value="8"
      label="Del Dest Succeed - Mov Succeed - Del Src Succeed - Create Src
             Fail"/>
  <int value="9"
      label="Del Dest Fail - Mov Succeed - Del Src Succeed - Create Src Fail"/>
  <int value="10"
      label="Del Dest Succeed - Mov Fail - Del Src Succeed - Create Src Fail"/>
  <int value="11"
      label="Del Dest Fail - Mov Fail - Del Src Succeed - Create Src Fail"/>
  <int value="12"
      label="Del Dest Succeed - Mov Succeed - Del Src Fail - Create Src Fail"/>
  <int value="13"
      label="Del Dest Fail - Mov Succeed - Del Src Fail - Create Src Fail"/>
  <int value="14"
      label="Del Dest Succeed - Mov Fail - Del Src Fail - Create Src Fail"/>
  <int value="15"
      label="Del Dest Fail - Mov Fail - Del Src Fail - Create Src Fail"/>
</enum>

<enum name="JumplistIconsDetailedFolderOperationDeleteUpdatedCategory"
    type="int">
  <int value="0"
      label="Del Dest Succeed - Rename Succeed - Del Src Content Succeed -
             Del Src Dir Succeed - Create Src Succeed"/>
  <int value="1"
      label="Del Dest Fail - Rename Succeed - Del Src Content Succeed - Del
             Src Dir Succeed - Create Src Succeed"/>
  <int value="2"
      label="Del Dest Succeed - Rename Fail - Del Src Content Succeed - Del
             Src Dir Succeed - Create Src Succeed"/>
  <int value="3"
      label="Del Dest Fail - Rename Fail - Del Src Content Succeed - Del Src
             Dir Succeed - Create Src Succeed"/>
  <int value="4"
      label="Del Dest Succeed - Rename Succeed - Del Src Content Fail - Del
             Src Dir Succeed - Create Src Succeed"/>
  <int value="5"
      label="Del Dest Fail - Rename Succeed - Del Src Content Fail - Del Src
             Dir Succeed - Create Src Succeed"/>
  <int value="6"
      label="Del Dest Succeed - Rename Fail - Del Src Content Fail - Del Src
             Dir Succeed - Create Src Succeed"/>
  <int value="7"
      label="Del Dest Fail - Rename Fail - Del Src Content Fail - Del Src Dir
             Succeed - Create Src Succeed"/>
  <int value="8"
      label="Del Dest Succeed - Rename Succeed - Del Src Content Succeed -
             Del Src Dir Fail - Create Src Succeed"/>
  <int value="9"
      label="Del Dest Fail - Rename Succeed - Del Src Content Succeed - Del
             Src Dir Fail - Create Src Succeed"/>
  <int value="10"
      label="Del Dest Succeed - Rename Fail - Del Src Content Succeed - Del
             Src Dir Fail - Create Src Succeed"/>
  <int value="11"
      label="Del Dest Fail - Rename Fail - Del Src Content Succeed - Del Src
             Dir Fail - Create Src Succeed"/>
  <int value="12"
      label="Del Dest Succeed - Rename Succeed - Del Src Content Fail - Del
             Src Dir Fail - Create Src Succeed"/>
  <int value="13"
      label="Del Dest Fail - Rename Succeed - Del Src Content Fail - Del Src
             Dir Fail - Create Src Succeed"/>
  <int value="14"
      label="Del Dest Succeed - Rename Fail - Del Src Content Fail - Del Src
             Dir Fail - Create Src Succeed"/>
  <int value="15"
      label="Del Dest Fail - Rename Fail - Del Src Content Fail - Del Src Dir
             Fail - Create Src Succeed"/>
  <int value="16"
      label="Del Dest Succeed - Rename Succeed - Del Src Content Succeed -
             Del Src Dir Succeed - Create Src Fail"/>
  <int value="17"
      label="Del Dest Fail - Rename Succeed - Del Src Content Succeed - Del
             Src Dir Succeed - Create Src Fail"/>
  <int value="18"
      label="Del Dest Succeed - Rename Fail - Del Src Content Succeed - Del
             Src Dir Succeed - Create Src Fail"/>
  <int value="19"
      label="Del Dest Fail - Rename Fail - Del Src Content Succeed - Del Src
             Dir Succeed - Create Src Fail"/>
  <int value="20"
      label="Del Dest Succeed - Rename Succeed - Del Src Content Fail - Del
             Src Dir Succeed - Create Src Fail"/>
  <int value="21"
      label="Del Dest Fail - Rename Succeed - Del Src Content Fail - Del Src
             Dir Succeed - Create Src Fail"/>
  <int value="22"
      label="Del Dest Succeed - Rename Fail - Del Src Content Fail - Del Src
             Dir Succeed - Create Src Fail"/>
  <int value="23"
      label="Del Dest Fail - Rename Fail - Del Src Content Fail - Del Src Dir
             Succeed - Create Src Fail"/>
  <int value="24"
      label="Del Dest Succeed - Rename Succeed - Del Src Content Succeed -
             Del Src Dir Fail - Create Src Fail"/>
  <int value="25"
      label="Del Dest Fail - Rename Succeed - Del Src Content Succeed - Del
             Src Dir Fail - Create Src Fail"/>
  <int value="26"
      label="Del Dest Succeed - Rename Fail - Del Src Content Succeed - Del
             Src Dir Fail - Create Src Fail"/>
  <int value="27"
      label="Del Dest Fail - Rename Fail - Del Src Content Succeed - Del Src
             Dir Fail - Create Src Fail"/>
  <int value="28"
      label="Del Dest Succeed - Rename Succeed - Del Src Content Fail - Del
             Src Dir Fail - Create Src Fail"/>
  <int value="29"
      label="Del Dest Fail - Rename Succeed - Del Src Content Fail - Del Src
             Dir Fail - Create Src Fail"/>
  <int value="30"
      label="Del Dest Succeed - Rename Fail - Del Src Content Fail - Del Src
             Dir Fail - Create Src Fail"/>
  <int value="31"
      label="Del Dest Fail - Rename Fail - Del Src Content Fail - Del Src Dir
             Fail - Create Src Fail"/>
</enum>

<enum name="JumplisticonsfolderCategory" type="int">
  <int value="0" label="Del Succeed - Mov Succeed - Create Succeed"/>
  <int value="1" label="Del Fail - Mov Succeed - Create Succeed"/>
  <int value="2" label="Del Succeed - Mov Fail - Create Succeed"/>
  <int value="3" label="Del Fail - Mov Fail - Create Succeed"/>
  <int value="4" label="Del Succeed - Mov Succeed - Create Fail"/>
  <int value="5" label="Del Fail - Mov Succeed - Create Fail"/>
  <int value="6" label="Del Succeed - Mov Fail - Create Fail"/>
  <int value="7" label="Del Fail - Mov Fail - Create Fail"/>
</enum>

<enum name="JumpListIconsFolderExistOrEmptyCategory" type="int">
  <int value="0" label="Empty"/>
  <int value="1" label="Non-Empty"/>
  <int value="2" label="Doesn't exist"/>
</enum>

<enum name="JumplistIconsFolderMoveCategory" type="int">
  <int value="0"
      label="Del Succeed - MaxPathCheck Succeed - MoveFileEx Succeed -
             CopyDelDir Succeed"/>
  <int value="1"
      label="Del Succeed - MaxPathCheck Fail - MoveFileEx Succeed -
             CopyDelDir Succeed"/>
  <int value="2"
      label="Del Succeed - MaxPathCheck Succeed - MoveFileEx Fail -
             CopyDelDir Succeed"/>
  <int value="3"
      label="Del Succeed -MaxPathCheck Fail - MoveFileEx Fail - CopyDelDir
             Succeed"/>
  <int value="4"
      label="Del Succeed -MaxPathCheck Succeed - MoveFileEx Succeed -
             CopyDelDir Fail"/>
  <int value="5"
      label="Del Succeed -MaxPathCheck Fail - MoveFileEx Succeed - CopyDelDir
             Fail"/>
  <int value="6"
      label="Del Succeed -MaxPathCheck Succeed - MoveFileEx Fail - CopyDelDir
             Fail"/>
  <int value="7"
      label="Del Succeed -MaxPathCheck Fail - MoveFileEx Fail - CopyDelDir
             Fail"/>
  <int value="8"
      label="Del Fail - MaxPathCheck Succeed - MoveFileEx Succeed -
             CopyDelDir Succeed"/>
  <int value="9"
      label="Del Fail - MaxPathCheck Fail - MoveFileEx Succeed - CopyDelDir
             Succeed"/>
  <int value="10"
      label="Del Fail - MaxPathCheck Succeed - MoveFileEx Fail - CopyDelDir
             Succeed"/>
  <int value="11"
      label="Del Fail -MaxPathCheck Fail - MoveFileEx Fail - CopyDelDir
             Succeed"/>
  <int value="12"
      label="Del Fail -MaxPathCheck Succeed - MoveFileEx Succeed - CopyDelDir
             Fail"/>
  <int value="13"
      label="Del Fail -MaxPathCheck Fail - MoveFileEx Succeed - CopyDelDir
             Fail"/>
  <int value="14"
      label="Del Fail -MaxPathCheck Succeed - MoveFileEx Fail - CopyDelDir
             Fail"/>
  <int value="15"
      label="Del Fail -MaxPathCheck Fail - MoveFileEx Fail - CopyDelDir Fail"/>
</enum>

<enum name="KeyboardControlEvent" type="int">
  <int value="0" label="Keyboard was shown."/>
  <int value="1" label="Keyboard was automatically hidden."/>
  <int value="2" label="Keyboard was hidden by the user."/>
</enum>

<enum name="KeychainMigrationStatus" type="int">
  <int value="0" label="Migration hasn't started"/>
  <int value="1" label="Migration succeeded"/>
  <int value="2" label="Migation failed once"/>
  <int value="3" label="Migration failed twice"/>
  <int value="4" label="Migration succeeded, Keychain cleaned up"/>
  <int value="5" label="Partial migration"/>
  <int value="6" label="Migration stopped"/>
</enum>

<enum name="KioskLaunchError" type="int">
  <int value="0" label="No error"/>
  <int value="1" label="Has pending launch"/>
  <int value="2" label="Cryptohome daemon not running"/>
  <int value="3" label="Launch with mounted cryptohome"/>
  <int value="4" label="Unable to mount cryptohome"/>
  <int value="5" label="Unable to remove cryptohome"/>
  <int value="6" label="Unable to install app"/>
  <int value="7" label="User cancel"/>
  <int value="8" label="App is not kiosk enabled"/>
  <int value="9" label="Unable to get username hash"/>
  <int value="10" label="Failed to load policy for kiosk account"/>
  <int value="11" label="Unable to download crx"/>
  <int value="12" label="Unable to launch app"/>
</enum>

<enum name="KioskLaunchType" type="int">
  <int value="0" label="Enterprise auto launch"/>
  <int value="1" label="Enterprise manual launch"/>
  <int value="2" label="Consumer auto launch"/>
  <int value="3" label="Consumer manual launch"/>
</enum>

<enum name="LanguageCode" type="int">
  <summary>ISO 639 Language Codes.</summary>
  <int value="24929" label="Afar"/>
  <int value="24930" label="Abkhazian"/>
  <int value="24933" label="Avestan"/>
  <int value="24934" label="Afrikaans"/>
  <int value="24939" label="Akan"/>
  <int value="24941" label="Amharic"/>
  <int value="24942" label="Aragonese"/>
  <int value="24946" label="Arabic"/>
  <int value="24947" label="Assamese"/>
  <int value="24950" label="Avaric"/>
  <int value="24953" label="Aymara"/>
  <int value="24954" label="Azerbaijani"/>
  <int value="25185" label="Bashkir"/>
  <int value="25189" label="Belarusian"/>
  <int value="25191" label="Bulgarian"/>
  <int value="25192" label="Bihari"/>
  <int value="25193" label="Bislama"/>
  <int value="25197" label="Bambara"/>
  <int value="25198" label="Bengali"/>
  <int value="25199" label="Tibetan"/>
  <int value="25202" label="Breton"/>
  <int value="25203" label="Bosnian"/>
  <int value="25441" label="Catalan"/>
  <int value="25445" label="Chechen"/>
  <int value="25448" label="Chamorro"/>
  <int value="25455" label="Corsican"/>
  <int value="25458" label="Cree"/>
  <int value="25459" label="Czech"/>
  <int value="25461" label="Church Slavic"/>
  <int value="25462" label="Chuvash"/>
  <int value="25465" label="Welsh"/>
  <int value="25697" label="Danish"/>
  <int value="25701" label="German"/>
  <int value="25718" label="Divehi"/>
  <int value="25722" label="Dzongkha"/>
  <int value="25957" label="Ewe"/>
  <int value="25964" label="Greek"/>
  <int value="25966" label="English"/>
  <int value="25967" label="Esperanto"/>
  <int value="25971" label="Spanish"/>
  <int value="25972" label="Estonian"/>
  <int value="25973" label="Basque"/>
  <int value="26209" label="Persian"/>
  <int value="26214" label="Fulah"/>
  <int value="26217" label="Finnish"/>
  <int value="26218" label="Fijian"/>
  <int value="26223" label="Faroese"/>
  <int value="26226" label="French"/>
  <int value="26233" label="Western Frisian"/>
  <int value="26465" label="Irish"/>
  <int value="26468" label="Scottish Gaelic"/>
  <int value="26476" label="Galician"/>
  <int value="26478" label="Guarani"/>
  <int value="26485" label="Gujarati"/>
  <int value="26486" label="Manx"/>
  <int value="26721" label="Hausa"/>
  <int value="26725" label="Hebrew"/>
  <int value="26729" label="Hindi"/>
  <int value="26735" label="Hiri Motu"/>
  <int value="26738" label="Croatian"/>
  <int value="26740" label="Haitian"/>
  <int value="26741" label="Hungarian"/>
  <int value="26745" label="Armenian"/>
  <int value="26746" label="Herero"/>
  <int value="26977" label="Interlingua"/>
  <int value="26980" label="Indonesian"/>
  <int value="26981" label="Interlingue"/>
  <int value="26983" label="Igbo"/>
  <int value="26985" label="Sichuan Yi"/>
  <int value="26987" label="Inupiaq"/>
  <int value="26991" label="Ido"/>
  <int value="26995" label="Icelandic"/>
  <int value="26996" label="Italian"/>
  <int value="26997" label="Inuktitut"/>
  <int value="27233" label="Japanese"/>
  <int value="27254" label="Javanese"/>
  <int value="27489" label="Georgian"/>
  <int value="27495" label="Kongo"/>
  <int value="27497" label="Kikuyu"/>
  <int value="27498" label="Kuanyama"/>
  <int value="27499" label="Kazakh"/>
  <int value="27500" label="Kalaallisut"/>
  <int value="27501" label="Khmer"/>
  <int value="27502" label="Kannada"/>
  <int value="27503" label="Korean"/>
  <int value="27506" label="Kanuri"/>
  <int value="27507" label="Kashmiri"/>
  <int value="27509" label="Kurdish"/>
  <int value="27510" label="Komi"/>
  <int value="27511" label="Cornish"/>
  <int value="27513" label="Kirghiz"/>
  <int value="27745" label="Latin"/>
  <int value="27746" label="Luxembourgish"/>
  <int value="27751" label="Ganda"/>
  <int value="27753" label="Limburgish"/>
  <int value="27758" label="Lingala"/>
  <int value="27759" label="Lao"/>
  <int value="27764" label="Lithuanian"/>
  <int value="27765" label="Luba-Katanga"/>
  <int value="27766" label="Latvian"/>
  <int value="28007" label="Malagasy"/>
  <int value="28008" label="Marshallese"/>
  <int value="28009" label="Maori"/>
  <int value="28011" label="Macedonian"/>
  <int value="28012" label="Malayalam"/>
  <int value="28014" label="Mongolian"/>
  <int value="28015" label="Moldavian"/>
  <int value="28018" label="Marathi"/>
  <int value="28019" label="Malay"/>
  <int value="28020" label="Maltese"/>
  <int value="28025" label="Burmese"/>
  <int value="28257" label="Nauru"/>
  <int value="28258" label="Norwegian Bokmal"/>
  <int value="28260" label="North Ndebele"/>
  <int value="28261" label="Nepali"/>
  <int value="28263" label="Ndonga"/>
  <int value="28268" label="Dutch"/>
  <int value="28270" label="Norwegian Nynorsk"/>
  <int value="28271" label="Norwegian"/>
  <int value="28274" label="South Ndebele"/>
  <int value="28278" label="Navajo"/>
  <int value="28281" label="Nyanja"/>
  <int value="28515" label="Occitan"/>
  <int value="28522" label="Ojibwa"/>
  <int value="28525" label="Oromo"/>
  <int value="28530" label="Oriya"/>
  <int value="28531" label="Ossetic"/>
  <int value="28769" label="Punjabi"/>
  <int value="28777" label="Pali"/>
  <int value="28780" label="Polish"/>
  <int value="28787" label="Pashto"/>
  <int value="28788" label="Portuguese"/>
  <int value="29045" label="Quechua"/>
  <int value="29293" label="Romansh"/>
  <int value="29294" label="Rundi"/>
  <int value="29295" label="Romanian"/>
  <int value="29301" label="Russian"/>
  <int value="29303" label="Kinyarwanda"/>
  <int value="29537" label="Sanskrit"/>
  <int value="29539" label="Sardinian"/>
  <int value="29540" label="Sindhi"/>
  <int value="29541" label="Northern Sami"/>
  <int value="29543" label="Sango"/>
  <int value="29544" label="Serbo-Croatian"/>
  <int value="29545" label="Sinhala"/>
  <int value="29547" label="Slovak"/>
  <int value="29548" label="Slovenian"/>
  <int value="29549" label="Samoan"/>
  <int value="29550" label="Shona"/>
  <int value="29551" label="Somali"/>
  <int value="29553" label="Albanian"/>
  <int value="29554" label="Serbian"/>
  <int value="29555" label="Swati"/>
  <int value="29556" label="Southern Sotho"/>
  <int value="29557" label="Sundanese"/>
  <int value="29558" label="Swedish"/>
  <int value="29559" label="Swahili"/>
  <int value="29793" label="Tamil"/>
  <int value="29797" label="Telugu"/>
  <int value="29799" label="Tajik"/>
  <int value="29800" label="Thai"/>
  <int value="29801" label="Tigrinya"/>
  <int value="29803" label="Turkmen"/>
  <int value="29804" label="Tagalog"/>
  <int value="29806" label="Tswana"/>
  <int value="29807" label="Tonga"/>
  <int value="29810" label="Turkish"/>
  <int value="29811" label="Tsonga"/>
  <int value="29812" label="Tatar"/>
  <int value="29815" label="Twi"/>
  <int value="29817" label="Tahitian"/>
  <int value="30055" label="Uighur"/>
  <int value="30059" label="Ukrainian"/>
  <int value="30066" label="Urdu"/>
  <int value="30074" label="Uzbek"/>
  <int value="30309" label="Venda"/>
  <int value="30313" label="Vietnamese"/>
  <int value="30319" label="Volapuk"/>
  <int value="30561" label="Walloon"/>
  <int value="30575" label="Wolof"/>
  <int value="30824" label="Xhosa"/>
  <int value="31081" label="Yiddish"/>
  <int value="31087" label="Yoruba"/>
  <int value="31329" label="Zhuang"/>
  <int value="31336" label="Chinese"/>
  <int value="31349" label="Zulu"/>
  <int value="6382437" label="Achinese"/>
  <int value="6382440" label="Acoli"/>
  <int value="6382689" label="Adangme"/>
  <int value="6382713" label="Adyghe"/>
  <int value="6383201" label="Afro-Asiatic Language"/>
  <int value="6383208" label="Afrihili"/>
  <int value="6383982" label="Ainu"/>
  <int value="6384491" label="Akkadian"/>
  <int value="6384741" label="Aleut"/>
  <int value="6384743" label="Algonquian Language"/>
  <int value="6384756" label="Southern Altai"/>
  <int value="6385255" label="Old English"/>
  <int value="6385264" label="Angika"/>
  <int value="6385761" label="Apache Language"/>
  <int value="6386275" label="Aramaic"/>
  <int value="6386286" label="Araucanian"/>
  <int value="6386288" label="Arapaho"/>
  <int value="6386292" label="Artificial Language"/>
  <int value="6386295" label="Arawak"/>
  <int value="6386529" label="Asu"/>
  <int value="6386548" label="Asturian"/>
  <int value="6386792" label="Athapascan Language"/>
  <int value="6387059" label="Australian Language"/>
  <int value="6387553" label="Awadhi"/>
  <int value="6447460" label="Banda"/>
  <int value="6447465" label="Bamileke Language"/>
  <int value="6447468" label="Baluchi"/>
  <int value="6447470" label="Balinese"/>
  <int value="6447475" label="Basa"/>
  <int value="6447476" label="Baltic Language"/>
  <int value="6448490" label="Beja"/>
  <int value="6448493" label="Bemba"/>
  <int value="6448498" label="Berber"/>
  <int value="6448506" label="Bena"/>
  <int value="6449263" label="Bhojpuri"/>
  <int value="6449515" label="Bikol"/>
  <int value="6449518" label="Bini"/>
  <int value="6450273" label="Siksika"/>
  <int value="6450804" label="Bantu"/>
  <int value="6451809" label="Braj"/>
  <int value="6451832" label="Bodo"/>
  <int value="6452331" label="Batak"/>
  <int value="6452577" label="Buriat"/>
  <int value="6452583" label="Buginese"/>
  <int value="6453614" label="Blin"/>
  <int value="6512996" label="Caddo"/>
  <int value="6513001" label="Central American Indian Language"/>
  <int value="6513010" label="Carib"/>
  <int value="6513013" label="Caucasian Language"/>
  <int value="6513017" label="Cayuga"/>
  <int value="6513512" label="Atsam"/>
  <int value="6514018" label="Cebuano"/>
  <int value="6514028" label="Celtic Language"/>
  <int value="6514535" label="Chiga"/>
  <int value="6514786" label="Chibcha"/>
  <int value="6514791" label="Chagatai"/>
  <int value="6514795" label="Chuukese"/>
  <int value="6514797" label="Mari"/>
  <int value="6514798" label="Chinook Jargon"/>
  <int value="6514799" label="Choctaw"/>
  <int value="6514800" label="Chipewyan"/>
  <int value="6514802" label="Cherokee"/>
  <int value="6514809" label="Cheyenne"/>
  <int value="6516067" label="Chamic Language"/>
  <int value="6516592" label="Coptic"/>
  <int value="6516837" label="English-based Creole or Pidgin"/>
  <int value="6516838" label="French-based Creole or Pidgin"/>
  <int value="6516848" label="Portuguese-based Creole or Pidgin"/>
  <int value="6517352" label="Crimean Turkish"/>
  <int value="6517360" label="Creole or Pidgin"/>
  <int value="6517602" label="Kashubian"/>
  <int value="6518131" label="Cushitic Language"/>
  <int value="6578539" label="Dakota"/>
  <int value="6578546" label="Dargwa"/>
  <int value="6578550" label="Taita"/>
  <int value="6578553" label="Dayak"/>
  <int value="6579564" label="Delaware"/>
  <int value="6579566" label="Slave"/>
  <int value="6580082" label="Dogrib"/>
  <int value="6580590" label="Dinka"/>
  <int value="6580837" label="Zarma"/>
  <int value="6582121" label="Dogri"/>
  <int value="6582881" label="Dravidian Language"/>
  <int value="6583138" label="Lower Sorbian"/>
  <int value="6583649" label="Duala"/>
  <int value="6583661" label="Middle Dutch"/>
  <int value="6584693" label="Dyula"/>
  <int value="6644341" label="Embu"/>
  <int value="6645353" label="Efik"/>
  <int value="6645625" label="Ancient Egyptian"/>
  <int value="6646625" label="Ekajuk"/>
  <int value="6646904" label="Elamite"/>
  <int value="6647405" label="Middle English"/>
  <int value="6649711" label="Ewondo"/>
  <int value="6709614" label="Fang"/>
  <int value="6709620" label="Fanti"/>
  <int value="6711660" label="Filipino"/>
  <int value="6711669" label="Finno-Ugrian Language"/>
  <int value="6713198" label="Fon"/>
  <int value="6713965" label="Middle French"/>
  <int value="6713967" label="Old French"/>
  <int value="6713970" label="Northern Frisian"/>
  <int value="6713971" label="Eastern Frisian"/>
  <int value="6714738" label="Friulian"/>
  <int value="6775137" label="Ga"/>
  <int value="6775161" label="Gayo"/>
  <int value="6775393" label="Gbaya"/>
  <int value="6776173" label="Germanic Language"/>
  <int value="6776186" label="Geez"/>
  <int value="6777196" label="Gilbertese"/>
  <int value="6778216" label="Middle High German"/>
  <int value="6778728" label="Old High German"/>
  <int value="6778734" label="Gondi"/>
  <int value="6778738" label="Gorontalo"/>
  <int value="6778740" label="Gothic"/>
  <int value="6779490" label="Grebo"/>
  <int value="6779491" label="Ancient Greek"/>
  <int value="6779767" label="Swiss German"/>
  <int value="6780282" label="Gusii"/>
  <int value="6780777" label="Gwich'in"/>
  <int value="6840681" label="Haida"/>
  <int value="6840695" label="Hawaiian"/>
  <int value="6842732" label="Hiligaynon"/>
  <int value="6842733" label="Himachali"/>
  <int value="6842740" label="Hittite"/>
  <int value="6843758" label="Hmong"/>
  <int value="6845282" label="Upper Sorbian"/>
  <int value="6845808" label="Hupa"/>
  <int value="6906465" label="Iban"/>
  <int value="6908527" label="Ijo"/>
  <int value="6909039" label="Iloko"/>
  <int value="6909539" label="Indic Language"/>
  <int value="6909541" label="Indo-European Language"/>
  <int value="6909544" label="Ingush"/>
  <int value="6910561" label="Iranian Language"/>
  <int value="6910575" label="Iroquoian Language"/>
  <int value="6972015" label="Lojban"/>
  <int value="6974819" label="Machame"/>
  <int value="6975602" label="Judeo-Persian"/>
  <int value="6976098" label="Judeo-Arabic"/>
  <int value="7037281" label="Kara-Kalpak"/>
  <int value="7037282" label="Kabyle"/>
  <int value="7037283" label="Kachin"/>
  <int value="7037290" label="Jju"/>
  <int value="7037293" label="Kamba"/>
  <int value="7037298" label="Karen"/>
  <int value="7037303" label="Kawi"/>
  <int value="7037540" label="Kabardian"/>
  <int value="7037799" label="Tyap"/>
  <int value="7038053" label="Makonde"/>
  <int value="7038305" label="Kabuverdianu"/>
  <int value="7038575" label="Koro"/>
  <int value="7039073" label="Khasi"/>
  <int value="7039081" label="Khoisan Language"/>
  <int value="7039087" label="Khotanese"/>
  <int value="7039089" label="Koyra Chiini"/>
  <int value="7040110" label="Kalenjin"/>
  <int value="7040354" label="Kimbundu"/>
  <int value="7040875" label="Konkani"/>
  <int value="7040883" label="Kosraean"/>
  <int value="7041125" label="Kpelle"/>
  <int value="7041635" label="Karachay-Balkar"/>
  <int value="7041644" label="Karelian"/>
  <int value="7041647" label="Kru"/>
  <int value="7041653" label="Kurukh"/>
  <int value="7041890" label="Shambala"/>
  <int value="7041896" label="Colognian"/>
  <int value="7042413" label="Kumyk"/>
  <int value="7042420" label="Kutenai"/>
  <int value="7102820" label="Ladino"/>
  <int value="7102823" label="Langi"/>
  <int value="7102824" label="Lahnda"/>
  <int value="7102829" label="Lamba"/>
  <int value="7103866" label="Lezghian"/>
  <int value="7106412" label="Mongo"/>
  <int value="7106426" label="Lozi"/>
  <int value="7107937" label="Luba-Lulua"/>
  <int value="7107945" label="Luiseno"/>
  <int value="7107950" label="Lunda"/>
  <int value="7107951" label="Luo"/>
  <int value="7107955" label="Lushai"/>
  <int value="7107961" label="Luyia"/>
  <int value="7168356" label="Madurese"/>
  <int value="7168359" label="Magahi"/>
  <int value="7168361" label="Maithili"/>
  <int value="7168363" label="Makasar"/>
  <int value="7168366" label="Mandingo"/>
  <int value="7168368" label="Austronesian Language"/>
  <int value="7168371" label="Masai"/>
  <int value="7169126" label="Moksha"/>
  <int value="7169138" label="Mandar"/>
  <int value="7169390" label="Mende"/>
  <int value="7169394" label="Meru"/>
  <int value="7169637" label="Morisyen"/>
  <int value="7169889" label="Middle Irish"/>
  <int value="7170403" label="Micmac"/>
  <int value="7170414" label="Minangkabau"/>
  <int value="7170419" label="Miscellaneous Language"/>
  <int value="7170920" label="Mon-Khmer Language"/>
  <int value="7171683" label="Manchu"/>
  <int value="7171689" label="Manipuri"/>
  <int value="7171695" label="Manobo Language"/>
  <int value="7171944" label="Mohawk"/>
  <int value="7171955" label="Mossi"/>
  <int value="7173484" label="Multiple Languages"/>
  <int value="7173486" label="Munda Language"/>
  <int value="7173491" label="Creek"/>
  <int value="7173996" label="Mirandese"/>
  <int value="7174002" label="Marwari"/>
  <int value="7174510" label="Mayan Language"/>
  <int value="7174518" label="Erzya"/>
  <int value="7233896" label="Nahuatl"/>
  <int value="7233897" label="North American Indian Language"/>
  <int value="7233904" label="Neapolitan"/>
  <int value="7233905" label="Nama"/>
  <int value="7234675" label="Low German"/>
  <int value="7234935" label="Newari"/>
  <int value="7235937" label="Nias"/>
  <int value="7235939" label="Niger-Kordofanian Language"/>
  <int value="7235957" label="Niuean"/>
  <int value="7237479" label="Nogai"/>
  <int value="7237486" label="Old Norse"/>
  <int value="7237999" label="N'Ko"/>
  <int value="7238511" label="Northern Sotho"/>
  <int value="7239010" label="Nubian Language"/>
  <int value="7239523" label="Classical Newari"/>
  <int value="7240045" label="Nyamwezi"/>
  <int value="7240046" label="Nyankole"/>
  <int value="7240047" label="Nyoro"/>
  <int value="7240297" label="Nzima"/>
  <int value="7304033" label="Osage"/>
  <int value="7304289" label="Ottoman Turkish"/>
  <int value="7304303" label="Otomian Language"/>
  <int value="7364961" label="Papuan Language"/>
  <int value="7364967" label="Pangasinan"/>
  <int value="7364972" label="Pahlavi"/>
  <int value="7364973" label="Pampanga"/>
  <int value="7364976" label="Papiamento"/>
  <int value="7364981" label="Palauan"/>
  <int value="7365999" label="Old Persian"/>
  <int value="7366761" label="Philippine Language"/>
  <int value="7366766" label="Phoenician"/>
  <int value="7368558" label="Pohnpeian"/>
  <int value="7369313" label="Prakrit Language"/>
  <int value="7369327" label="Old Provencal"/>
  <int value="7496042" label="Rajasthani"/>
  <int value="7496048" label="Rapanui"/>
  <int value="7496050" label="Rarotongan"/>
  <int value="7499617" label="Romance Language"/>
  <int value="7499622" label="Rombo"/>
  <int value="7499629" label="Romany"/>
  <int value="7501168" label="Aromanian"/>
  <int value="7501675" label="Rwa"/>
  <int value="7561572" label="Sandawe"/>
  <int value="7561576" label="Yakut"/>
  <int value="7561577" label="South American Indian Language"/>
  <int value="7561580" label="Salishan Language"/>
  <int value="7561581" label="Samaritan Aramaic"/>
  <int value="7561585" label="Samburu"/>
  <int value="7561587" label="Sasak"/>
  <int value="7561588" label="Santali"/>
  <int value="7562094" label="Sicilian"/>
  <int value="7562095" label="Scots"/>
  <int value="7562597" label="Seneca"/>
  <int value="7562600" label="Sena"/>
  <int value="7562604" label="Selkup"/>
  <int value="7562605" label="Semitic Language"/>
  <int value="7562611" label="Koyraboro Senni"/>
  <int value="7563105" label="Old Irish"/>
  <int value="7563118" label="Sign Language"/>
  <int value="7563369" label="Tachelhit"/>
  <int value="7563374" label="Shan"/>
  <int value="7563620" label="Sidamo"/>
  <int value="7563631" label="Siouan Language"/>
  <int value="7563636" label="Sino-Tibetan Language"/>
  <int value="7564385" label="Slavic Language"/>
  <int value="7564641" label="Southern Sami"/>
  <int value="7564649" label="Sami Language"/>
  <int value="7564650" label="Lule Sami"/>
  <int value="7564654" label="Inari Sami"/>
  <int value="7564659" label="Skolt Sami"/>
  <int value="7564907" label="Soninke"/>
  <int value="7565159" label="Sogdien"/>
  <int value="7565166" label="Songhai"/>
  <int value="7565934" label="Sranan Tongo"/>
  <int value="7565938" label="Serer"/>
  <int value="7566177" label="Nilo-Saharan Language"/>
  <int value="7566201" label="Saho"/>
  <int value="7566699" label="Sukuma"/>
  <int value="7566707" label="Susu"/>
  <int value="7566712" label="Sumerian"/>
  <int value="7567202" label="Comorian"/>
  <int value="7567715" label="Classical Syriac"/>
  <int value="7567730" label="Syriac"/>
  <int value="7627113" label="Tai Language"/>
  <int value="7628141" label="Timne"/>
  <int value="7628143" label="Teso"/>
  <int value="7628146" label="Tereno"/>
  <int value="7628148" label="Tetum"/>
  <int value="7629159" label="Tigre"/>
  <int value="7629174" label="Tiv"/>
  <int value="7629676" label="Tokelau"/>
  <int value="7629928" label="Klingon"/>
  <int value="7629929" label="Tlingit"/>
  <int value="7630184" label="Tamashek"/>
  <int value="7630695" label="Nyasa Tonga"/>
  <int value="7630953" label="Tok Pisin"/>
  <int value="7631478" label="Taroko"/>
  <int value="7631721" label="Tsimshian"/>
  <int value="7632237" label="Tumbuka"/>
  <int value="7632240" label="Tupi Language"/>
  <int value="7632244" label="Altaic Language"/>
  <int value="7632492" label="Tuvalu"/>
  <int value="7632753" label="Tasawaq"/>
  <int value="7633270" label="Tuvinian"/>
  <int value="7633517" label="Central Morocco Tamazight"/>
  <int value="7693421" label="Udmurt"/>
  <int value="7694177" label="Ugaritic"/>
  <int value="7695714" label="Umbundu"/>
  <int value="7695972" label="Unknown Language"/>
  <int value="7758185" label="Vai"/>
  <int value="7761780" label="Votic"/>
  <int value="7763310" label="Vunjo"/>
  <int value="7823723" label="Wakashan Language"/>
  <int value="7823724" label="Walamo"/>
  <int value="7823730" label="Waray"/>
  <int value="7823731" label="Washo"/>
  <int value="7824750" label="Sorbian Language"/>
  <int value="7889260" label="Kalmyk"/>
  <int value="7892839" label="Soga"/>
  <int value="7954799" label="Yao"/>
  <int value="7954800" label="Yapese"/>
  <int value="7958635" label="Yupik Language"/>
  <int value="7959909" label="Cantonese"/>
  <int value="8020336" label="Zapotec"/>
  <int value="8020588" label="Blissymbols"/>
  <int value="8021358" label="Zenaga"/>
  <int value="8023652" label="Zande"/>
  <int value="8025454" label="Zuni"/>
  <int value="8026232" label="No linguistic content"/>
  <int value="8026721" label="Zaza"/>
</enum>

<enum name="LastSettingParsed" type="int">
  <obsolete>
    Deprecated 2015-10-05 in Issue 433475. Histogram was used temorarily for
    diagnosing crash causes.
  </obsolete>
  <int value="0" label="Update Empty"/>
  <int value="1" label="Update Parsed"/>
  <int value="2" label="Update Invalid"/>
  <int value="3" label="UpdateOrigins Empty"/>
  <int value="4" label="UpdateOrigins Parsed"/>
  <int value="5" label="UpdateOrigins Invalid"/>
  <int value="6" label="HandleUpdateOrigins Empty"/>
  <int value="7" label="HandleUpdateOrigins Parsed"/>
  <int value="8" label="HandleUpdateOrigins Invalid"/>
</enum>

<enum name="LaunchErrorCodes" type="int">
  <int value="0" label="SBOX_ALL_OK"/>
  <int value="1" label="SBOX_ERROR_GENERIC"/>
  <int value="2" label="SBOX_ERROR_BAD_PARAMS"/>
  <int value="3" label="SBOX_ERROR_UNSUPPORTED"/>
  <int value="4" label="SBOX_ERROR_NO_SPACE"/>
  <int value="5" label="SBOX_ERROR_INVALID_IPC"/>
  <int value="6" label="SBOX_ERROR_FAILED_IPC"/>
  <int value="7" label="SBOX_ERROR_NO_HANDLE"/>
  <int value="8" label="SBOX_ERROR_UNEXPECTED_CALL"/>
  <int value="9" label="SBOX_ERROR_WAIT_ALREADY_CALLED"/>
  <int value="10" label="SBOX_ERROR_CHANNEL_ERROR"/>
  <int value="11" label="SBOX_ERROR_CANNOT_CREATE_DESKTOP"/>
  <int value="12" label="SBOX_ERROR_CANNOT_CREATE_WINSTATION"/>
  <int value="13" label="SBOX_ERROR_FAILED_TO_SWITCH_BACK_WINSTATION"/>
  <int value="14" label="SBOX_ERROR_INVALID_APP_CONTAINER"/>
  <int value="15" label="SBOX_ERROR_INVALID_CAPABILITY"/>
  <int value="16" label="SBOX_ERROR_CANNOT_INIT_APPCONTAINER"/>
  <int value="17" label="SBOX_ERROR_PROC_THREAD_ATTRIBUTES"/>
  <int value="18" label="SBOX_ERROR_CREATE_PROCESS"/>
  <int value="19" label="SBOX_ERROR_DELEGATE_PRE_SPAWN"/>
  <int value="20" label="SBOX_ERROR_ASSIGN_PROCESS_TO_JOB_OBJECT"/>
  <int value="21" label="SBOX_ERROR_SET_THREAD_TOKEN"/>
  <int value="22" label="SBOX_ERROR_GET_THREAD_CONTEXT"/>
  <int value="23" label="SBOX_ERROR_DUPLICATE_TARGET_INFO"/>
  <int value="24" label="SBOX_ERROR_SET_LOW_BOX_TOKEN"/>
  <int value="25" label="SBOX_ERROR_CREATE_FILE_MAPPING"/>
  <int value="26" label="SBOX_ERROR_DUPLICATE_SHARED_SECTION"/>
  <int value="27" label="SBOX_ERROR_MAP_VIEW_OF_SHARED_SECTION"/>
  <int value="28" label="SBOX_ERROR_APPLY_ASLR_MITIGATIONS"/>
  <int value="29" label="SBOX_ERROR_SETUP_BASIC_INTERCEPTIONS"/>
  <int value="30" label="SBOX_ERROR_SETUP_INTERCEPTION_SERVICE"/>
  <int value="31" label="SBOX_ERROR_INITIALIZE_INTERCEPTIONS"/>
  <int value="32" label="SBOX_ERROR_SETUP_NTDLL_IMPORTS"/>
  <int value="33" label="SBOX_ERROR_SETUP_HANDLE_CLOSER"/>
  <int value="34" label="SBOX_ERROR_CANNOT_GET_WINSTATION"/>
  <int value="35" label="SBOX_ERROR_CANNOT_QUERY_WINSTATION_SECURITY"/>
  <int value="36" label="SBOX_ERROR_CANNOT_GET_DESKTOP"/>
  <int value="37" label="SBOX_ERROR_CANNOT_QUERY_DESKTOP_SECURITY"/>
  <int value="38" label="SBOX_ERROR_CANNOT_SETUP_INTERCEPTION_CONFIG_BUFFER"/>
  <int value="39" label="SBOX_ERROR_CANNOT_COPY_DATA_TO_CHILD"/>
  <int value="40" label="SBOX_ERROR_CANNOT_SETUP_INTERCEPTION_THUNK"/>
  <int value="41" label="SBOX_ERROR_CANNOT_RESOLVE_INTERCEPTION_THUNK"/>
  <int value="42" label="SBOX_ERROR_CANNOT_WRITE_INTERCEPTION_THUNK"/>
  <int value="43" label="SBOX_ERROR_CANNOT_FIND_BASE_ADDRESS"/>
  <int value="1002" label="LAUNCH_RESULT_SUCCESS"/>
  <int value="1003" label="LAUNCH_RESULT_FAILURE"/>
</enum>

<enum name="LaunchFromHomeScreen" type="int">
  <int value="0" label="Launched as standalone web app"/>
  <int value="1" label="Launched as a tab"/>
</enum>

<enum name="LaunchFromHomeScreenSource" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Menu item (deprecated in M57+)"/>
  <int value="2" label="App banner"/>
  <int value="3" label="Bookmark navigator widget"/>
  <int value="4" label="Bookmark shortcut widget"/>
  <int value="5" label="Notification"/>
  <int value="6" label="Menu item (PWA)"/>
  <int value="7" label="Menu item (standalone)"/>
  <int value="8" label="Menu item (shortcut)"/>
  <int value="9" label="External intent"/>
</enum>

<enum name="LaunchIntentFlags" type="int">
  <int value="0" label="No flags"/>
  <int value="524288" label="NEW_DOCUMENT"/>
  <int value="268435456" label="NEW_TASK"/>
  <int value="268959744" label="NEW_TASK | NEW_DOCUMENT"/>
</enum>

<enum name="LazyCSSParseUsage" type="int">
  <int value="0" label="&gt;= 0%"/>
  <int value="1" label="&gt; 10%"/>
  <int value="2" label="&gt; 25%"/>
  <int value="3" label="&gt; 50%"/>
  <int value="4" label="&gt; 75%"/>
  <int value="5" label="&gt; 90%"/>
  <int value="6" label="= 100%"/>
</enum>

<enum name="LevelDBCorruptionRestoreValue" type="int">
  <int value="0" label="Database Delete Success"/>
  <int value="1" label="Database Delete Failure"/>
  <int value="2" label="Database Repair Success"/>
</enum>

<enum name="LevelDBCorruptionTypes" type="int">
  <int value="0" label="other"/>
  <int value="1" label="missing files"/>
  <int value="2" label="log record too small"/>
  <int value="3" label="corrupted internal key"/>
  <int value="4" label="partial record"/>
  <int value="5" label="missing start of fragmented record"/>
  <int value="6" label="error in middle of record"/>
  <int value="7" label="unknown record type"/>
  <int value="8" label="truncated record at end"/>
  <int value="9" label="bad record length"/>
  <int value="10" label="VersionEdit"/>
  <int value="11" label="FileReader invoked with unexpected value"/>
  <int value="12" label="corrupted key"/>
  <int value="13" label="CURRENT file does not end with newline"/>
  <int value="14" label="no meta-nextfile entry"/>
  <int value="15" label="no meta-lognumber entry"/>
  <int value="16" label="no last-sequence-number entry"/>
  <int value="17" label="malformed WriteBatch"/>
  <int value="18" label="bad WriteBatch Put"/>
  <int value="19" label="bad WriteBatch Delete"/>
  <int value="20" label="unknown WriteBatch tag"/>
  <int value="21" label="WriteBatch has wrong count"/>
  <int value="22" label="bad entry in block"/>
  <int value="23" label="bad block contents"/>
  <int value="24" label="bad block handle"/>
  <int value="25" label="truncated block read"/>
  <int value="26" label="block checksum mismatch"/>
  <int value="27" label="checksum mismatch"/>
  <int value="28" label="corrupted compressed block contents"/>
  <int value="29" label="bad block type"/>
  <int value="30" label="bad magic number"/>
  <int value="31" label="file is too short"/>
</enum>

<enum name="LevelDBDatabaseCorruptionRestoreValue" type="int">
  <int value="0" label="Delete Success"/>
  <int value="1" label="Delete Failure"/>
  <int value="2" label="Repair Success"/>
</enum>

<enum name="LevelDBErrorCount" type="int">
  <int value="1" label="Failure"/>
</enum>

<enum name="LevelDBErrorTypes" type="int">
  <int value="0" label="NotFound"/>
  <int value="1" label="Corruption"/>
  <int value="2" label="IOError"/>
  <int value="3" label="Other"/>
</enum>

<enum name="LevelDBIOErrorMethods" type="int">
  <int value="0" label="SequentialFileRead"/>
  <int value="1" label="SequentialFileSkip"/>
  <int value="2" label="RandomAccessFileRead"/>
  <int value="3" label="WritableFileAppend"/>
  <int value="4" label="WritableFileClose"/>
  <int value="5" label="WritableFileFlush"/>
  <int value="6" label="WritableFileSync"/>
  <int value="7" label="NewSequentialFile"/>
  <int value="8" label="NewRandomAccessFile"/>
  <int value="9" label="NewWritableFile"/>
  <int value="10" label="DeleteFile"/>
  <int value="11" label="CreateDir"/>
  <int value="12" label="DeleteDir"/>
  <int value="13" label="GetFileSize"/>
  <int value="14" label="RenameFile"/>
  <int value="15" label="LockFile"/>
  <int value="16" label="UnlockFile"/>
  <int value="17" label="GetTestDirectory"/>
  <int value="18" label="NewLogger"/>
  <int value="19" label="SyncParent"/>
  <int value="20" label="GetChildren"/>
  <int value="21" label="NewAppendableFile"/>
</enum>

<enum name="LevelDBStatus" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Not Found"/>
  <int value="2" label="Corruption"/>
  <int value="3" label="Not Supported"/>
  <int value="4" label="Invalid Argument"/>
  <int value="5" label="IO Error"/>
</enum>

<enum name="LevelDBValueCorruptionDeleteValue" type="int">
  <int value="0" label="Delete Success"/>
  <int value="1" label="Delete Failure"/>
</enum>

<enum name="LibraryLoadFromApkStatus" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Not supported">obsolete</int>
  <int value="2" label="Supported">obsolete</int>
  <int value="3" label="Successful"/>
  <int value="4" label="Used unpack library fallback">obsolete</int>
  <int value="5" label="Used no map executable support fallback">obsolete</int>
</enum>

<enum name="LinkMonitorFailureType" type="int">
  <int value="0" label="Local MAC Address Not Found"/>
  <int value="1" label="Client Startup Failure"/>
  <int value="2" label="Transmission Failure"/>
  <int value="3" label="Failure Threshold Reached"/>
</enum>

<enum name="LinuxAudioIO" type="int">
  <int value="0" label="PulseAudio"/>
  <int value="1" label="ALSA"/>
  <int value="2" label="Cras"/>
</enum>

<enum name="LinuxBackendUsage" type="int">
  <int value="0" label="KDE_NOFLAG_PLAINTEXT"/>
  <int value="1" label="KDE_NOFLAG_KWALLET"/>
  <int value="2" label="KDE_KWALLETFLAG_PLAINTEXT"/>
  <int value="3" label="KDE_KWALLETFLAG_KWALLET"/>
  <int value="4" label="KDE_GNOMEFLAG_PLAINTEXT"/>
  <int value="5" label="KDE_GNOMEFLAG_KEYRING"/>
  <int value="6" label="KDE_GNOMEFLAG_LIBSECRET"/>
  <int value="7" label="KDE_BASICFLAG_PLAINTEXT"/>
  <int value="8" label="GNOME_NOFLAG_PLAINTEXT"/>
  <int value="9" label="GNOME_NOFLAG_KEYRING"/>
  <int value="10" label="GNOME_NOFLAG_LIBSECRET"/>
  <int value="11" label="GNOME_GNOMEFLAG_PLAINTEXT"/>
  <int value="12" label="GNOME_GNOMEFLAG_KEYRING"/>
  <int value="13" label="GNOME_GNOMEFLAG_LIBSECRET"/>
  <int value="14" label="GNOME_KWALLETFLAG_PLAINTEXT"/>
  <int value="15" label="GNOME_KWALLETFLAG_KWALLET"/>
  <int value="16" label="GNOME_BASICFLAG_PLAINTEXT"/>
  <int value="17" label="OTHER_PLAINTEXT"/>
  <int value="18" label="OTHER_KWALLET"/>
  <int value="19" label="OTHER_KEYRING"/>
  <int value="20" label="OTHER_LIBSECRET"/>
</enum>

<enum name="LinuxGlibcVersion" type="int">
  <int value="0" label="Not Parseable"/>
  <int value="1" label="Unknown"/>
  <int value="2" label="2.11"/>
  <int value="3" label="2.12"/>
  <int value="4" label="2.13"/>
  <int value="5" label="2.14"/>
  <int value="6" label="2.15"/>
  <int value="7" label="2.16"/>
  <int value="8" label="2.17"/>
  <int value="9" label="2.18"/>
  <int value="10" label="2.19"/>
  <int value="11" label="2.20"/>
  <int value="12" label="2.21"/>
  <int value="13" label="2.22"/>
  <int value="14" label="2.23"/>
  <int value="15" label="2.24"/>
  <int value="16" label="2.25"/>
  <int value="17" label="2.26"/>
  <int value="18" label="2.27"/>
  <int value="19" label="2.28"/>
  <int value="20" label="2.29"/>
</enum>

<enum name="LinuxSandboxStatus" type="int">
  <int value="0" label="none"/>
  <int value="1" label="suid"/>
  <int value="2" label="pidns"/>
  <int value="3" label="suid, pidns"/>
  <int value="4" label="netns"/>
  <int value="5" label="suid, netns"/>
  <int value="6" label="pidns, netns"/>
  <int value="7" label="suid, pidns, netns"/>
  <int value="8" label="seccomp-bpf"/>
  <int value="9" label="suid, seccomp-bpf"/>
  <int value="10" label="pidns, seccomp-bpf"/>
  <int value="11" label="suid, pidns, seccomp-bpf"/>
  <int value="12" label="netns, seccomp-bpf"/>
  <int value="13" label="suid, netns, seccomp-bpf"/>
  <int value="14" label="pidns, netns, seccomp-bpf"/>
  <int value="15" label="suid, pidns, netns, seccomp-bpf"/>
  <int value="16" label="yama"/>
  <int value="17" label="suid, yama"/>
  <int value="18" label="pidns, yama"/>
  <int value="19" label="suid, pidns, yama"/>
  <int value="20" label="netns, yama"/>
  <int value="21" label="suid, netns, yama"/>
  <int value="22" label="pidns, netns, yama"/>
  <int value="23" label="suid, pidns, netns, yama"/>
  <int value="24" label="seccomp-bpf, yama"/>
  <int value="25" label="suid, seccomp-bpf, yama"/>
  <int value="26" label="pidns, seccomp-bpf, yama"/>
  <int value="27" label="suid, pidns, seccomp-bpf, yama"/>
  <int value="28" label="netns, seccomp-bpf, yama"/>
  <int value="29" label="suid, netns, seccomp-bpf, yama"/>
  <int value="30" label="pidns, netns, seccomp-bpf, yama"/>
  <int value="31" label="suid, pidns, netns, seccomp-bpf, yama"/>
  <int value="32" label="seccomp-tsync"/>
  <int value="33" label="suid, seccomp-tsync"/>
  <int value="34" label="pidns, seccomp-tsync"/>
  <int value="35" label="suid, pidns, seccomp-tsync"/>
  <int value="36" label="netns, seccomp-tsync"/>
  <int value="37" label="suid, netns, seccomp-tsync"/>
  <int value="38" label="pidns, netns, seccomp-tsync"/>
  <int value="39" label="suid, pidns, netns, seccomp-tsync"/>
  <int value="40" label="seccomp-bpf, seccomp-tsync"/>
  <int value="41" label="suid, seccomp-bpf, seccomp-tsync"/>
  <int value="42" label="pidns, seccomp-bpf, seccomp-tsync"/>
  <int value="43" label="suid, pidns, seccomp-bpf, seccomp-tsync"/>
  <int value="44" label="netns, seccomp-bpf, seccomp-tsync"/>
  <int value="45" label="suid, netns, seccomp-bpf, seccomp-tsync"/>
  <int value="46" label="pidns, netns, seccomp-bpf, seccomp-tsync"/>
  <int value="47" label="suid, pidns, netns, seccomp-bpf, seccomp-tsync"/>
  <int value="48" label="yama, seccomp-tsync"/>
  <int value="49" label="suid, yama, seccomp-tsync"/>
  <int value="50" label="pidns, yama, seccomp-tsync"/>
  <int value="51" label="suid, pidns, yama, seccomp-tsync"/>
  <int value="52" label="netns, yama, seccomp-tsync"/>
  <int value="53" label="suid, netns, yama, seccomp-tsync"/>
  <int value="54" label="pidns, netns, yama, seccomp-tsync"/>
  <int value="55" label="suid, pidns, netns, yama, seccomp-tsync"/>
  <int value="56" label="seccomp-bpf, yama, seccomp-tsync"/>
  <int value="57" label="suid, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="58" label="pidns, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="59" label="suid, pidns, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="60" label="netns, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="61" label="suid, netns, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="62" label="pidns, netns, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="63" label="suid, pidns, netns, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="64" label="userns"/>
  <int value="65" label="suid, userns"/>
  <int value="66" label="userns, pidns"/>
  <int value="67" label="suid, userns, pidns"/>
  <int value="68" label="userns, netns"/>
  <int value="69" label="suid, userns, netns"/>
  <int value="70" label="userns, pidns, netns"/>
  <int value="71" label="suid, userns, pidns, netns"/>
  <int value="72" label="userns, seccomp-bpf"/>
  <int value="73" label="suid, userns, seccomp-bpf"/>
  <int value="74" label="userns, pidns, seccomp-bpf"/>
  <int value="75" label="suid, userns, pidns, seccomp-bpf"/>
  <int value="76" label="userns, netns, seccomp-bpf"/>
  <int value="77" label="suid, userns, netns, seccomp-bpf"/>
  <int value="78" label="userns, pidns, netns, seccomp-bpf"/>
  <int value="79" label="suid, userns, pidns, netns, seccomp-bpf"/>
  <int value="80" label="userns, yama"/>
  <int value="81" label="suid, userns, yama"/>
  <int value="82" label="userns, pidns, yama"/>
  <int value="83" label="suid, userns, pidns, yama"/>
  <int value="84" label="userns, netns, yama"/>
  <int value="85" label="suid, userns, netns, yama"/>
  <int value="86" label="userns, pidns, netns, yama"/>
  <int value="87" label="suid, userns, pidns, netns, yama"/>
  <int value="88" label="userns, seccomp-bpf, yama"/>
  <int value="89" label="suid, userns, seccomp-bpf, yama"/>
  <int value="90" label="userns, pidns, seccomp-bpf, yama"/>
  <int value="91" label="suid, userns, pidns, seccomp-bpf, yama"/>
  <int value="92" label="userns, netns, seccomp-bpf, yama"/>
  <int value="93" label="suid, userns, netns, seccomp-bpf, yama"/>
  <int value="94" label="userns, pidns, netns, seccomp-bpf, yama"/>
  <int value="95" label="suid, userns, pidns, netns, seccomp-bpf, yama"/>
  <int value="96" label="userns, seccomp-tsync"/>
  <int value="97" label="suid, userns, seccomp-tsync"/>
  <int value="98" label="userns, pidns, seccomp-tsync"/>
  <int value="99" label="suid, userns, pidns, seccomp-tsync"/>
  <int value="100" label="userns, netns, seccomp-tsync"/>
  <int value="101" label="suid, userns, netns, seccomp-tsync"/>
  <int value="102" label="userns, pidns, netns, seccomp-tsync"/>
  <int value="103" label="suid, userns, pidns, netns, seccomp-tsync"/>
  <int value="104" label="userns, seccomp-bpf, seccomp-tsync"/>
  <int value="105" label="suid, userns, seccomp-bpf, seccomp-tsync"/>
  <int value="106" label="userns, pidns, seccomp-bpf, seccomp-tsync"/>
  <int value="107" label="suid, userns, pidns, seccomp-bpf, seccomp-tsync"/>
  <int value="108" label="userns, netns, seccomp-bpf, seccomp-tsync"/>
  <int value="109" label="suid, userns, netns, seccomp-bpf, seccomp-tsync"/>
  <int value="110" label="userns, pidns, netns, seccomp-bpf, seccomp-tsync"/>
  <int value="111"
      label="suid, userns, pidns, netns, seccomp-bpf, seccomp-tsync"/>
  <int value="112" label="userns, yama, seccomp-tsync"/>
  <int value="113" label="suid, userns, yama, seccomp-tsync"/>
  <int value="114" label="userns, pidns, yama, seccomp-tsync"/>
  <int value="115" label="suid, userns, pidns, yama, seccomp-tsync"/>
  <int value="116" label="userns, netns, yama, seccomp-tsync"/>
  <int value="117" label="suid, userns, netns, yama, seccomp-tsync"/>
  <int value="118" label="userns, pidns, netns, yama, seccomp-tsync"/>
  <int value="119" label="suid, userns, pidns, netns, yama, seccomp-tsync"/>
  <int value="120" label="userns, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="121" label="suid, userns, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="122" label="userns, pidns, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="123"
      label="suid, userns, pidns, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="124" label="userns, netns, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="125"
      label="suid, userns, netns, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="126"
      label="userns, pidns, netns, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="127"
      label="suid, userns, pidns, netns, seccomp-bpf, yama, seccomp-tsync"/>
  <int value="2147483648" label="Invalid"/>
</enum>

<enum name="LinuxWindowManagerName" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="Blackbox"/>
  <int value="2" label="Chrome OS"/>
  <int value="3" label="Compiz"/>
  <int value="4" label="Enlightment"/>
  <int value="5" label="IceWM"/>
  <int value="6" label="KWin"/>
  <int value="7" label="Metacity"/>
  <int value="8" label="Muffin"/>
  <int value="9" label="Mutter"/>
  <int value="10" label="Openbox"/>
  <int value="11" label="Xfwm4"/>
  <int value="12" label="Awesome"/>
  <int value="13" label="i3"/>
  <int value="14" label="Ion3"/>
  <int value="15" label="Matchbox"/>
  <int value="16" label="Notion"/>
  <int value="17" label="Qtile"/>
  <int value="18" label="Ratpoison"/>
  <int value="19" label="StumpWM"/>
  <int value="20" label="wmii"/>
  <int value="21" label="Fluxbox"/>
  <int value="22" label="Xmonad"/>
  <int value="23" label="Unnamed"/>
</enum>

<enum name="LoadLibraryResultCategory" type="int">
  <int value="0" label="LoadLibraryExW Succeeded"/>
  <int value="1" label="LoadLibraryExW Fail, LoadLibraryW Succeeded"/>
  <int value="2" label="LoadLibraryExW Fail, LoadLibraryW Fail"/>
  <int value="3" label="LoadLibraryExW Unavailable, LoadLibraryW Succeeded"/>
  <int value="4" label="LoadLibraryExW Unavailable, LoadLibraryW Fail"/>
</enum>

<enum name="LoadType" type="int">
  <int value="0" label="UNDEFINED_LOAD">Not yet initialized</int>
  <int value="1" label="RELOAD">User pressed reload</int>
  <int value="2" label="HISTORY_LOAD">Back or forward</int>
  <int value="3" label="NORMAL_LOAD">User entered URL, or omnibox search</int>
  <int value="4" label="LINK_LOAD">(deprecated) Included next 4 categories</int>
  <int value="5" label="LINK_LOAD_NORMAL">Commonly following of link</int>
  <int value="6" label="LINK_LOAD_RELOAD">JS/link directed reload</int>
  <int value="7" label="LINK_LOAD_CACHE_STALE_OK">
    back/forward or encoding change
  </int>
  <int value="8" label="LINK_LOAD_CACHE_ONLY">
    Allow stale data (avoid doing a re-post)
  </int>
  <int value="9" label="PRERENDER_LOAD">Speculative prerendering of a page</int>
</enum>

<enum name="LocalRendererSinkStates" type="int">
  <int value="0" label="SinkStarted"/>
  <int value="1" label="SinkNeverStarted"/>
</enum>

<enum name="LocalStorageOpenError" type="int">
  <int value="0" label="Directory open failed"/>
  <int value="1" label="Database open failed"/>
  <int value="2" label="Invalid schema version"/>
  <int value="3" label="Error reading schema version"/>
</enum>

<enum name="LockScreenProgress" type="int">
  <int value="0" label="Start screen lock"/>
  <int value="1" label="Enter password correctly"/>
  <int value="2" label="Choose pin or password"/>
  <int value="3" label="Enter pin"/>
  <int value="4" label="Confirm pin"/>
</enum>

<enum name="LoginConsumerWhitelist" type="int">
  <int value="0" label="ANY_USER_ALLOWED">Any user can sign in</int>
  <int value="1" label="ONLY_WHITELISTED_ALLOWED">Whitelisted users only</int>
</enum>

<enum name="LoginCustomFlags" type="int">
<!--
Values in LoginCustomFlags are:  value=(uint32_t)MD5(label).
This enum is verified by AboutFlagsHistogramTest unit test.
To add a new entry, add it with any unique value and run test to compute valid
value. After that run tools/metrics/histograms/validate_format.py to find out
where the value should be inserted to maintain ordering.
Don't remove entries when removing a flag, they are still used to decode data
from previous Chrome versions.
-->

  <summary>Chrome flags that lead to chrome restart on ChromeOS.</summary>
  <int value="-2146613579" label="V8Future:disabled"/>
  <int value="-2143328006"
      label="enable-fill-on-account-select-no-highlighting"/>
  <int value="-2143113994" label="enable-ephemeral-apps-in-webstore"/>
  <int value="-2134333982" label="ShowArcFilesApp:enabled"/>
  <int value="-2134244069" label="HttpFormWarning:enabled"/>
  <int value="-2132591642" label="enable-input-view"/>
  <int value="-2122048316"
      label="DisplayPersistenceToggleInPermissionPrompts:enabled"/>
  <int value="-2119827860" label="ash-disable-maximize-mode-window-backdrop"/>
  <int value="-2119530966" label="enable-webrtc-dtls12"/>
  <int value="-2119493239" label="enable-app-info-dialog-mac"/>
  <int value="-2117201726" label="disable-gpu-rasterization"/>
  <int value="-2114831248" label="disable-new-ntp"/>
  <int value="-2113705745"
      label="CrossOriginMediaPlaybackRequiresUserGesture:enabled"/>
  <int value="-2099035488" label="enable-data-reduction-proxy-bypass-warning"/>
  <int value="-2098610409" label="disable-lcd-text"/>
  <int value="-2097515669" label="disable-cast"/>
  <int value="-2091404586" label="TabStripKeyboardFocus:enabled"/>
  <int value="-2090484194" label="ContextualSearchUrlActions:disabled"/>
  <int value="-2083195884" label="enable-firewall-hole-punching"/>
  <int value="-2082042818"
      label="AutofillCreditCardLastUsedDateDisplay:enabled"/>
  <int value="-2077268643" label="disable-device-enumeration"/>
  <int value="-2075870708" label="MediaRemotingEncrypted:disabled"/>
  <int value="-2075807193" label="enable-webusb-on-any-origin"/>
  <int value="-2075725205" label="disable-new-zip-unpacker"/>
  <int value="-2067166422" label="enable-slimming-paint-v2"/>
  <int value="-2063352474" label="enable-new-task-manager"/>
  <int value="-2063014275" label="enable-web-bluetooth"/>
  <int value="-2062872298" label="market-url-for-testing"/>
  <int value="-2062373123" label="WebPaymentsModifiers:enabled"/>
  <int value="-2058656447" label="ContextualSearchUrlActions:enabled"/>
  <int value="-2048732429" label="enable-alternative-services"/>
  <int value="-2048679945" label="NTPOfflinePageDownloadSuggestions:disabled"/>
  <int value="-2047832738" label="enable-system-timezone-automatic-detection"/>
  <int value="-2047822258" label="enable-avfoundation"/>
  <int value="-2043128632" label="enable-tab-switcher-in-document-mode"/>
  <int value="-2040115518" label="load-media-router-component-extension"/>
  <int value="-2029912304" label="StaleWhileRevalidate2:enabled"/>
  <int value="-2025367104" label="enable-material-design-ntp"/>
  <int value="-2020721975" label="smart-virtual-keyboard"/>
  <int value="-2020024440" label="scroll-end-effect"/>
  <int value="-2017953534" label="enable-hosted-app-shim-creation"/>
  <int value="-2013551096" label="ViewsSimplifiedFullscreenUI:disabled"/>
  <int value="-2009622663" label="WebRtcHWH264Encoding:enabled"/>
  <int value="-2008272679" label="disable-webrtc-hw-encoding"/>
  <int value="-2005089558" label="BackgroundVideoTrackOptimization:disabled"/>
  <int value="-2003354337"
      label="enable-search-button-in-omnibox-for-str-or-iip"/>
  <int value="-1999892428" label="force-ui-direction"/>
  <int value="-1998927516" label="enable-md-settings"/>
  <int value="-1989747818" label="TabStripKeyboardFocus:disabled"/>
  <int value="-1985025593" label="file-manager-enable-new-gallery"/>
  <int value="-1980328793" label="trace-upload-url"/>
  <int value="-1972383451" label="disable-pinch"/>
  <int value="-1972312724" label="OfflinePagesLoadSignalCollecting:enabled"/>
  <int value="-1972219399" label="NTPSaveToOffline:enabled"/>
  <int value="-1971086581" label="print-scaling"/>
  <int value="-1963427770" label="EmojiHandwritingVoiceInput:disabled"/>
  <int value="-1963402827" label="enable-topchrome-md"/>
  <int value="-1961648833" label="show_summary"/>
  <int value="-1956349722" label="disable-smooth-scrolling"/>
  <int value="-1948540128" label="disable-webrtc-hw-encoding (deprecated)"/>
  <int value="-1946595906" label="enable-push-api-background-mode"/>
  <int value="-1943507605" label="enable-new-video-renderer"/>
  <int value="-1941852572" label="floating-virtual-keyboard"/>
  <int value="-1940806558" label="enable-syncfs-directory-operation"/>
  <int value="-1940291343" label="SpeculativeResourcePrefetching:enabled"/>
  <int value="-1938263248" label="enable-extension-info-dialog"/>
  <int value="-1937077699" label="http-form-warning"/>
  <int value="-1934673791" label="gl-composited-texture-quad-border"/>
  <int value="-1930720286" label="nacl-debug-mask"/>
  <int value="-1928198763" label="enable-async-dns"/>
  <int value="-1925117279" label="disable-quic-https"/>
  <int value="-1915854488" label="enable-offline-pages"/>
  <int value="-1913801713"
      label="UploadCrashReportsUsingJobScheduler:disabled"/>
  <int value="-1912999136" label="enable-automatic-password-saving:enabled"/>
  <int value="-1911153473" label="enable-easy-signin"/>
  <int value="-1907342706" label="ReadItLaterInMenu:disabled"/>
  <int value="-1892555086" label="disable-compositor-animation-timelines"/>
  <int value="-1892000374" label="SeccompSandboxAndroid:enabled"/>
  <int value="-1888273969" label="tab-capture-upscale-quality"/>
  <int value="-1887053262"
      label="enable-zero-suggest-most-visited-without-serp"/>
  <int value="-1882330924" label="NTPArticleSuggestions:enabled"/>
  <int value="-1880355454" label="disable-topchrome-md"/>
  <int value="-1876881908"
      label="disable-infobar-for-protected-media-identifier"/>
  <int value="-1874908826" label="enable-instant-search-clicks"/>
  <int value="-1874141108" label="NewOmniboxAnswerTypes:enabled"/>
  <int value="-1872989945" label="enable-webview-based-signin"/>
  <int value="-1872867546" label="EnumerateAudioDevices:disabled"/>
  <int value="-1870961970" label="enable-filemanager-mtp"/>
  <int value="-1869845022" label="force-show-update-menu-item"/>
  <int value="-1867382602" label="WebRTC-H264WithOpenH264FFmpeg:enabled"/>
  <int value="-1867342522" label="MaterialDesignHistory:enabled"/>
  <int value="-1861814223" label="MidiManagerDynamicInstantiation:enabled"/>
  <int value="-1856902397" label="LoadingWithMojo:enabled"/>
  <int value="-1849706663" label="enable-password-force-saving:disabled"/>
  <int value="-1847835522" label="disable-touch-adjustment"/>
  <int value="-1847776781"
      label="enable-loading-ipc-optimization-for-small-resources"/>
  <int value="-1838482444" label="disable-settings-window"/>
  <int value="-1835975804" label="disable-offline-auto-reload"/>
  <int value="-1833149810" label="enable-accessibility-tab-switcher"/>
  <int value="-1832575380" label="show-saved-copy"/>
  <int value="-1832221649" label="disable-out-of-process-pac"/>
  <int value="-1821058653" label="enable-delay-agnostic-aec"/>
  <int value="-1812579951" label="ContentSuggestionsCategoryRanker:enabled"/>
  <int value="-1811394154" label="disable-webrtc-hw-vp8-encoding"/>
  <int value="-1810294310" label="AndroidPaymentApps:enabled"/>
  <int value="-1804485171" label="disable-fullscreen-tab-detaching"/>
  <int value="-1802502753" label="enable-manual-password-generation:enabled"/>
  <int value="-1798337879" label="enable-md-downloads"/>
  <int value="-1797739460" label="brotli-encoding:disabled"/>
  <int value="-1790227231" label="show-autofill-signatures"/>
  <int value="-1772172557" label="enable-osk-overscroll"/>
  <int value="-1767470652" label="out-of-process-pdf"/>
  <int value="-1751928267" label="disable-icon-ntp"/>
  <int value="-1749176684" label="PauseBackgroundTabs:disabled"/>
  <int value="-1746767834" label="ssl-interstitial-v2-gray"/>
  <int value="-1740519217" label="disable-software-rasterizer"/>
  <int value="-1735643253" label="enable-display-list-2d-canvas"/>
  <int value="-1732561795" label="ConsistentOmniboxGeolocation:enabled"/>
  <int value="-1729926412" label="enable-webusb-notifications"/>
  <int value="-1725507605" label="enable-web-midi"/>
  <int value="-1719833926" label="disable-answers-in-suggest"/>
  <int value="-1716654100" label="tab-capture-downscale-quality"/>
  <int value="-1714128884" label="disable-launcher-search-provider-api"/>
  <int value="-1711751318" label="enable-data-reduction-proxy-lo-fi-preview"/>
  <int value="-1703709912" label="enable-new-ntp"/>
  <int value="-1703308540" label="disable-webaudio"/>
  <int value="-1696366449" label="disable-permissions-bubbles"/>
  <int value="-1692384483" label="disambiguate-autofill-server-name-types"/>
  <int value="-1691892152" label="SafeSearchUrlReporting:disabled"/>
  <int value="-1691668194" label="enable-new-bookmark-apps"/>
  <int value="-1691281364" label="enable-notification-action-icons"/>
  <int value="-1670137340"
      label="OptimizeLoadingIPCForSmallResources:disabled"/>
  <int value="-1669486359" label="ImportantSitesInCBD:enabled"/>
  <int value="-1663410466" label="top-document-isolation"/>
  <int value="-1663125441" label="OptInImeMenu:enabled"/>
  <int value="-1662646099" label="NTPOfflinePageSuggestions:enabled"/>
  <int value="-1662447331" label="wake-on-packets"/>
  <int value="-1660972490" label="gpu-rasterization-msaa-sample-count"/>
  <int value="-1655535052" label="enable-pointer-events"/>
  <int value="-1654344175" label="disable-extension-info-dialog"/>
  <int value="-1653838003" label="PauseBackgroundTabs:enabled"/>
  <int value="-1649778035" label="disable-clear-browsing-data-counters"/>
  <int value="-1648216169" label="NewOmniboxAnswerTypes:disabled"/>
  <int value="-1634154256" label="ZeroSuggestRedirectToChrome:enabled"/>
  <int value="-1631329950" label="ssl-version-max"/>
  <int value="-1630419335" label="enable-download-notification"/>
  <int value="-1629748710" label="ash-enable-smooth-screen-rotation"/>
  <int value="-1624854957" label="enable-es3-apis"/>
  <int value="-1620568042" label="FeaturePolicy:disabled"/>
  <int value="-1619757314" label="touch-scrolling-mode"/>
  <int value="-1618707999" label="enable-webfonts-intervention-v2"/>
  <int value="-1617183455" label="OfflineRecentPages:disabled"/>
  <int value="-1616855537" label="enable-manual-password-generation:disabled"/>
  <int value="-1614912400" label="enable-link-disambiguation-popup"/>
  <int value="-1605567628" label="disable-overlay-scrollbar"/>
  <int value="-1604051051" label="SpecialLocale:disabled"/>
  <int value="-1599538279" label="enable-md-policy-page"/>
  <int value="-1596559650" label="max-tiles-for-interest-area"/>
  <int value="-1586642651" label="MaterialDesignExtensions:disabled"/>
  <int value="-1583728573" label="AutofillCreditCardSigninPromo:disabled"/>
  <int value="-1581724231" label="ModalPermissionPrompts:enabled"/>
  <int value="-1578295753" label="UserMediaScreenCapturing:disabled"/>
  <int value="-1575554415" label="AndroidPaymentAppsFilter:enabled"/>
  <int value="-1572010356" label="enable-privet-v3"/>
  <int value="-1571841513" label="enable-devtools-experiments"/>
  <int value="-1559789642" label="RunAllFlashInAllowMode:enabled"/>
  <int value="-1557527869" label="LoadingWithMojo:disabled"/>
  <int value="-1553477903" label="ash-disable-text-filtering-in-overview-mode"/>
  <int value="-1546903171" label="enable-touch-drag-drop"/>
  <int value="-1544248549" label="ArcUseAuthEndpoint:enabled"/>
  <int value="-1543316040"
      label="DisplayPersistenceToggleInPermissionPrompts:disabled"/>
  <int value="-1536293422" label="SharedArrayBuffer:enabled"/>
  <int value="-1536242739" label="security-chip"/>
  <int value="-1514943439" label="ash-enable-swipe-to-close-in-overview-mode"/>
  <int value="-1514611301" label="enable-data-reduction-proxy-bypass-warnings"/>
  <int value="-1512656386" label="disable-new-audio-rendering-mixing-strategy"/>
  <int value="-1510839574" label="disable-sync-synced-notifications"/>
  <int value="-1504305449" label="NTPPhysicalWebPageSuggestions:enabled"/>
  <int value="-1497338981" label="disable-accelerated-overflow-scroll"/>
  <int value="-1491417046" label="enable-fullscreen-toolbar-reveal"/>
  <int value="-1490298774" label="enable-captive-portal-bypass-proxy-option"/>
  <int value="-1488744539" label="QuickUnlockFingerprint:enabled"/>
  <int value="-1487243228" label="NewUsbBackend:disabled"/>
  <int value="-1482685863" label="enable-request-tablet-site"/>
  <int value="-1480926949" label="MaterialDesignBookmarks:enabled"/>
  <int value="-1478876902" label="disable-permission-action-reporting"/>
  <int value="-1473668019" label="token-binding:disabled"/>
  <int value="-1473136627" label="enable-web-payments"/>
  <int value="-1469228683" label="QuickUnlockPinSignin:disabled"/>
  <int value="-1467332609" label="tab-management-experiment-type-anise"/>
  <int value="-1466990325" label="CrosCompUpdates:enabled"/>
  <int value="-1463410070" label="IPH_DemoMode:enabled"/>
  <int value="-1460462432" label="disable-media-source"/>
  <int value="-1456004000" label="VrShell:disabled"/>
  <int value="-1443796945" label="OfflinePagesSharing:disabled"/>
  <int value="-1440152291" label="disable-gesture-typing"/>
  <int value="-1438279809" label="GamepadExtensions:disabled"/>
  <int value="-1433719718" label="enable-webrtc-stun-origin"/>
  <int value="-1433087548" label="enable-app-install-alerts"/>
  <int value="-1426034869" label="NoCreditCardAbort:enabled"/>
  <int value="-1419788257" label="enable-experimental-hotwording"/>
  <int value="-1416754663" label="enable-mac-views-native-app-windows"/>
  <int value="-1411003295" label="disable-encrypted-media"/>
  <int value="-1409643943" label="enable-child-account-detection"/>
  <int value="-1408288176" label="enable-account-consistency"/>
  <int value="-1399753480" label="disable-harfbuzz-rendertext"/>
  <int value="-1399419572" label="enable-app-list"/>
  <int value="-1396974542" label="UserMediaScreenCapturing:enabled"/>
  <int value="-1392562498" label="disable-origin-chip"/>
  <int value="-1391693054"
      label="ContentSuggestionsFaviconsFromNewServer:disabled"/>
  <int value="-1386966873" label="disable-mac-views-native-app-windows"/>
  <int value="-1377186702" label="DesktopIOSPromotion:disabled"/>
  <int value="-1375111024" label="enable-fixed-position-compositing"/>
  <int value="-1365503870" label="enable-simplified-fullscreen-ui"/>
  <int value="-1363709707" label="MaterialDesignHistory:disabled"/>
  <int value="-1358669137" label="enable-supervised-user-blacklist"/>
  <int value="-1357655121" label="enable-iframe-based-signin"/>
  <int value="-1349896789" label="DelayNavigation:enabled"/>
  <int value="-1349872906"
      label="disallow-autofill-sync-credential-for-reauth"/>
  <int value="-1349532167" label="enable-wifi-credential-sync"/>
  <int value="-1346722635" label="gesture-selection"/>
  <int value="-1341092934" label="enable-accelerated-overflow-scroll"/>
  <int value="-1340055960" label="enable-streamlined-hosted-apps"/>
  <int value="-1337185440" label="enable-webvr"/>
  <int value="-1334327410" label="ash-enable-touch-view-testing"/>
  <int value="-1327676774" label="disable-accelerated-mjpeg-decode"/>
  <int value="-1322882747" label="disable-datasaver-prompt"/>
  <int value="-1319688939" label="ignore-gpu-blacklist"/>
  <int value="-1310737697" label="MaterialDesignSettings:enabled"/>
  <int value="-1302904242" label="enable-navigation-tracing"/>
  <int value="-1289678848" label="SystemDownloadManager:enabled"/>
  <int value="-1285021473" label="save-page-as-mhtml"/>
  <int value="-1276912933" label="enable-quick-unlock-pin"/>
  <int value="-1271563519" label="enable-appcontainer"/>
  <int value="-1269084216" label="ash-md"/>
  <int value="-1268836676" label="disable-out-of-process-pdf"/>
  <int value="-1267958145" label="disable-pdf-material-ui"/>
  <int value="-1254070521" label="enable-slimming-paint-invalidation"/>
  <int value="-1251411236" label="disable-new-md-input-view"/>
  <int value="-1246840031" label="OptInImeMenu:disabled"/>
  <int value="-1241747717" label="enable-android-password-link"/>
  <int value="-1235586511" label="enable-datasaver-prompt"/>
  <int value="-1218608640" label="disable-offline-load-stale-cache"/>
  <int value="-1216837777" label="clear-data-reduction-proxy-data-savings"/>
  <int value="-1212855900" label="enable-all-bookmarks-view"/>
  <int value="-1212273428" label="enable-experimental-app-list"/>
  <int value="-1212167260" label="disable-app-window-cycling"/>
  <int value="-1208501269" label="AutofillScanThemeDialog:enabled"/>
  <int value="-1205790119" label="CredentialManagementAPI:enabled"/>
  <int value="-1203955801" label="enable-password-change-support:disabled"/>
  <int value="-1203742042" label="enable-gesture-selection"/>
  <int value="-1201183153" label="enable-centered-app-list"/>
  <int value="-1197035323" label="ZeroSuggestRedirectToChrome:disabled"/>
  <int value="-1190174011" label="enable-hdr"/>
  <int value="-1184904651" label="enable-npapi"/>
  <int value="-1184480269" label="LsdPermissionPrompt:enabled"/>
  <int value="-1177802205" label="enable-hosted-app-quit-notification"/>
  <int value="-1176748003"
      label="FramebustingNeedsSameOriginOrUserGesture:disabled"/>
  <int value="-1176493523" label="enable-md-extensions"/>
  <int value="-1172572865" label="NTPShowGoogleGInOmnibox:enabled"/>
  <int value="-1172204005" label="enable-offline-auto-reload-visible-only"/>
  <int value="-1162944097" label="enable-color-correct-rendering"/>
  <int value="-1161409696" label="MediaRemotingEncrypted:enabled"/>
  <int value="-1160026273" label="enable-web-notification-custom-layouts"/>
  <int value="-1159563774" label="enable-accessibility-script-injection"/>
  <int value="-1158993534" label="PrintScaling:enabled"/>
  <int value="-1155543191" label="CopylessPaste:disabled"/>
  <int value="-1151766565" label="enable-fullscreen-tab-detaching"/>
  <int value="-1137442543" label="enable-slimming-paint"/>
  <int value="-1136627751" label="ignore-autocomplete-off-autofill"/>
  <int value="-1136509631" label="ssl-interstitial-v1"/>
  <int value="-1132704128" label="AndroidPaymentAppsFilter:disabled"/>
  <int value="-1127996427" label="enable-files-details-panel"/>
  <int value="-1125133283" label="disable-threaded-scrolling"/>
  <int value="-1119700637" label="ui-disable-partial-swap"/>
  <int value="-1107762575" label="enable-data-reduction-proxy-config-client"/>
  <int value="-1102212525" label="enable-tcp-fastopen"/>
  <int value="-1099142083" label="V8Ignition:disabled"/>
  <int value="-1084055006" label="disable-web-notification-custom-layouts"/>
  <int value="-1082302549" label="scan-cards-in-web-payments"/>
  <int value="-1078093206" label="ash-debug-shortcuts"/>
  <int value="-1077752943" label="enable-password-generation"/>
  <int value="-1075156797" label="enable-brotli"/>
  <int value="-1075089382" label="enable-physical-web"/>
  <int value="-1073479583" label="ShowArcFilesApp:disabled"/>
  <int value="-1067635248" label="SpeculativeResourcePrefetching:disabled"/>
  <int value="-1064733740" label="ui-show-composited-layer-borders"/>
  <int value="-1062119671" label="enable-password-force-saving"/>
  <int value="-1056310158" label="disable-memory-pressure-chromeos"/>
  <int value="-1052782474" label="enable-cloud-devices"/>
  <int value="-1052415111" label="malware-interstitial-v2"/>
  <int value="-1052219252" label="disable-captive-portal-bypass-proxy"/>
  <int value="-1045900007" label="NoCreditCardAbort:disabled"/>
  <int value="-1045882995" label="UseNewDoodleApi:enabled"/>
  <int value="-1041650038" label="enable-forced-migration-to-tabbed-mode"/>
  <int value="-1039889738" label="NativeNotifications:enabled"/>
  <int value="-1039555838" label="GamepadExtensions:enabled"/>
  <int value="-1034344165" label="V8NoTurbo:disabled"/>
  <int value="-1033738911" label="enable-mac-views-dialogs"/>
  <int value="-1028733699" label="MacViewsWebUIDialogs:disabled"/>
  <int value="-1022971520" label="enable-search-button-in-omnibox-for-str"/>
  <int value="-1020450980" label="gesture-deletion"/>
  <int value="-1016202433" label="disable-add-to-shelf"/>
  <int value="-1015006759" label="ImportantSitesInCBD:disabled"/>
  <int value="-998255750" label="ExperimentalKeyboardLockUI:enabled"/>
  <int value="-996673716" label="enable-web-app-frame"/>
  <int value="-980260493" label="NTPSnippets:disabled"/>
  <int value="-979313250" label="enable-google-branded-context-menu"/>
  <int value="-979057409" label="enable-seccomp-filter-sandbox"/>
  <int value="-979034258" label="disable-ntp-other-sessions-menu"/>
  <int value="-978700508" label="disable-simplified-fullscreen-ui"/>
  <int value="-977476498" label="disable-eol-notification"/>
  <int value="-972737445" label="ArcUseAuthEndpoint:disabled"/>
  <int value="-972425050" label="gesture-editing"/>
  <int value="-968010468" label="SharedArrayBuffer:disabled"/>
  <int value="-964676765" label="enable-accelerated-mjpeg-decode"/>
  <int value="-951394314" label="top-chrome-md"/>
  <int value="-950793721" label="TranslateUI2016Q2:disabled"/>
  <int value="-949178861" label="enable-new-avatar-menu"/>
  <int value="-945806012" label="DownloadsUi:enabled"/>
  <int value="-938178614" label="enable-suggestions-with-substring-match"/>
  <int value="-933316841" label="enable-permissions-blacklist"/>
  <int value="-928138978" label="IPH_DemoMode:disabled"/>
  <int value="-926422468" label="disable-embedded-shared-worker"/>
  <int value="-918900957" label="AutofillCreditCardAssist:disabled"/>
  <int value="-918618075" label="enable-service-worker"/>
  <int value="-914210146" label="enable-web-based-signin"/>
  <int value="-912456561" label="MidiManagerWinrt:enabled"/>
  <int value="-909641013" label="DataReductionProxySiteBreakdown:enabled"/>
  <int value="-908421850" label="PointerEvent:enabled"/>
  <int value="-907234795" label="NewAudioRenderingMixingStrategy:disabled"/>
  <int value="-899334103" label="disable-fast-text-autosizing"/>
  <int value="-898594349" label="ash-enable-stable-overview-order"/>
  <int value="-898499262" label="ImprovedA2HS:enabled"/>
  <int value="-898005938" label="disable-pinch-virtual-viewport"/>
  <int value="-894214299" label="fill-on-account-select:enabled"/>
  <int value="-891856063" label="MidiManagerAndroid:enabled"/>
  <int value="-885601782" label="enable-contextual-search"/>
  <int value="-884864731" label="WebPaymentsSingleAppUiSkip:enabled"/>
  <int value="-881054479" label="WebAssemblyStreaming:disabled"/>
  <int value="-876148583" label="ArcBootCompletedBroadcast:disabled"/>
  <int value="-867087281" label="enable-virtual-keyboard"/>
  <int value="-864266073" label="cros-regions-mode"/>
  <int value="-864205629" label="enable-offline-load-stale-cache"/>
  <int value="-861678473" label="disable-offer-upload-credit-cards"/>
  <int value="-861343291" label="ChromeHome:disabled"/>
  <int value="-856915246" label="enable-new-audio-rendering-mixing-strategy"/>
  <int value="-856016114" label="NTPOfflinePages:disabled"/>
  <int value="-855130893" label="enable-touch-calibration-setting"/>
  <int value="-853594220" label="disable-new-avatar-menu"/>
  <int value="-844537521" label="HttpFormWarning:disabled"/>
  <int value="-842438090" label="enable-md-feedback"/>
  <int value="-836123854" label="wallet-service-use-sandbox"/>
  <int value="-835672415" label="PointerEventV1SpecCapturing:disabled"/>
  <int value="-834661509" label="ModalPermissionPrompts:disabled"/>
  <int value="-825942229" label="tab-management-experiment-type-elderberry"/>
  <int value="-823165021" label="MaterialDesignUserMenu:enabled"/>
  <int value="-820041355" label="enable-transition-compositing"/>
  <int value="-816984237" label="OfflinePagesAsyncDownload:enabled"/>
  <int value="-814097014" label="disable-session-crashed-bubble"/>
  <int value="-813474479" label="site-per-process"/>
  <int value="-812461825" label="AutofillCreditCardSigninPromo:enabled"/>
  <int value="-802348444" label="disable-site-engagement-service"/>
  <int value="-798187384" label="try-supported-channel-layouts"/>
  <int value="-795600188" label="disable-async-dns"/>
  <int value="-790036192" label="overscroll-start-threshold"/>
  <int value="-780798969" label="disable-single-click-autofill"/>
  <int value="-775321548" label="UseNewDoodleApi:disabled"/>
  <int value="-770319039" label="enable-touch-editing"/>
  <int value="-763759697" label="enable-audio-support-for-desktop-share"/>
  <int value="-759830869" label="enable-tab-discarding"/>
  <int value="-749048160" label="enable-panels"/>
  <int value="-747463111" label="ContentSuggestionsNotifications:disabled"/>
  <int value="-746328467" label="ExpensiveBackgroundTimerThrottling:disabled"/>
  <int value="-744159181" label="disable-spdy-proxy-dev-auth-origin"/>
  <int value="-743103250" label="enable-linkable-ephemeral-apps"/>
  <int value="-741806604" label="DownloadsUi:disabled"/>
  <int value="-723224470" label="enable-password-force-saving:enabled"/>
  <int value="-716953514" label="disable-password-separated-signin-flow"/>
  <int value="-714710496" label="VideoFullscreenOrientationLock:disabled"/>
  <int value="-711890895" label="enable-website-settings-manager"/>
  <int value="-709058455" label="ui-slow-animations"/>
  <int value="-699767107" label="enable-sync-app-list"/>
  <int value="-697751423" label="disable-quickoffice-component-app"/>
  <int value="-684900739" label="disable-merge-key-char-events"/>
  <int value="-684223908" label="enable-android-wallpapers-app"/>
  <int value="-667517406" label="overscroll-history-navigation"/>
  <int value="-661978438" label="enable-data-reduction-proxy-lo-fi"/>
  <int value="-660160292" label="enable-apps-show-on-first-paint"/>
  <int value="-650504533" label="enable-speculative-launch-service-worker"/>
  <int value="-650176557" label="OfflinePagesSvelteConcurrentLoading:enabled"/>
  <int value="-649956990" label="enable-harfbuzz-rendertext"/>
  <int value="-645455405" label="MacViewsNativeDialogs:enabled"/>
  <int value="-641719457" label="disable-compositor-touch-hit-testing"/>
  <int value="-631740127" label="inert-visual-viewport"/>
  <int value="-622685174" label="enable-pdf-material-ui"/>
  <int value="-620030047" label="CrosCompUpdates:disabled"/>
  <int value="-617452890" label="media-router"/>
  <int value="-612480090" label="FasterLocationReload:enabled"/>
  <int value="-610411643" label="enable-printer-app-search"/>
  <int value="-606898702" label="MaterialDesignSettings:disabled"/>
  <int value="-604814313" label="enable-pinch"/>
  <int value="-604269405"
      label="ContentSuggestionsFaviconsFromNewServer:enabled"/>
  <int value="-604068396" label="disable-input-ime-api"/>
  <int value="-601384286" label="disable-contextual-search"/>
  <int value="-598050737" label="disable-es3-apis"/>
  <int value="-589096918" label="ash-enable-fullscreen-app-list"/>
  <int value="-579192400" label="disable-input-view"/>
  <int value="-567920515" label="disable-experimental-hotwording"/>
  <int value="-563980787" label="disable-webrtc"/>
  <int value="-562274241" label="enable-extension-action-redesign"/>
  <int value="-560551550" label="use-memory-pressure-chromeos"/>
  <int value="-548082154" label="protect-sync-credential:disabled"/>
  <int value="-541611402" label="OfflinePagesPrefetching:enabled"/>
  <int value="-536289234" label="ssl-interstitial-v2-colorful"/>
  <int value="-535208779" label="enable-native-cups"/>
  <int value="-531810064" label="saveas-menu-label"/>
  <int value="-528927088" label="AutofillCreditCardPopupLayout:disabled"/>
  <int value="-528149352" label="WebRtcUseEchoCanceller3:enabled"/>
  <int value="-519960638" label="enable-site-engagement-service"/>
  <int value="-518104091" label="NewAudioRenderingMixingStrategy:enabled"/>
  <int value="-516845951" label="enable-embedded-extension-options"/>
  <int value="-512971943" label="disable-one-copy"/>
  <int value="-510488450" label="disable-pnacl"/>
  <int value="-508143738" label="disable-accelerated-fixed-root-background"/>
  <int value="-506706655" label="respect-autocomplete-off-autofill"/>
  <int value="-505679399" label="FontCacheScaling:enabled"/>
  <int value="-495585885" label="enable-spdy-proxy-dev-auth-origin"/>
  <int value="-493551777" label="StaleWhileRevalidate2:disabled"/>
  <int value="-492864618" label="NTPForeignSessionsSuggestions:disabled"/>
  <int value="-488779992" label="blink-settings"/>
  <int value="-478462945" label="enable-ephemeral-apps"/>
  <int value="-475049740" label="disable-vr-shell"/>
  <int value="-474806100" label="DataReductionProxyMainMenu:enabled"/>
  <int value="-474322576" label="disable-quick-unlock-pin"/>
  <int value="-472013317" label="WebRTC-H264WithOpenH264FFmpeg:disabled"/>
  <int value="-462205750" label="enable-service-worker-sync"/>
  <int value="-461292699" label="ContentSuggestionsCategoryOrder:enabled"/>
  <int value="-460081932" label="CustomFeedbackUi:disabled"/>
  <int value="-455203267" label="use_new_features_summary"/>
  <int value="-449465495" label="disable-browser-task-scheduler"/>
  <int value="-430360431" label="disable-password-generation"/>
  <int value="-428599163" label="NTPDownloadSuggestions:enabled"/>
  <int value="-418868128" label="enable-experimental-web-platform-features"/>
  <int value="-410852857" label="ImprovedA2HS:disabled"/>
  <int value="-405380243" label="enable-encryption-migration"/>
  <int value="-396994784" label="enable-vr-shell"/>
  <int value="-396496344" label="ViewsTaskManager:enabled"/>
  <int value="-395606844" label="enable-site-settings"/>
  <int value="-387606010" label="ArcBootCompletedBroadcast:enabled"/>
  <int value="-385337473" label="enable-fast-unload"/>
  <int value="-384589459" label="disable-supervised-user-safesites"/>
  <int value="-378180863" label="disable-panels"/>
  <int value="-378033324" label="disable-win32k-renderer-lockdown"/>
  <int value="-364325011" label="enable-files-quick-view"/>
  <int value="-364267715" label="disable-native-cups"/>
  <int value="-362022976" label="disable-quirks-client"/>
  <int value="-361948582" label="material-security-verbose"/>
  <int value="-360038744" label="invert-viewport-scroll-order"/>
  <int value="-354783358" label="NTPSaveToOffline:disabled"/>
  <int value="-353182790" label="ConsistentOmniboxGeolocation:disabled"/>
  <int value="-351552989" label="disable-hosted-apps-in-windows"/>
  <int value="-351127770" label="enable-offline-pages-as-bookmarks"/>
  <int value="-349057743" label="extensions-on-chrome-urls"/>
  <int value="-345838366" label="enable-hosted-apps-in-windows"/>
  <int value="-345324571" label="enable-quirks-client"/>
  <int value="-344343842" label="disable-experimental-app-list"/>
  <int value="-340622848" label="disable-javascript-harmony-shipping"/>
  <int value="-340255045" label="allow-nacl-socket-api"/>
  <int value="-340023285" label="WebNFC:enabled"/>
  <int value="-329727402" label="disable-files-quick-view"/>
  <int value="-328361990" label="enable-experimental-extension-apis"/>
  <int value="-323831744" label="token-binding:enabled"/>
  <int value="-322937746" label="disable-desktop-capture-picker-new-ui"/>
  <int value="-322827131" label="tab-management-experiment-type-basil"/>
  <int value="-320820051" label="enable-zero-copy"/>
  <int value="-315604713" label="WebUSB:enabled"/>
  <int value="-314910380" label="disable-distance-field-text"/>
  <int value="-314605926" label="protect-sync-credential-on-reauth:enabled"/>
  <int value="-311148335" label="v8-pac-mojo-out-of-process"/>
  <int value="-300018686" label="disable-cloud-import"/>
  <int value="-297716805"
      label="CrossOriginMediaPlaybackRequiresUserGesture:disabled"/>
  <int value="-290672626" label="enable-asm-wasm"/>
  <int value="-288316828" label="enable-delegated-renderer"/>
  <int value="-279920685" label="affiliation-based-matching:enabled"/>
  <int value="-279493876" label="WebVRExperimentalRendering:enabled"/>
  <int value="-278347667" label="default-tile-height"/>
  <int value="-277144896" label="enable-viewport-meta"/>
  <int value="-275164173" label="QuickUnlockPinSignin:enabled"/>
  <int value="-268357961" label="enable-feature-policy"/>
  <int value="-254887599" label="google-profile-info"/>
  <int value="-250721831" label="AndroidAutofillAccessibility:disabled"/>
  <int value="-241353344" label="MidiManagerWinrt:disabled"/>
  <int value="-234966279" label="PointerEvent:disabled"/>
  <int value="-234687894"
      label="NonValidatingReloadOnRefreshContentV2:disabled"/>
  <int value="-231922000" label="enable-renderer-mojo-channel"/>
  <int value="-216219963" label="ash-shelf-color-scheme"/>
  <int value="-213518852" label="protect-sync-credential:enabled"/>
  <int value="-213214894" label="enable-chromevox-arc-support"/>
  <int value="-206393363" label="enable-scroll-prediction"/>
  <int value="-204355195" label="secondary-ui-md"/>
  <int value="-202007318" label="AndroidAIAFetching:enabled"/>
  <int value="-195029497" label="MediaRemoting:disabled"/>
  <int value="-192919826" label="ViewsSimplifiedFullscreenUI:enabled"/>
  <int value="-192389983" label="NoStatePrefetch:enabled"/>
  <int value="-183246373" label="enable-multilingual-spellchecker"/>
  <int value="-181093956" label="ScrollAnchoring:enabled"/>
  <int value="-165756594" label="enable-touch-feedback"/>
  <int value="-159877930" label="MaterialDesignUserManager:disabled"/>
  <int value="-158549277" label="enable-embeddedsearch-api"/>
  <int value="-158197254" label="enable-credential-manager-api"/>
  <int value="-152677714" label="AsmJsToWebAssembly:enabled"/>
  <int value="-147283486" label="enable-network-portal-notification"/>
  <int value="-146552997" label="enable-affiliation-based-matching"/>
  <int value="-144134779" label="AndroidPayIntegrationV2:disabled"/>
  <int value="-138773929" label="PassiveDocumentEventListeners:enabled"/>
  <int value="-122492389" label="enable-browser-task-scheduler"/>
  <int value="-119055644" label="GenericSensor:enabled"/>
  <int value="-108881882" label="NTPCondensedTileLayout:enabled"/>
  <int value="-102537270" label="extension-content-verification"/>
  <int value="-99781021" label="disable-roboto-font-ui"/>
  <int value="-89690053" label="MaterialDesignUserManager:enabled"/>
  <int value="-88822940" label="ssl-version-min"/>
  <int value="-86788587" label="allow-autofill-sync-credential"/>
  <int value="-80353187" label="disable-display-color-calibration"/>
  <int value="-78035185" label="custom_summary"/>
  <int value="-77872983" label="BookmarkAppsMac:disabled"/>
  <int value="-76631048" label="disable-offline-auto-reload-visible-only"/>
  <int value="-70595606" label="ash-enable-unified-desktop"/>
  <int value="-68877684" label="BackgroundVideoTrackOptimization:enabled"/>
  <int value="-68225452" label="enable-translate-new-ux"/>
  <int value="-58242474" label="ash-disable-swipe-to-close-in-overview-mode"/>
  <int value="-55944747" label="disable-child-account-detection"/>
  <int value="-52483823" label="disable-new-video-renderer"/>
  <int value="-52241456" label="enable-single-click-autofill"/>
  <int value="-50021298" label="ash-adjustable-large-cursor"/>
  <int value="-48920737" label="enable-smooth-scrolling"/>
  <int value="-45532639" label="enable-default-media-session"/>
  <int value="-45074716" label="SystemDownloadManager:disabled"/>
  <int value="-29847483" label="MemoryAblation:enabled"/>
  <int value="-23090520" label="disable-search-button-in-omnibox"/>
  <int value="-22544408" label="enable-video-player-chromecast-support"/>
  <int value="-16824589" label="ash-shelf-color"/>
  <int value="-13918890" label="disable-download-notification"/>
  <int value="-11260186" label="enable-offline-pages-as-saved-pages"/>
  <int value="-5052940" label="enable-simplified-fullscreen"/>
  <int value="-2953333" label="AndroidHistoryManager:disabled"/>
  <int value="-2371418" label="disable-display-list-2d-canvas"/>
  <int value="0" label="BAD_FLAG_FORMAT">
    Command-line flag doesn't start with two dashes.
  </int>
  <int value="7444737" label="NTPSuggestionsStandaloneUI:disabled"/>
  <int value="7533886" label="disable-offer-store-unmasked-wallet-cards"/>
  <int value="10458238" label="disable-print-preview-simplify"/>
  <int value="11698808" label="enable-dom-distiller-button-animation"/>
  <int value="27507364" label="apps-keep-chrome-alive"/>
  <int value="31848187" label="ViewsTaskManager:disabled"/>
  <int value="33778663" label="OriginTrials:enabled"/>
  <int value="37024318" label="disable-affiliation-based-matching"/>
  <int value="44088203" label="ExpensiveBackgroundTimerThrottling:enabled"/>
  <int value="48159177" label="reduced-referrer-granularity"/>
  <int value="51793504" label="protect-sync-credential-on-reauth:disabled"/>
  <int value="56723110" label="enable-webfonts-intervention"/>
  <int value="57791920" label="MemoryCoordinator:enabled"/>
  <int value="59784035" label="ImeThread:disabled"/>
  <int value="61205887" label="enable-text-input-focus-manager"/>
  <int value="64942701" label="OfflinePagesSvelteConcurrentLoading:disabled"/>
  <int value="70878462" label="WebAssembly:disabled"/>
  <int value="75747474" label="disable-webview-signin-flow"/>
  <int value="78998551" label="disable-hosted-app-shim-creation"/>
  <int value="79503461" label="disable-account-consistency"/>
  <int value="84911198" label="ScanCardsInWebPayments:disabled"/>
  <int value="88437020" label="FeaturePolicy:enabled"/>
  <int value="91938915" label="enable-suggestions-service"/>
  <int value="98134240" label="material-design-ink-drop-animation-speed"/>
  <int value="103932290" label="show-autofill-type-predictions"/>
  <int value="118991027" label="enable-accelerated-fixed-root-background"/>
  <int value="120429808" label="disable-new-profile-management"/>
  <int value="121684313" label="QuickUnlockPin:enabled"/>
  <int value="121858954" label="enable-supervised-user-safesites"/>
  <int value="125934378" label="enable-password-link"/>
  <int value="147373243" label="enable-deferred-image-decoding"/>
  <int value="157217034" label="enable-tab-for-desktop-share"/>
  <int value="157318016" label="AutomaticTabDiscarding:enabled"/>
  <int value="173288154" label="PrintPdfAsImage:enabled"/>
  <int value="178337215" label="enable-md-history"/>
  <int value="180074362" label="memory-pressure-thresholds"/>
  <int value="189728101" label="FasterLocationReload:disabled"/>
  <int value="194573877" label="MacViewsNativeDialogs:disabled"/>
  <int value="194895489" label="passive-listeners-default"/>
  <int value="200347243" label="WebVRExperimentalRendering:disabled"/>
  <int value="201343576" label="enable-password-change-support:enabled"/>
  <int value="203776499" label="enable-virtual-keyboard-overscroll"/>
  <int value="223662457" label="BackgroundLoadingForDownloads:enabled"/>
  <int value="243557364" label="ash-force-enable-palette"/>
  <int value="244697230" label="enable-theme-color-in-tabbed-mode"/>
  <int value="262382944" label="GuestViewCrossProcessFrames:disabled"/>
  <int value="266702296" label="disable-plugin-power-saver"/>
  <int value="270267831" label="enable-scripts-require-action"/>
  <int value="272631627" label="BookmarkAppsMac:enabled"/>
  <int value="274103741" label="enable-ntp-popular-sites"/>
  <int value="278756320" label="disable-app-list-app-info"/>
  <int value="280644887" label="mash"/>
  <int value="301869874" label="NTPPhysicalWebPageSuggestions:disabled"/>
  <int value="304901781" label="NewUsbBackend:enabled"/>
  <int value="313303258" label="WebPaymentsModifiers:disabled"/>
  <int value="316182183" label="MediaDocumentDownloadButton:disabled"/>
  <int value="323605372" label="ui-disable-compositor-animation-timelines"/>
  <int value="324522065" label="app-menu-icon"/>
  <int value="324631366" label="enable-drive-search-in-app-launcher"/>
  <int value="327045548" label="SafeSearchUrlReporting:enabled"/>
  <int value="328722396" label="NTPCondensedLayout:disabled"/>
  <int value="330138076" label="enable-clear-browsing-data-counters"/>
  <int value="332391072" label="cs-contextual-cards-bar-integration"/>
  <int value="346711293" label="enable-save-password-bubble"/>
  <int value="348854923" label="v8-cache-strategies-for-cache-storage"/>
  <int value="358399482" label="enable-high-dpi-fixed-position-compositing"/>
  <int value="358493847" label="BackgroundLoader:disabled"/>
  <int value="360391863" label="NTPOfflineBadge:enabled"/>
  <int value="360599302" label="enable-gpu-rasterization"/>
  <int value="365467768" label="prefetch-search-results"/>
  <int value="368854020" label="ash-screen-rotation-animation"/>
  <int value="370486304" label="enable-origin-chip-on-srp"/>
  <int value="372460068" label="QuickUnlockFingerprint:disabled"/>
  <int value="377093001" label="WebRtcHWH264Encoding:disabled"/>
  <int value="379326303" label="enable-add-to-shelf"/>
  <int value="379428799" label="security-chip-animation"/>
  <int value="385969127" label="disable-win32k-lockdown"/>
  <int value="387178525" label="VideoFullscreenOrientationLock:enabled"/>
  <int value="388996324" label="CustomContextMenu:disabled"/>
  <int value="400322063" label="ash-disable-screen-orientation-lock"/>
  <int value="401983950" label="enable-spdy4"/>
  <int value="402143634" label="enable-search-button-in-omnibox-always"/>
  <int value="405329388"
      label="FramebustingNeedsSameOriginOrUserGesture:enabled"/>
  <int value="411250226" label="AutoplayMutedVideos:disabled"/>
  <int value="412957264" label="tab-close-buttons-hidden-with-touch"/>
  <int value="413081240" label="enable-new-md-input-view"/>
  <int value="413695227" label="NTPSuggestionsStandaloneUI:enabled"/>
  <int value="415154056" label="enable-physical-keyboard-autocorrect"/>
  <int value="416887895" label="enable-password-change-support"/>
  <int value="422307097" label="PhysicalWeb:disabled"/>
  <int value="423615350" label="enable-tab-audio-muting"/>
  <int value="423855924" label="enable-tab-switcher-theme-colors"/>
  <int value="431691805" label="MediaDocumentDownloadButton:enabled"/>
  <int value="446316019" label="enable-threaded-compositing"/>
  <int value="451196246" label="disable-impl-side-painting"/>
  <int value="453102772" label="OfflinePagesLoadSignalCollecting:disabled"/>
  <int value="455698038"
      label="disable-gesture-requirement-for-media-playback"/>
  <int value="457881889" label="enable-autoplay-muted-videos"/>
  <int value="458410433" label="disable-views-rect-based-targeting"/>
  <int value="460136092" label="MidiManagerAndroid:disabled"/>
  <int value="460475728" label="wake-on-wifi-packet"/>
  <int value="466248382" label="disable-push-api-background-mode"/>
  <int value="468959230"
      label="enable-non-validating-reload-on-refresh-content"/>
  <int value="470011024" label="NonValidatingReloadOnNormalReload:enabled"/>
  <int value="474743272" label="material-design-ink-drop"/>
  <int value="477967119" label="enable-unified-media-pipeline"/>
  <int value="479906041" label="RunAllFlashInAllowMode:disabled"/>
  <int value="480544447" label="NonValidatingReloadOnRefreshContentV2:enabled"/>
  <int value="493903641" label="disable-appcontainer"/>
  <int value="494733611" label="disable-drop-sync-credential"/>
  <int value="503245473" label="disable-translate-new-ux"/>
  <int value="504994663" label="GenericSensor:disabled"/>
  <int value="506680761" label="WebNFC:disabled"/>
  <int value="510814146" label="OfflineBookmarks:enabled"/>
  <int value="535976218" label="enable-plugin-power-saver"/>
  <int value="538468149" label="OfflinePagesCT:enabled"/>
  <int value="546520086" label="enable-data-reduction-proxy-savings-promo"/>
  <int value="546710806" label="disable-easy-signin"/>
  <int value="550378029" label="reset-app-list-install-state"/>
  <int value="550387510" label="NTPAssetDownloadSuggestions:disabled"/>
  <int value="562979188" label="DesktopIOSPromotion:enabled"/>
  <int value="567368307" label="enable-experimental-canvas-features"/>
  <int value="575394365" label="AndroidPaymentApps:disabled"/>
  <int value="581118445" label="enable-eol-notification"/>
  <int value="581355159" label="ContentSuggestionsCategoryRanker:disabled"/>
  <int value="584541349" label="ContextualSearchSingleActions:disabled"/>
  <int value="586021329" label="VibrateRequiresUserGesture:enabled"/>
  <int value="592050831" label="disable-slimming-paint"/>
  <int value="593707592" label="disable-network-portal-notification"/>
  <int value="596106994" label="CustomFeedbackUi:enabled"/>
  <int value="598827460" label="enable-roboto-font-ui"/>
  <int value="602117675" label="NTPBookmarkSuggestions:enabled"/>
  <int value="603326800" label="UsePasswordSeparatedSigninFlow:enabled"/>
  <int value="605150752" label="WebUSB:disabled"/>
  <int value="606288133" label="enable-print-preview-register-promos"/>
  <int value="606512202" label="AutofillCreditCardPopupLayout:enabled"/>
  <int value="609112512" label="touch-selection-strategy"/>
  <int value="610545308" label="enable-potentially-annoying-security-features"/>
  <int value="624317932" label="print-pdf-as-image"/>
  <int value="624368375" label="OmniboxEntitySuggestions:enabled"/>
  <int value="625273056" label="disable-boot-animation"/>
  <int value="628302973" label="NTPSnippets:enabled"/>
  <int value="628570445" label="AndroidAutofillAccessibility:enabled"/>
  <int value="630947363" label="touch-events"/>
  <int value="635971109" label="PrintPdfAsImage:disabled"/>
  <int value="636425179" label="mhtml-generator-option"/>
  <int value="637396292" label="AllBookmarks:enabled"/>
  <int value="643725031" label="disable-touch-feedback"/>
  <int value="644189071" label="PermissionsBlacklist:enabled"/>
  <int value="644674603" label="DataReductionProxySiteBreakdown:disabled"/>
  <int value="646252875" label="ReadItLaterInMenu:enabled"/>
  <int value="646738320" label="disable-gesture-editing"/>
  <int value="650602639" label="enable-autofill-keyboard-accessory-view"/>
  <int value="652561231" label="CustomContextMenu:enabled"/>
  <int value="683410401"
      label="enable-proximity-auth-bluetooth-low-energy-discovery"/>
  <int value="684806628" label="TranslateLanguageByULP:disabled"/>
  <int value="685916283" label="enable-zip-archiver-on-file-manager"/>
  <int value="689489984" label="disable-zero-suggest"/>
  <int value="690185633" label="NonValidatingReloadOnNormalReload:disabled"/>
  <int value="691020108" label="NTPCondensedTileLayout:disabled"/>
  <int value="693012666" label="QuickUnlockPin:disabled"/>
  <int value="696600628" label="VibrateRequiresUserGesture:disabled"/>
  <int value="709850261" label="disable-touch-editing"/>
  <int value="711424932" label="enable-cloud-print-xps"/>
  <int value="715617684" label="OriginTrials:disabled"/>
  <int value="716080990" label="restrict-iframe-permissions"/>
  <int value="724208771" label="TabsInCBD:enabled"/>
  <int value="730024226" label="enable-out-of-process-pdf"/>
  <int value="730750097" label="PermissionsBlacklist:disabled"/>
  <int value="732703958" label="enable-gesture-tap-highlight"/>
  <int value="738868972" label="GdiTextPrinting:disabled"/>
  <int value="745868416" label="disable-system-timezone-automatic-detection"/>
  <int value="746944193" label="enable-automatic-password-saving:disabled"/>
  <int value="747847237" label="PhysicalWeb:enabled"/>
  <int value="752194066" label="enable-app-window-cycling"/>
  <int value="752939691" label="disable-tab-for-desktop-share"/>
  <int value="773919225" label="disable-office-editing-component-extension"/>
  <int value="779086132" label="enable-data-reduction-proxy-alt"/>
  <int value="782167080" label="enable-new-qp-input-view"/>
  <int value="783270752" label="AndroidHistoryManager:enabled"/>
  <int value="803282885" label="PreferHtmlOverPlugins:disabled"/>
  <int value="805567148"
      label="enable-canvas-2d-dynamic-rendering-mode-switching"/>
  <int value="806334184" label="AndroidSpellChecker:enabled"/>
  <int value="807734471" label="tab-management-experiment-type-disabled"/>
  <int value="811374216" label="disable-new-bookmark-apps"/>
  <int value="820650704" label="disable-ntp-popular-sites"/>
  <int value="821192723" label="show-fps-counter"/>
  <int value="824961931" label="use-simple-cache-backend"/>
  <int value="832142463" label="WebAssemblyStreaming:enabled"/>
  <int value="834033186" label="enable-data-reduction-proxy-dev"/>
  <int value="834326277" label="enable-answers-in-suggest"/>
  <int value="835018878" label="disable-quic"/>
  <int value="838887742" label="manual-enhanced-bookmarks"/>
  <int value="841343322" label="disable-new-korean-ime"/>
  <int value="846951416" label="CopylessPaste:enabled"/>
  <int value="851085848" label="enable-settings-window"/>
  <int value="854730848" label="disable-app-info-dialog-mac"/>
  <int value="855746780" label="disable-physical-keyboard-autocorrect"/>
  <int value="857445869" label="enable-captive-portal-bypass-proxy"/>
  <int value="862453793" label="TranslateUI2016Q2:enabled"/>
  <int value="867512869" label="mark-non-secure-as"/>
  <int value="869531646" label="enable-session-crashed-bubble"/>
  <int value="879699575" label="disable-gesture-tap-highlight"/>
  <int value="879992337" label="disable-pull-to-refresh-effect"/>
  <int value="880510010" label="enable-permissions-bubbles"/>
  <int value="884106779" label="supervised-user-safesites"/>
  <int value="887011602" label="enable-spelling-auto-correct"/>
  <int value="902608487" label="AutofillUpstreamRequestCvcIfMissing:enabled"/>
  <int value="903267263" label="disable-offline-pages"/>
  <int value="908523940" label="PassiveEventListenersDueToFling:disabled"/>
  <int value="909439558" label="disable-device-discovery"/>
  <int value="916316159" label="disable-new-app-list-mixer"/>
  <int value="926852901" label="DataReductionProxyMainMenu:disabled"/>
  <int value="929462705" label="disable-link-disambiguation-popup"/>
  <int value="935655516" label="password-import-export:disabled"/>
  <int value="936341613" label="OfflinePagesCT:disabled"/>
  <int value="936919953" label="bypass-app-banner-engagement-checks"/>
  <int value="938191241" label="VrShell:enabled"/>
  <int value="939554480" label="enable-credit-card-scan"/>
  <int value="939603162" label="BackgroundLoadingForDownloads:disabled"/>
  <int value="941036016" label="ContentSuggestionsSettings:disabled"/>
  <int value="943319566" label="enable-intent-picker"/>
  <int value="952558794" label="enable-remote-assistance"/>
  <int value="980396200" label="enable-new-korean-ime"/>
  <int value="982032277" label="NTPOfflineBadge:disabled"/>
  <int value="982511393" label="NTPArticleSuggestions:disabled"/>
  <int value="983311394" label="tab-management-experiment-type"/>
  <int value="1000706989" label="AutomaticTabDiscarding:disabled"/>
  <int value="1002585107" label="emphasize-titles-in-omnibox-dropdown"/>
  <int value="1003002105" label="MaterialDesignBookmarks:disabled"/>
  <int value="1007444341" label="enable-prefixed-encrypted-media"/>
  <int value="1015895665" label="drop-sync-credential:enabled"/>
  <int value="1019857902"
      label="disable-hide-inactive-stacked-tab-close-buttons"/>
  <int value="1022992701" label="enable-origin-chip-always"/>
  <int value="1033597574" label="disable-layer-squashing"/>
  <int value="1036068554" label="enable-android-pay-integration-v2"/>
  <int value="1043334401" label="disable-slimming-paint-invalidation"/>
  <int value="1049885154" label="OfflinePagesPrefetching:disabled"/>
  <int value="1050048304" label="enable-font-cache-scaling"/>
  <int value="1050321458" label="new-profile-management"/>
  <int value="1054910800" label="enable-timezone-tracking-option"/>
  <int value="1057887829" label="AutofillScanThemeDialog:disabled"/>
  <int value="1060319397" label="enable-data-reduction-proxy-carrier-test"/>
  <int value="1062357243" label="remember-cert-error-decisions"/>
  <int value="1064288458" label="OfflineRecentPages:enabled"/>
  <int value="1067618884" label="enable-experimental-input-view-features"/>
  <int value="1070164693" label="MidiManagerDynamicInstantiation:disabled"/>
  <int value="1070300488" label="disable-webgl"/>
  <int value="1081546525" label="ash-enable-docked-windows"/>
  <int value="1087235172" label="file-manager-enable-new-audio-player"/>
  <int value="1090377940" label="enable-quic-https"/>
  <int value="1095061640" label="enable-prominent-url-app-flow"/>
  <int value="1098823967" label="ash-enable-window-cycle-ui"/>
  <int value="1104948452" label="manual-enhanced-bookmarks-optout"/>
  <int value="1105439588" label="enable-swipe-selection"/>
  <int value="1107543566" label="enable-one-copy"/>
  <int value="1108663108" label="disable-device-discovery-notifications"/>
  <int value="1113365156" label="tab-management-experiment-type-chive"/>
  <int value="1114629582" label="enable-floating-virtual-keyboard"/>
  <int value="1118109174" label="enable-launcher-search-provider-api"/>
  <int value="1127183523" label="PassiveEventListenersDueToFling:enabled"/>
  <int value="1127427821" label="OmniboxEntitySuggestions:disabled"/>
  <int value="1129888794" label="ash-touch-hud"/>
  <int value="1133635187" label="force-gpu-rasterization"/>
  <int value="1139226452" label="enable-nacl-debug"/>
  <int value="1139363314" label="disable-supervised-user-blacklist"/>
  <int value="1142515376" label="enable-nacl"/>
  <int value="1142788238" label="FontCacheScaling:disabled"/>
  <int value="1149823105" label="enable-input-ime-api"/>
  <int value="1150622273" label="enable-apps-file-associations"/>
  <int value="1153454438"
      label="AutofillCreditCardLastUsedDateDisplay:disabled"/>
  <int value="1155923106" label="NTPOfflinePages:enabled"/>
  <int value="1163255347" label="ash-enable-touch-view-touch-feedback"/>
  <int value="1166169237" label="disable-delay-agnostic-aec"/>
  <int value="1167613030" label="enable-permission-action-reporting"/>
  <int value="1174088940" label="enable-wasm"/>
  <int value="1179936481" label="enable-android-pay-integration-v1"/>
  <int value="1181056275" label="enable-cloud-backup"/>
  <int value="1183431946" label="v8-cache-options"/>
  <int value="1185424279" label="enable-media-router"/>
  <int value="1190035852" label="MediaRemoting:enabled"/>
  <int value="1192302892" label="gesture-typing"/>
  <int value="1192913630" label="OfflinePagesBackgroundLoading:disabled"/>
  <int value="1196644408" label="performance-monitor-gathering"/>
  <int value="1196834473" label="disable-smart-virtual-keyboard"/>
  <int value="1205849612" label="enable-sync-synced-notifications"/>
  <int value="1209221384" label="enable-experimental-accessibility-features"/>
  <int value="1210343926" label="enable-drop-sync-credential"/>
  <int value="1211284676" label="V8NoTurbo:enabled"/>
  <int value="1219628795" label="PrintScaling:disabled"/>
  <int value="1219826373" label="ServiceWorkerNavigationPreload:enabled"/>
  <int value="1220171692" label="SpeculativeLaunchServiceWorker:enabled"/>
  <int value="1220464509" label="enable-first-run-ui-transitions"/>
  <int value="1221559505" label="enable-spelling-feedback-field-trial"/>
  <int value="1222017136" label="WebRtcUseEchoCanceller3:disabled"/>
  <int value="1235800887" label="V8Ignition:enabled"/>
  <int value="1237297772" label="no-pings"/>
  <int value="1242632259" label="ContentSuggestionsCategoryOrder:disabled"/>
  <int value="1245889469" label="enable-surface-worker"/>
  <int value="1247293682" label="topchrome-md"/>
  <int value="1250071868" label="disable-timezone-tracking-option"/>
  <int value="1253698118" label="ash-disable-stable-overview-order"/>
  <int value="1257980502" label="disable-accelerated-video-decode"/>
  <int value="1268470658" label="disable-android-password-link"/>
  <int value="1269940659" label="EnumerateAudioDevices:enabled"/>
  <int value="1269952439" label="AndroidAIAFetching:disabled"/>
  <int value="1272699563" label="enable-hosted-mode"/>
  <int value="1276209777" label="ntp-switch-to-existing-tab"/>
  <int value="1279584261" label="enable-carrier-switching"/>
  <int value="1280614081" label="show-overdraw-feedback"/>
  <int value="1283956865" label="force-tablet-mode"/>
  <int value="1283960113" label="disable-fixed-position-compositing"/>
  <int value="1291257442" label="TabsInCBD:disabled"/>
  <int value="1291966558" label="ScrollAnchoring:disabled"/>
  <int value="1294131571" label="disable-winrt-midi-api"/>
  <int value="1298981651" label="disable-new-task-manager"/>
  <int value="1300282719" label="OfflinePagesBackgroundLoading:enabled"/>
  <int value="1302421166" label="NativeNotifications:disabled"/>
  <int value="1308537004" label="force-pnacl-subzero"/>
  <int value="1312025202" label="NTPOfflinePageSuggestions:disabled"/>
  <int value="1314681756" label="NoStatePrefetch:disabled"/>
  <int value="1317562265" label="SeccompSandboxAndroid:disabled"/>
  <int value="1318073661" label="MaterialDesignExtensions:enabled"/>
  <int value="1319725131" label="enable-distance-field-text"/>
  <int value="1320201920" label="enable-touchpad-three-finger-click"/>
  <int value="1344833841" label="ImeThread:enabled"/>
  <int value="1351830811" label="do-not-ignore-autocomplete-off"/>
  <int value="1352447982" label="enable-lcd-text"/>
  <int value="1359972809" label="enable-gesture-deletion"/>
  <int value="1361047396" label="disable-click-delay"/>
  <int value="1361073386" label="ContentSuggestionsNotifications:enabled"/>
  <int value="1367529437" label="NTPAssetDownloadSuggestions:enabled"/>
  <int value="1367671275" label="enable-proximity-auth-proximity-detection"/>
  <int value="1371092708" label="disable-desktop-capture-picker-old-ui"/>
  <int value="1371907429" label="enable-wallet-card-import"/>
  <int value="1372199493" label="windows10-custom-titlebar"/>
  <int value="1372680885" label="enable-mtp-write-support"/>
  <int value="1373777956" label="disable-threaded-gpu-rasterization"/>
  <int value="1378310092" label="disable-suggestions-service"/>
  <int value="1381746642" label="enable-automatic-password-saving"/>
  <int value="1382500494" label="disable-drive-apps-in-app-list"/>
  <int value="1383591631" label="enable-gesture-typing"/>
  <int value="1384614036" label="disable-unified-media-pipeline"/>
  <int value="1389729816" label="data-reduction-proxy-lo-fi"/>
  <int value="1405459667" label="enable-fast-text-autosizing"/>
  <int value="1406354320" label="MacViewsWebUIDialogs:enabled"/>
  <int value="1407625309"
      label="disable-minimize-on-second-launcher-item-click"/>
  <int value="1408331660" label="enhanced-bookmarks-experiment"/>
  <int value="1410697724" label="mediadrm-enable-non-compositing"/>
  <int value="1416592483" label="ash-enable-mirrored-screen"/>
  <int value="1418054870" label="SpecialLocale:enabled"/>
  <int value="1421620678" label="simple-clear-browsing-data-support-string"/>
  <int value="1435018419" label="AutofillUpstreamRequestCvcIfMissing:disabled"/>
  <int value="1441897340" label="AndroidSpellCheckerNonLowEnd:enabled"/>
  <int value="1442798825" label="enable-quic"/>
  <int value="1442830837" label="MemoryAblation:disabled"/>
  <int value="1454363479" label="disable-storage-manager"/>
  <int value="1458583431" label="arc-use-auth-endpoint"/>
  <int value="1459529277" label="disable-text-input-focus-manager"/>
  <int value="1460747747" label="GdiTextPrinting:enabled"/>
  <int value="1460958818" label="NTPForeignSessionsSuggestions:enabled"/>
  <int value="1465624446" label="disable-zero-copy"/>
  <int value="1466380480" label="enable-device-discovery-notifications"/>
  <int value="1466502102" label="DelayNavigation:disabled"/>
  <int value="1469407485" label="disable-accelerated-2d-canvas"/>
  <int value="1479248574" label="disable-voice-input"/>
  <int value="1481562816" label="disable-password-link"/>
  <int value="1486171015" label="disable-fill-on-account-select"/>
  <int value="1489915799" label="disable-permissions-blacklist"/>
  <int value="1490043732" label="enable-fill-on-account-select"/>
  <int value="1490255042" label="enable-overlay-scrollbar"/>
  <int value="1495341532" label="disable-mtp-write-support"/>
  <int value="1496135626" label="UploadCrashReportsUsingJobScheduler:enabled"/>
  <int value="1496571153" label="enable-webapk"/>
  <int value="1497924954" label="js-flags"/>
  <int value="1499163193" label="PostScriptPrinting:disabled"/>
  <int value="1505194447" label="disable-transition-compositing"/>
  <int value="1509901380" label="disable-drive-search-in-app-launcher"/>
  <int value="1510476448" label="disable-prefixed-encrypted-media"/>
  <int value="1511140997" label="OfflinePagesAsyncDownload:disabled"/>
  <int value="1511161758" label="BackgroundLoader:enabled"/>
  <int value="1515196403" label="fast-user-switching"/>
  <int value="1517863401" label="history-entry-requires-user-gesture"/>
  <int value="1541723759" label="ServiceWorkerNavigationPreload:disabled"/>
  <int value="1548776701" label="AllBookmarks:disabled"/>
  <int value="1548942246" label="PassiveDocumentEventListeners:disabled"/>
  <int value="1560188739" label="reader-mode-heuristics"/>
  <int value="1579461102" label="MemoryCoordinator:disabled"/>
  <int value="1586022426" label="AutofillCreditCardAssist:enabled"/>
  <int value="1589341623" label="disable-easy-unlock"/>
  <int value="1594247626" label="ContentSuggestionsSettings:enabled"/>
  <int value="1605611615" label="enable-webrtc-srtp-aes-gcm"/>
  <int value="1612446645" label="enable-weak-memorycache"/>
  <int value="1612871297" label="WebPayments:disabled"/>
  <int value="1612974229" label="allow-insecure-localhost"/>
  <int value="1617187093" label="enable-improved-a2hs"/>
  <int value="1622131033" label="ozone-test-single-overlay-support"/>
  <int value="1634897915" label="password-import-export:enabled"/>
  <int value="1636962093" label="disable-material-design-ntp"/>
  <int value="1646498561" label="OfflineBookmarks:disabled"/>
  <int value="1657713458" label="disable-virtual-keyboard-overscroll"/>
  <int value="1658644418" label="disable-app-list-voice-search"/>
  <int value="1661925474" label="silent-debugger-extension-api"/>
  <int value="1668611601" label="enable-encrypted-media"/>
  <int value="1689123607" label="enable-app-link"/>
  <int value="1689183477" label="enable-merge-key-char-events"/>
  <int value="1691568199" label="AndroidSpellCheckerNonLowEnd:disabled"/>
  <int value="1694854500" label="disable-save-password-bubble"/>
  <int value="1696139514" label="enable-ble-advertising-in-apps"/>
  <int value="1697189972" label="WebPaymentsSingleAppUiSkip:disabled"/>
  <int value="1701972870" label="NTPSnippetsIncreasedVisibility:enabled"/>
  <int value="1702821235" label="WebAssembly:enabled"/>
  <int value="1705724232" label="use-android-midi-api"/>
  <int value="1723601083" label="enable-app-window-controls"/>
  <int value="1724800383" label="AsmJsToWebAssembly:disabled"/>
  <int value="1730094138" label="enable-md-storage-manager"/>
  <int value="1730236697" label="force-device-scale-factor"/>
  <int value="1730416578" label="NTPCondensedLayout:enabled"/>
  <int value="1731522433" label="enable-offer-store-unmasked-wallet-cards"/>
  <int value="1747279677" label="disable-delegated-renderer"/>
  <int value="1752168018" label="enable-stale-while-revalidate"/>
  <int value="1766676896" label="affiliation-based-matching:disabled"/>
  <int value="1772454319" label="enable-storage-manager"/>
  <int value="1775475563" label="malware-interstitial-v3"/>
  <int value="1776475705" label="show-composited-layer-borders"/>
  <int value="1777059507" label="trust-autofill-server-name-types"/>
  <int value="1777806335" label="UsePasswordSeparatedSigninFlow:disabled"/>
  <int value="1783293530" label="disallow-autofill-sync-credential"/>
  <int value="1783837132" label="enable-threaded-gpu-rasterization"/>
  <int value="1785093465" label="enable-document-passive-event-listeners"/>
  <int value="1786229999" label="disable-md-downloads"/>
  <int value="1791904609" label="disable-autofill-keyboard-accessory-view"/>
  <int value="1803465156" label="enable-zero-suggest-most-visited"/>
  <int value="1809940714" label="SpeculativeLaunchServiceWorker:disabled"/>
  <int value="1812368073" label="enable-new-app-list-mixer"/>
  <int value="1814671708" label="disable-password-manager-reauthentication"/>
  <int value="1817312143" label="num-raster-threads"/>
  <int value="1819256299" label="disable-webrtc-hw-decoding"/>
  <int value="1819536169" label="disable-cast-streaming-hw-encoding"/>
  <int value="1820317896" label="NTPShowGoogleGInOmnibox:disabled"/>
  <int value="1820451991" label="enable-offline-auto-reload"/>
  <int value="1821723343" label="disable-saml-signin"/>
  <int value="1827369558" label="AndroidPayIntegrationV1:disabled"/>
  <int value="1828660283" label="enable-webfonts-intervention-trigger"/>
  <int value="1838990777" label="V8Future:enabled"/>
  <int value="1844110073" label="enable-app-view"/>
  <int value="1847024354" label="enable-hotword-hardware"/>
  <int value="1852630189" label="NTPBookmarkSuggestions:disabled"/>
  <int value="1855524566" label="allow-insecure-websocket-from-https-origin"/>
  <int value="1860597983" label="AndroidSpellChecker:disabled"/>
  <int value="1861251313"
      label="enable-message-center-always-scroll-up-upon-notification-removal"/>
  <int value="1862207743" label="enable-android-spellchecker"/>
  <int value="1865068568" label="disable-audio-support-for-desktop-share"/>
  <int value="1865799183" label="javascript-harmony"/>
  <int value="1866079109" label="team-drives"/>
  <int value="1867085340" label="brotli-encoding:enabled"/>
  <int value="1878331098" label="GuestViewCrossProcessFrames:enabled"/>
  <int value="1881036528" label="disable-multilingual-spellchecker"/>
  <int value="1881174782" label="disable-brotli"/>
  <int value="1889076955" label="disable-app-link"/>
  <int value="1891210939" label="enable-blink-features"/>
  <int value="1892201400" label="enable-password-separated-signin-flow"/>
  <int value="1893317228" label="WebPayments:enabled"/>
  <int value="1895587769" label="CredentialManagementAPI:disabled"/>
  <int value="1896456311" label="enable-password-save-in-page-navigation"/>
  <int value="1898231011" label="enable-native-notifications"/>
  <int value="1900529524" label="disable-touch-drag-drop"/>
  <int value="1905465678" label="ContextualSearchSingleActions:enabled"/>
  <int value="1906942630" label="enable-easy-unlock"/>
  <int value="1915178511" label="disable-blink-features"/>
  <int value="1927259098" label="TranslateLanguageByULP:enabled"/>
  <int value="1928407249" label="NewPhotoPicker:enabled"/>
  <int value="1930901873" label="disable-sync-app-list"/>
  <int value="1931309368" label="fill-on-account-select:disabled"/>
  <int value="1939413645" label="enable-invalid-cert-collection"/>
  <int value="1942911276" label="enable-grouped-history"/>
  <int value="1944156526" label="sync-url"/>
  <int value="1947350992" label="drop-sync-credential:disabled"/>
  <int value="1951466218" label="enable-data-reduction-proxy-lite-page"/>
  <int value="1955677113" label="trace-export-events-to-etw"/>
  <int value="1958387645" label="ScanCardsInWebPayments:enabled"/>
  <int value="1960169775" label="NewPhotoPicker:disabled"/>
  <int value="1961425320" label="force-qtkit"/>
  <int value="1964816410" label="AndroidPayIntegrationV2:enabled"/>
  <int value="1966730288" label="disable-threaded-compositing"/>
  <int value="1969604362" label="enable-pinch-virtual-viewport"/>
  <int value="1980011075" label="debug-packed-apps"/>
  <int value="1980648371" label="PointerEventV1SpecCapturing:enabled"/>
  <int value="1989877708" label="PostScriptPrinting:enabled"/>
  <int value="1992466116" label="enable-passive-event-listeners-due-to-fling"/>
  <int value="1993258379" label="enable-icon-ntp"/>
  <int value="1994431722" label="MaterialDesignUserMenu:disabled"/>
  <int value="1995322219" label="EmojiHandwritingVoiceInput:enabled"/>
  <int value="1996125159" label="AutoplayMutedVideos:enabled"/>
  <int value="1997047666" label="NTPSnippetsIncreasedVisibility:disabled"/>
  <int value="2000091128" label="enable-touch-hover"/>
  <int value="2003811018" label="enable-touch-support-for-screen-magnifier"/>
  <int value="2004483175" label="multi-instance-merge-tabs"/>
  <int value="2004829262" label="enable-webgl-draft-extensions"/>
  <int value="2005614493" label="tab-management-experiment-type-dill"/>
  <int value="2014331873" label="NTPDownloadSuggestions:disabled"/>
  <int value="2020107447" label="AndroidPayIntegrationV1:enabled"/>
  <int value="2037756154" label="enable-impl-side-painting"/>
  <int value="2059322877" label="new-avatar-menu"/>
  <int value="2063091429" label="OfflinePagesSharing:enabled"/>
  <int value="2067634730" label="LsdPermissionPrompt:disabled"/>
  <int value="2071340353" label="progress-bar-completion"/>
  <int value="2071461362" label="disable-credit-card-scan"/>
  <int value="2076903744" label="progress-bar-animation"/>
  <int value="2077917024"
      label="enable-supervised-user-managed-bookmarks-folder"/>
  <int value="2079672348" label="ExperimentalKeyboardLockUI:disabled"/>
  <int value="2085438501" label="ChromeHome:enabled"/>
  <int value="2093235103" label="default-tile-width"/>
  <int value="2097048479" label="disable-auto-hiding-toolbar-threshold"/>
  <int value="2098714203" label="enable-generic-sensors"/>
  <int value="2101151142" label="disable-direct-write"/>
  <int value="2104788328" label="use-winrt-midi-api"/>
  <int value="2119964154" label="enable-download-resumption"/>
  <int value="2121550859" label="PreferHtmlOverPlugins:enabled"/>
  <int value="2121776031" label="auto-virtual-keyboard"/>
  <int value="2122023503" label="enable-win32k-lockdown-mimetypes"/>
  <int value="2122876605" label="enable-bleeding-edge-rendering-fast-paths"/>
  <int value="2123567684" label="OptimizeLoadingIPCForSmallResources:enabled"/>
  <int value="2126203058" label="force-show-update-menu-badge"/>
  <int value="2129184006" label="NTPOfflinePageDownloadSuggestions:enabled"/>
  <int value="2129929643" label="enable-use-zoom-for-dsf"/>
  <int value="2137347307" label="enable-drive-apps-in-app-list"/>
  <int value="2137599770" label="enable-win32k-renderer-lockdown"/>
  <int value="2141463681" label="enable-offer-upload-credit-cards"/>
</enum>

<enum name="LoginDatabaseInitError" type="int">
  <int value="0" label="Init success"/>
  <int value="1" label="Can't open file"/>
  <int value="2" label="Start transaction error"/>
  <int value="3" label="Meta table failed initialization"/>
  <int value="4" label="Incompatible current version"/>
  <int value="5" label="Logins table failed initialization"/>
  <int value="6" label="Stats table failed initialization"/>
  <int value="7" label="Migration error"/>
  <int value="8" label="Commit transaction error"/>
</enum>

<enum name="LoginFailureReason" type="int">
  <int value="0" label="None"/>
  <int value="1" label="Could not mount cryptohome"/>
  <int value="2" label="Could not mount tmpfs"/>
  <int value="3" label="Could not unmount cryptohome"/>
  <int value="4" label="Data removal failed"/>
  <int value="5" label="Login timed out"/>
  <int value="6" label="Unlock failed"/>
  <int value="7" label="Network auth failed"/>
  <int value="8" label="Owner required"/>
  <int value="9" label="Whitelist check failed"/>
  <int value="10" label="TPM error"/>
  <int value="11" label="Failed to get username hash"/>
  <int value="12" label="Failed to get OAuth2 token"/>
</enum>

<enum name="LoginIsKnownUser" type="int">
  <int value="0" label="Unknown user"/>
  <int value="1" label="Known user"/>
</enum>

<enum name="LoginPasswordChangeFlow" type="int">
  <int value="0" label="Password change"/>
  <int value="1" label="Cryptohome failure"/>
</enum>

<enum name="LoginPolicyFilesState" type="int">
  <summary>Policy/owner key file state.</summary>
  <int value="0" label="HEALTHY_R11">Healthy, pre-R11</int>
  <int value="1" label="UNUSED">Unused</int>
  <int value="2" label="HEALTHY">Healthy</int>
  <int value="3" label="RESERVED">Reserved</int>
  <int value="4" label="BAD_POLICY_R11">Key OK, policy bad, pre-R11</int>
  <int value="5" label="UNUSED">Unused</int>
  <int value="6" label="BAD_POLICY">Key OK, policy bad</int>
  <int value="7" label="RESERVED">Reserved</int>
  <int value="8" label="KEY_OK_NO_POLICY_R11">
    Key OK, no policy, pre-R11 user (http://crosbug.com/24916)
  </int>
  <int value="9" label="UNUSED">Unused</int>
  <int value="10" label="KEY_OK_NO_POLICY">Key OK, no policy</int>
  <int value="11" label="RESERVED">Reserved</int>
  <int value="12" label="RESERVED">Reserved</int>
  <int value="13" label="RESERVED">Reserved</int>
  <int value="14" label="RESERVED">Reserved</int>
  <int value="15" label="RESERVED">Reserved</int>
  <int value="16" label="BAD_KEY_R11">Key bad, policy OK, pre-R11</int>
  <int value="17" label="UNUSED">Unused</int>
  <int value="18" label="BAD_KEY">Key bad, policy OK</int>
  <int value="19" label="RESERVED">Reserved</int>
  <int value="20" label="BAD_KEY_BAD_POLICY_R11">
    Key bad, policy bad, pre-R11
  </int>
  <int value="21" label="UNUSED">Unused</int>
  <int value="22" label="BAD_KEY_BAD_POLICY">Key bad, policy bad</int>
  <int value="23" label="RESERVED">Reserved</int>
  <int value="24" label="BAD_KEY_NO_POLICY_R11">
    Key bad, policy bad, pre-R11
  </int>
  <int value="25" label="UNUSED">Unused</int>
  <int value="26" label="BAD_KEY_BAD_POLICY">Key bad, policy bad</int>
  <int value="27" label="RESERVED">Reserved</int>
  <int value="28" label="RESERVED">Reserved</int>
  <int value="29" label="RESERVED">Reserved</int>
  <int value="30" label="RESERVED">Reserved</int>
  <int value="31" label="RESERVED">Reserved</int>
  <int value="32" label="NO_KEY_R11">No key, policy OK, pre-R11</int>
  <int value="33" label="UNUSED">Unused</int>
  <int value="34" label="NO_KEY">No key, policy OK</int>
  <int value="35" label="RESERVED">RESERVED</int>
  <int value="36" label="NO_KEY_BAD_POLICY_R11">
    No key, policy bad, pre-R11
  </int>
  <int value="37" label="UNUSED">Unused</int>
  <int value="38" label="NO_KEY_BAD_POLICY">No key, bad policy</int>
  <int value="39" label="RESERVED">Reserved</int>
  <int value="40" label="NO_KEY_NO_POLICY_R11">Un-owned, pre-R11</int>
  <int value="41" label="UNUSED">Unused</int>
  <int value="42" label="NO_KEY_NO_POLICY">Un-owned</int>
  <int value="43" label="RESERVED">Reserved</int>
</enum>

<enum name="LoginReauthReasons" type="int">
  <int value="0" label="None">
    No reason recorded so far, nothing to report. This value should never be
    reported in histogram.
  </int>
  <int value="1" label="Other">Legacy profile holders.</int>
  <int value="2" label="InvalidTokenHandle">
    Password changed, revoked credentials, account deleted.
  </int>
  <int value="3" label="IncorrectPwdEntered">
    Incorrect password entered 3 times at the pod.
  </int>
  <int value="4" label="IncorrectSAMLPwdEntered">
    Incorrect password entered by a SAML user once. OS would show a tooltip
    offering user to complete the online sign-in.
  </int>
  <int value="5" label="SAMLReauthPolicy">
    Company policy required re-auth for SAML users.
  </int>
  <int value="6" label="MissingCryptohome">
    Cryptohome is missing, most likely due to deletion during garbage
    collection.
  </int>
  <int value="7" label="SyncFailed">
    After prior login, OS failed to connect to the sync with the existing RT.
    This could be due to a deleted account, password changed, account revoked,
    etc.
  </int>
  <int value="8" label="PwdUpdateSkipped">
    User cancelled the password change prompt. Chrome OS has to continue to send
    the user through the online flow until user updates their cryptohome
    password or agrees to start the new cryptohome.
  </int>
</enum>

<enum name="LoginStateKeyGenerationStatus" type="int">
  <summary>The result of a state key generation operation.</summary>
  <int value="0" label="GENERATION_METHOD_IDENTIFIER_HASH">
    Successfully generated state keys from machine identifiers.
  </int>
  <int value="1" label="GENERATION_METHOD_HMAC_DEVICE_SECRET">
    Successfully generated state keys from stable device secret.
  </int>
  <int value="2" label="MISSING_IDENTIFIERS">
    Failed due to missing machine IDs.
  </int>
  <int value="3" label="BAD_DEVICE_SECRET">
    Failed due to invalid device secret input.
  </int>
  <int value="4" label="HMAC_INIT_FAILURE">HMAC initialization failed.</int>
  <int value="5" label="HMAC_SIGN_FAILURE">HMAC computation failed.</int>
</enum>

<enum name="LoginSuccessReason" type="int">
  <int value="0" label="OFFLINE_AND_ONLINE">
    Login success offline and online
  </int>
  <int value="1" label="OFFLINE_ONLY">Login success offline only</int>
</enum>

<enum name="LoginUserType" type="int">
  <int value="0" label="INCOGNITO_NORMAL">Incognito Normal</int>
  <int value="1" label="OWNER_NORMAL">Owner Normal</int>
  <int value="2" label="OTHER_NORMAL">Other Normal</int>
  <int value="3" label="INCOGNITO_DEVELOPER">Incognito Dev</int>
  <int value="4" label="OWNER_DEVELOPER">Owner Dev</int>
  <int value="5" label="OTHER_DEVELOPER">Other Dev</int>
</enum>

<enum name="MacBookVersions" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="MacBook5,X"/>
  <int value="2" label="MacBook6,X"/>
  <int value="3" label="MacBook7,X"/>
  <int value="4" label="MacBook8,X"/>
  <int value="5" label="MacBookPro11,X"/>
  <int value="6" label="MacBookPro12,X"/>
  <int value="7" label="MacBookPro13,X"/>
  <int value="8" label="MacBookAir5,X"/>
  <int value="9" label="MacBookAir6,X"/>
  <int value="10" label="MacBookAir7,X"/>
  <int value="11" label="MacBookAir8,X"/>
  <int value="12" label="MacBookAir3,X"/>
  <int value="13" label="MacBookAir4,X"/>
  <int value="14" label="MacBook4,X"/>
  <int value="15" label="MacBook9,X"/>
  <int value="16" label="MacBook10,X"/>
  <int value="17" label="MacBookPro10,X"/>
  <int value="18" label="MacBookPro9,X"/>
  <int value="19" label="MacBookPro8,X"/>
  <int value="20" label="MacBookPro7,X"/>
  <int value="21" label="MacBookPro6,X"/>
  <int value="22" label="MacBookPro5,X"/>
</enum>

<enum name="MainFrameStorable" type="int">
  <int value="0" label="Storable"/>
  <int value="1" label="cache-control: no-store"/>
</enum>

<enum name="MainThreadScrollingReason" type="int">
  <int value="0" label="Not scrolling on main"/>
  <int value="1" label="Background attachment fixed"/>
  <int value="2" label="Non layer viewport constrained"/>
  <int value="3" label="Threaded scrolling disabled"/>
  <int value="4" label="Scrollbar scrolling"/>
  <int value="5" label="Page overlay"/>
  <int value="6" label="Non-fast scrollable region"/>
  <int value="7" label="Event handlers"/>
  <int value="8" label="Failed hit test"/>
  <int value="9" label="No scrolling layer"/>
  <int value="10" label="Not scrollable"/>
  <int value="11" label="Continuing main thread scroll"/>
  <int value="12" label="Non-invertible transform"/>
  <int value="13" label="Page based scrolling"/>
  <int value="14" label="Animating scroll on main thread"/>
  <int value="15" label="Has sticky position objects"/>
  <int value="16" label="Requires hit testing on custom scrollbars"/>
  <int value="17" label="Has opacity"/>
  <int value="18" label="Has transform"/>
  <int value="19" label="Background not opaque in rect"/>
  <int value="20" label="Has border radius"/>
  <int value="21" label="Has clip related property"/>
  <int value="22" label="Has box shadow from non-root layer"/>
</enum>

<enum name="MakeChromeDefaultResult" type="int">
  <int value="0" label="Chrome made default"/>
  <int value="1" label="Dialog closed without explicit choice"/>
  <int value="2" label="Other browser selected"/>
  <int value="3" label="Chrome made default + Relaunch in Metro (obsolete)"/>
</enum>

<enum name="ManagedUserPasswordChange" type="int">
  <int value="0" label="OK_MANAGER">Changed in manager session</int>
  <int value="1" label="OK_MANGED">Changed in supervised user session</int>
  <int value="2" label="FAILED_NO_MASTER_KEY">Master key not found</int>
  <int value="3" label="FAILED_NO_SIGNATURE_KEY">
    Signature or encryption key not found
  </int>
  <int value="4" label="FAILED_NO_PASSWORD_DATA">Password data not found</int>
  <int value="5" label="FAILED_MASTER_KEY_FAILURE">
    Manager key authorization failed
  </int>
  <int value="6" label="FAILED_LOAD_DATA_FAILURE">
    Could not load new password data upon supervised user signin
  </int>
  <int value="7" label="FAILED_INCOMPLETE_DATA_FAILURE">
    Incomplete password data loaded upon supervised user signin.
  </int>
  <int value="8" label="FAILED_AUTHENTICATION_FAILURE">
    Authentication failure while changing password during supervised user
    signin.
  </int>
  <int value="9" label="FAILED_STORE_DATA">
    Could not store new password data for supervised user.
  </int>
</enum>

<enum name="ManifestFetchResultType" type="int">
  <int value="0" label="Fetch succeeded"/>
  <int value="1" label="Fetch failed because of empty URL"/>
  <int value="2" label="Fetch failed (unspecified reason)"/>
</enum>

<enum name="MappedCSSProperties" type="int">
<!-- Generated from third_party/WebKit/Source/core/frame/UseCounter.cpp -->

  <int value="1" label="Total Pages Measured"/>
  <int value="2" label="color"/>
  <int value="3" label="direction"/>
  <int value="4" label="display"/>
  <int value="5" label="font"/>
  <int value="6" label="font-family"/>
  <int value="7" label="font-size"/>
  <int value="8" label="font-style"/>
  <int value="9" label="font-variant"/>
  <int value="10" label="font-weight"/>
  <int value="11" label="text-rendering"/>
  <int value="12" label="alias-webkit-font-feature-settings"/>
  <int value="13" label="font-kerning"/>
  <int value="14" label="webkit-font-smoothing"/>
  <int value="15" label="font-variant-ligatures"/>
  <int value="16" label="webkit-locale"/>
  <int value="17" label="webkit-text-orientation"/>
  <int value="18" label="webkit-writing-mode"/>
  <int value="19" label="zoom"/>
  <int value="20" label="line-height"/>
  <int value="21" label="background"/>
  <int value="22" label="background-attachment"/>
  <int value="23" label="background-clip"/>
  <int value="24" label="background-color"/>
  <int value="25" label="background-image"/>
  <int value="26" label="background-origin"/>
  <int value="27" label="background-position"/>
  <int value="28" label="background-position-x"/>
  <int value="29" label="background-position-y"/>
  <int value="30" label="background-repeat"/>
  <int value="31" label="background-repeat-x"/>
  <int value="32" label="background-repeat-y"/>
  <int value="33" label="background-size"/>
  <int value="34" label="border"/>
  <int value="35" label="border-bottom"/>
  <int value="36" label="border-bottom-color"/>
  <int value="37" label="border-bottom-left-radius"/>
  <int value="38" label="border-bottom-right-radius"/>
  <int value="39" label="border-bottom-style"/>
  <int value="40" label="border-bottom-width"/>
  <int value="41" label="border-collapse"/>
  <int value="42" label="border-color"/>
  <int value="43" label="border-image"/>
  <int value="44" label="border-image-outset"/>
  <int value="45" label="border-image-repeat"/>
  <int value="46" label="border-image-slice"/>
  <int value="47" label="border-image-source"/>
  <int value="48" label="border-image-width"/>
  <int value="49" label="border-left"/>
  <int value="50" label="border-left-color"/>
  <int value="51" label="border-left-style"/>
  <int value="52" label="border-left-width"/>
  <int value="53" label="border-radius"/>
  <int value="54" label="border-right"/>
  <int value="55" label="border-right-color"/>
  <int value="56" label="border-right-style"/>
  <int value="57" label="border-right-width"/>
  <int value="58" label="border-spacing"/>
  <int value="59" label="border-style"/>
  <int value="60" label="border-top"/>
  <int value="61" label="border-top-color"/>
  <int value="62" label="border-top-left-radius"/>
  <int value="63" label="border-top-right-radius"/>
  <int value="64" label="border-top-style"/>
  <int value="65" label="border-top-width"/>
  <int value="66" label="border-width"/>
  <int value="67" label="bottom"/>
  <int value="68" label="box-shadow"/>
  <int value="69" label="box-sizing"/>
  <int value="70" label="caption-side"/>
  <int value="71" label="clear"/>
  <int value="72" label="clip"/>
  <int value="73" label="alias-webkit-clip-path"/>
  <int value="74" label="content"/>
  <int value="75" label="counter-increment"/>
  <int value="76" label="counter-reset"/>
  <int value="77" label="cursor"/>
  <int value="78" label="empty-cells"/>
  <int value="79" label="float"/>
  <int value="80" label="font-stretch"/>
  <int value="81" label="height"/>
  <int value="82" label="image-rendering"/>
  <int value="83" label="left"/>
  <int value="84" label="letter-spacing"/>
  <int value="85" label="list-style"/>
  <int value="86" label="list-style-image"/>
  <int value="87" label="list-style-position"/>
  <int value="88" label="list-style-type"/>
  <int value="89" label="margin"/>
  <int value="90" label="margin-bottom"/>
  <int value="91" label="margin-left"/>
  <int value="92" label="margin-right"/>
  <int value="93" label="margin-top"/>
  <int value="94" label="max-height"/>
  <int value="95" label="max-width"/>
  <int value="96" label="min-height"/>
  <int value="97" label="min-width"/>
  <int value="98" label="opacity"/>
  <int value="99" label="orphans"/>
  <int value="100" label="outline"/>
  <int value="101" label="outline-color"/>
  <int value="102" label="outline-offset"/>
  <int value="103" label="outline-style"/>
  <int value="104" label="outline-width"/>
  <int value="105" label="overflow"/>
  <int value="106" label="overflow-wrap"/>
  <int value="107" label="overflow-x"/>
  <int value="108" label="overflow-y"/>
  <int value="109" label="padding"/>
  <int value="110" label="padding-bottom"/>
  <int value="111" label="padding-left"/>
  <int value="112" label="padding-right"/>
  <int value="113" label="padding-top"/>
  <int value="114" label="page"/>
  <int value="115" label="page-break-after"/>
  <int value="116" label="page-break-before"/>
  <int value="117" label="page-break-inside"/>
  <int value="118" label="pointer-events"/>
  <int value="119" label="position"/>
  <int value="120" label="quotes"/>
  <int value="121" label="resize"/>
  <int value="122" label="right"/>
  <int value="123" label="size"/>
  <int value="124" label="src"/>
  <int value="125" label="speak"/>
  <int value="126" label="table-layout"/>
  <int value="127" label="tab-size"/>
  <int value="128" label="text-align"/>
  <int value="129" label="text-decoration"/>
  <int value="130" label="text-indent"/>
  <int value="131" label="text-line-through"/>
  <int value="132" label="text-line-through-color"/>
  <int value="133" label="text-line-through-mode"/>
  <int value="134" label="text-line-through-style"/>
  <int value="135" label="text-line-through-width"/>
  <int value="136" label="text-overflow"/>
  <int value="137" label="text-overline"/>
  <int value="138" label="text-overline-color"/>
  <int value="139" label="text-overline-mode"/>
  <int value="140" label="text-overline-style"/>
  <int value="141" label="text-overline-width"/>
  <int value="142" label="text-shadow"/>
  <int value="143" label="text-transform"/>
  <int value="144" label="text-underline"/>
  <int value="145" label="text-underline-color"/>
  <int value="146" label="text-underline-mode"/>
  <int value="147" label="text-underline-style"/>
  <int value="148" label="text-underline-width"/>
  <int value="149" label="top"/>
  <int value="150" label="transition"/>
  <int value="151" label="transition-delay"/>
  <int value="152" label="transition-duration"/>
  <int value="153" label="transition-property"/>
  <int value="154" label="transition-timing-function"/>
  <int value="155" label="unicode-bidi"/>
  <int value="156" label="unicode-range"/>
  <int value="157" label="vertical-align"/>
  <int value="158" label="visibility"/>
  <int value="159" label="white-space"/>
  <int value="160" label="widows"/>
  <int value="161" label="width"/>
  <int value="162" label="word-break"/>
  <int value="163" label="word-spacing"/>
  <int value="164" label="word-wrap"/>
  <int value="165" label="z-index"/>
  <int value="166" label="alias-webkit-animation"/>
  <int value="167" label="alias-webkit-animation-delay"/>
  <int value="168" label="alias-webkit-animation-direction"/>
  <int value="169" label="alias-webkit-animation-duration"/>
  <int value="170" label="alias-webkit-animation-fill-mode"/>
  <int value="171" label="alias-webkit-animation-iteration-count"/>
  <int value="172" label="alias-webkit-animation-name"/>
  <int value="173" label="alias-webkit-animation-play-state"/>
  <int value="174" label="alias-webkit-animation-timing-function"/>
  <int value="175" label="webkit-appearance"/>
  <int value="176" label="webkit-aspect-ratio"/>
  <int value="177" label="alias-webkit-backface-visibility"/>
  <int value="178" label="webkit-background-clip"/>
  <int value="179" label="webkit-background-composite"/>
  <int value="180" label="webkit-background-origin"/>
  <int value="181" label="alias-webkit-background-size"/>
  <int value="182" label="webkit-border-after"/>
  <int value="183" label="webkit-border-after-color"/>
  <int value="184" label="webkit-border-after-style"/>
  <int value="185" label="webkit-border-after-width"/>
  <int value="186" label="webkit-border-before"/>
  <int value="187" label="webkit-border-before-color"/>
  <int value="188" label="webkit-border-before-style"/>
  <int value="189" label="webkit-border-before-width"/>
  <int value="190" label="webkit-border-end"/>
  <int value="191" label="webkit-border-end-color"/>
  <int value="192" label="webkit-border-end-style"/>
  <int value="193" label="webkit-border-end-width"/>
  <int value="194" label="webkit-border-fit"/>
  <int value="195" label="webkit-border-horizontal-spacing"/>
  <int value="196" label="webkit-border-image"/>
  <int value="197" label="alias-webkit-border-radius"/>
  <int value="198" label="webkit-border-start"/>
  <int value="199" label="webkit-border-start-color"/>
  <int value="200" label="webkit-border-start-style"/>
  <int value="201" label="webkit-border-start-width"/>
  <int value="202" label="webkit-border-vertical-spacing"/>
  <int value="203" label="webkit-box-align"/>
  <int value="204" label="webkit-box-direction"/>
  <int value="205" label="webkit-box-flex"/>
  <int value="206" label="webkit-box-flex-group"/>
  <int value="207" label="webkit-box-lines"/>
  <int value="208" label="webkit-box-ordinal-group"/>
  <int value="209" label="webkit-box-orient"/>
  <int value="210" label="webkit-box-pack"/>
  <int value="211" label="webkit-box-reflect"/>
  <int value="212" label="alias-webkit-box-shadow"/>
  <int value="213" label="webkit-color-correction"/>
  <int value="214" label="webkit-column-axis"/>
  <int value="215" label="webkit-column-break-after"/>
  <int value="216" label="webkit-column-break-before"/>
  <int value="217" label="webkit-column-break-inside"/>
  <int value="218" label="alias-webkit-column-count"/>
  <int value="219" label="alias-webkit-column-gap"/>
  <int value="220" label="webkit-column-progression"/>
  <int value="221" label="alias-webkit-column-rule"/>
  <int value="222" label="alias-webkit-column-rule-color"/>
  <int value="223" label="alias-webkit-column-rule-style"/>
  <int value="224" label="alias-webkit-column-rule-width"/>
  <int value="225" label="alias-webkit-column-span"/>
  <int value="226" label="alias-webkit-column-width"/>
  <int value="227" label="alias-webkit-columns"/>
  <int value="228" label="webkit-box-decoration-break"/>
  <int value="229" label="webkit-filter"/>
  <int value="230" label="align-content"/>
  <int value="231" label="align-items"/>
  <int value="232" label="align-self"/>
  <int value="233" label="flex"/>
  <int value="234" label="flex-basis"/>
  <int value="235" label="flex-direction"/>
  <int value="236" label="flex-flow"/>
  <int value="237" label="flex-grow"/>
  <int value="238" label="flex-shrink"/>
  <int value="239" label="flex-wrap"/>
  <int value="240" label="justify-content"/>
  <int value="241" label="webkit-font-size-delta"/>
  <int value="242" label="grid-template-columns"/>
  <int value="243" label="grid-template-rows"/>
  <int value="244" label="grid-column-start"/>
  <int value="245" label="grid-column-end"/>
  <int value="246" label="grid-row-start"/>
  <int value="247" label="grid-row-end"/>
  <int value="248" label="grid-column"/>
  <int value="249" label="grid-row"/>
  <int value="250" label="grid-auto-flow"/>
  <int value="251" label="webkit-highlight"/>
  <int value="252" label="webkit-hyphenate-character"/>
  <int value="253" label="webkit-hyphenate-limit-after"/>
  <int value="254" label="webkit-hyphenate-limit-before"/>
  <int value="255" label="webkit-hyphenate-limit-lines"/>
  <int value="256" label="webkit-hyphens"/>
  <int value="257" label="webkit-line-box-contain"/>
  <int value="258" label="webkit-line-align"/>
  <int value="259" label="webkit-line-break"/>
  <int value="260" label="webkit-line-clamp"/>
  <int value="261" label="webkit-line-grid"/>
  <int value="262" label="webkit-line-snap"/>
  <int value="263" label="webkit-logical-width"/>
  <int value="264" label="webkit-logical-height"/>
  <int value="265" label="webkit-margin-after-collapse"/>
  <int value="266" label="webkit-margin-before-collapse"/>
  <int value="267" label="webkit-margin-bottom-collapse"/>
  <int value="268" label="webkit-margin-top-collapse"/>
  <int value="269" label="webkit-margin-collapse"/>
  <int value="270" label="webkit-margin-after"/>
  <int value="271" label="webkit-margin-before"/>
  <int value="272" label="webkit-margin-end"/>
  <int value="273" label="webkit-margin-start"/>
  <int value="274" label="webkit-marquee"/>
  <int value="275" label="webkit-marquee-direction"/>
  <int value="276" label="webkit-marquee-increment"/>
  <int value="277" label="webkit-marquee-repetition"/>
  <int value="278" label="webkit-marquee-speed"/>
  <int value="279" label="webkit-marquee-style"/>
  <int value="280" label="webkit-mask"/>
  <int value="281" label="webkit-mask-box-image"/>
  <int value="282" label="webkit-mask-box-image-outset"/>
  <int value="283" label="webkit-mask-box-image-repeat"/>
  <int value="284" label="webkit-mask-box-image-slice"/>
  <int value="285" label="webkit-mask-box-image-source"/>
  <int value="286" label="webkit-mask-box-image-width"/>
  <int value="287" label="webkit-mask-clip"/>
  <int value="288" label="webkit-mask-composite"/>
  <int value="289" label="webkit-mask-image"/>
  <int value="290" label="webkit-mask-origin"/>
  <int value="291" label="webkit-mask-position"/>
  <int value="292" label="webkit-mask-position-x"/>
  <int value="293" label="webkit-mask-position-y"/>
  <int value="294" label="webkit-mask-repeat"/>
  <int value="295" label="webkit-mask-repeat-x"/>
  <int value="296" label="webkit-mask-repeat-y"/>
  <int value="297" label="webkit-mask-size"/>
  <int value="298" label="webkit-max-logical-width"/>
  <int value="299" label="webkit-max-logical-height"/>
  <int value="300" label="webkit-min-logical-width"/>
  <int value="301" label="webkit-min-logical-height"/>
  <int value="302" label="webkit-nbsp-mode"/>
  <int value="303" label="order"/>
  <int value="304" label="webkit-padding-after"/>
  <int value="305" label="webkit-padding-before"/>
  <int value="306" label="webkit-padding-end"/>
  <int value="307" label="webkit-padding-start"/>
  <int value="308" label="alias-webkit-perspective"/>
  <int value="309" label="alias-webkit-perspective-origin"/>
  <int value="310" label="webkit-perspective-origin-x"/>
  <int value="311" label="webkit-perspective-origin-y"/>
  <int value="312" label="webkit-print-color-adjust"/>
  <int value="313" label="webkit-rtl-ordering"/>
  <int value="314" label="webkit-ruby-position"/>
  <int value="315" label="webkit-text-combine"/>
  <int value="316" label="webkit-text-decorations-in-effect"/>
  <int value="317" label="webkit-text-emphasis"/>
  <int value="318" label="webkit-text-emphasis-color"/>
  <int value="319" label="webkit-text-emphasis-position"/>
  <int value="320" label="webkit-text-emphasis-style"/>
  <int value="321" label="webkit-text-fill-color"/>
  <int value="322" label="webkit-text-security"/>
  <int value="323" label="webkit-text-stroke"/>
  <int value="324" label="webkit-text-stroke-color"/>
  <int value="325" label="webkit-text-stroke-width"/>
  <int value="326" label="alias-webkit-transform"/>
  <int value="327" label="alias-webkit-transform-origin"/>
  <int value="328" label="webkit-transform-origin-x"/>
  <int value="329" label="webkit-transform-origin-y"/>
  <int value="330" label="webkit-transform-origin-z"/>
  <int value="331" label="alias-webkit-transform-style"/>
  <int value="332" label="alias-webkit-transition"/>
  <int value="333" label="alias-webkit-transition-delay"/>
  <int value="334" label="alias-webkit-transition-duration"/>
  <int value="335" label="alias-webkit-transition-property"/>
  <int value="336" label="alias-webkit-transition-timing-function"/>
  <int value="337" label="webkit-user-drag"/>
  <int value="338" label="webkit-user-modify"/>
  <int value="339" label="alias-webkit-user-select"/>
  <int value="340" label="webkit-flow-into"/>
  <int value="341" label="webkit-flow-from"/>
  <int value="342" label="webkit-region-fragment"/>
  <int value="343" label="webkit-region-break-after"/>
  <int value="344" label="webkit-region-break-before"/>
  <int value="345" label="webkit-region-break-inside"/>
  <int value="346" label="shape-inside"/>
  <int value="347" label="shape-outside"/>
  <int value="348" label="shape-margin"/>
  <int value="349" label="shape-padding"/>
  <int value="350" label="webkit-wrap-flow"/>
  <int value="351" label="webkit-wrap-through"/>
  <int value="352" label="webkit-wrap"/>
  <int value="353" label="webkit-tap-highlight-color"/>
  <int value="354" label="webkit-app-region"/>
  <int value="355" label="clip-path"/>
  <int value="356" label="clip-rule"/>
  <int value="357" label="mask"/>
  <int value="358" label="enable-background"/>
  <int value="359" label="filter"/>
  <int value="360" label="flood-color"/>
  <int value="361" label="flood-opacity"/>
  <int value="362" label="lighting-color"/>
  <int value="363" label="stop-color"/>
  <int value="364" label="stop-opacity"/>
  <int value="365" label="color-interpolation"/>
  <int value="366" label="color-interpolation-filters"/>
  <int value="367" label="color-profile"/>
  <int value="368" label="color-rendering"/>
  <int value="369" label="fill"/>
  <int value="370" label="fill-opacity"/>
  <int value="371" label="fill-rule"/>
  <int value="372" label="marker"/>
  <int value="373" label="marker-end"/>
  <int value="374" label="marker-mid"/>
  <int value="375" label="marker-start"/>
  <int value="376" label="mask-type"/>
  <int value="377" label="shape-rendering"/>
  <int value="378" label="stroke"/>
  <int value="379" label="stroke-dasharray"/>
  <int value="380" label="stroke-dashoffset"/>
  <int value="381" label="stroke-linecap"/>
  <int value="382" label="stroke-linejoin"/>
  <int value="383" label="stroke-miterlimit"/>
  <int value="384" label="stroke-opacity"/>
  <int value="385" label="stroke-width"/>
  <int value="386" label="alignment-baseline"/>
  <int value="387" label="baseline-shift"/>
  <int value="388" label="dominant-baseline"/>
  <int value="389" label="glyph-orientation-horizontal"/>
  <int value="390" label="glyph-orientation-vertical"/>
  <int value="391" label="kerning"/>
  <int value="392" label="text-anchor"/>
  <int value="393" label="vector-effect"/>
  <int value="394" label="writing-mode"/>
  <int value="395" label="webkit-svg-shadow"/>
  <int value="396" label="webkit-cursor-visibility"/>
  <int value="397" label="image-orientation"/>
  <int value="398" label="image-resolution"/>
  <int value="399" label="webkit-blend-mode"/>
  <int value="400" label="webkit-background-blend-mode"/>
  <int value="401" label="text-decoration-line"/>
  <int value="402" label="text-decoration-style"/>
  <int value="403" label="text-decoration-color"/>
  <int value="404" label="text-align-last"/>
  <int value="405" label="text-underline-position"/>
  <int value="406" label="max-zoom"/>
  <int value="407" label="min-zoom"/>
  <int value="408" label="orientation"/>
  <int value="409" label="user-zoom"/>
  <int value="410" label="webkit-dashboard-region"/>
  <int value="411" label="webkit-overflow-scrolling"/>
  <int value="412" label="webkit-app-region"/>
  <int value="413" label="alias-webkit-filter"/>
  <int value="414" label="webkit-box-decoration-break"/>
  <int value="415" label="webkit-tap-highlight-color"/>
  <int value="416" label="buffered-rendering"/>
  <int value="417" label="grid-auto-rows"/>
  <int value="418" label="grid-auto-columns"/>
  <int value="419" label="background-blend-mode"/>
  <int value="420" label="mix-blend-mode"/>
  <int value="421" label="touch-action"/>
  <int value="422" label="grid-area"/>
  <int value="423" label="grid-template-areas"/>
  <int value="424" label="animation"/>
  <int value="425" label="animation-delay"/>
  <int value="426" label="animation-direction"/>
  <int value="427" label="animation-duration"/>
  <int value="428" label="animation-fill-mode"/>
  <int value="429" label="animation-iteration-count"/>
  <int value="430" label="animation-name"/>
  <int value="431" label="animation-play-state"/>
  <int value="432" label="animation-timing-function"/>
  <int value="433" label="object-fit"/>
  <int value="434" label="paint-order"/>
  <int value="435" label="mask-source-type"/>
  <int value="436" label="isolation"/>
  <int value="437" label="object-position"/>
  <int value="438" label="internal-callback"/>
  <int value="439" label="shape-image-threshold"/>
  <int value="440" label="column-fill"/>
  <int value="441" label="text-justify"/>
  <int value="442" label="touch-action-delay"/>
  <int value="443" label="justify-self"/>
  <int value="444" label="scroll-behavior"/>
  <int value="445" label="will-change"/>
  <int value="446" label="transform"/>
  <int value="447" label="transform-origin"/>
  <int value="448" label="transform-style"/>
  <int value="449" label="perspective"/>
  <int value="450" label="perspective-origin"/>
  <int value="451" label="backface-visibility"/>
  <int value="452" label="grid-template"/>
  <int value="453" label="grid"/>
  <int value="454" label="all"/>
  <int value="455" label="justify-items"/>
  <int value="456" label="scroll-blocks-on"/>
  <int value="457" label="alias-motion-path"/>
  <int value="458" label="alias-motion-offset"/>
  <int value="459" label="alias-motion-rotation"/>
  <int value="460" label="motion"/>
  <int value="461" label="x"/>
  <int value="462" label="y"/>
  <int value="463" label="rx"/>
  <int value="464" label="ry"/>
  <int value="465" label="font-size-adjust"/>
  <int value="466" label="cx"/>
  <int value="467" label="cy"/>
  <int value="468" label="r"/>
  <int value="469" label="alias-epub-caption-side"/>
  <int value="470" label="alias-epub-text-combine"/>
  <int value="471" label="alias-epub-text-emphasis"/>
  <int value="472" label="alias-epub-text-emphasis-color"/>
  <int value="473" label="alias-epub-text-emphasis-style"/>
  <int value="474" label="alias-epub-text-orientation"/>
  <int value="475" label="alias-epub-text-transform"/>
  <int value="476" label="alias-epub-word-break"/>
  <int value="477" label="alias-epub-writing-mode"/>
  <int value="478" label="alias-webkit-align-content"/>
  <int value="479" label="alias-webkit-align-items"/>
  <int value="480" label="alias-webkit-align-self"/>
  <int value="481" label="alias-webkit-border-bottom-left-radius"/>
  <int value="482" label="alias-webkit-border-bottom-right-radius"/>
  <int value="483" label="alias-webkit-border-top-left-radius"/>
  <int value="484" label="alias-webkit-border-top-right-radius"/>
  <int value="485" label="alias-webkit-box-sizing"/>
  <int value="486" label="alias-webkit-flex"/>
  <int value="487" label="alias-webkit-flex-basis"/>
  <int value="488" label="alias-webkit-flex-direction"/>
  <int value="489" label="alias-webkit-flex-flow"/>
  <int value="490" label="alias-webkit-flex-grow"/>
  <int value="491" label="alias-webkit-flex-shrink"/>
  <int value="492" label="alias-webkit-flex-wrap"/>
  <int value="493" label="alias-webkit-justify-content"/>
  <int value="494" label="alias-webkit-opacity"/>
  <int value="495" label="alias-webkit-order"/>
  <int value="496" label="alias-webkit-shape-image-threshold"/>
  <int value="497" label="alias-webkit-shape-margin"/>
  <int value="498" label="alias-webkit-shape-outside"/>
  <int value="499" label="scroll-snap-type"/>
  <int value="500" label="scroll-snap-points-x"/>
  <int value="501" label="scroll-snap-points-y"/>
  <int value="502" label="scroll-snap-coordinate"/>
  <int value="503" label="scroll-snap-destination"/>
  <int value="504" label="translate"/>
  <int value="505" label="rotate"/>
  <int value="506" label="scale"/>
  <int value="507" label="image-orientation"/>
  <int value="508" label="backdrop-filter"/>
  <int value="509" label="text-combine-upright"/>
  <int value="510" label="text-orientation"/>
  <int value="511" label="grid-column-gap"/>
  <int value="512" label="grid-row-gap"/>
  <int value="513" label="grid-gap"/>
  <int value="514" label="font-feature-settings"/>
  <int value="515" label="variable"/>
  <int value="516" label="font-display"/>
  <int value="517" label="contain"/>
  <int value="518" label="d"/>
  <int value="519" label="line-height-step"/>
  <int value="520" label="break-after"/>
  <int value="521" label="break-before"/>
  <int value="522" label="break-inside"/>
  <int value="523" label="column-count"/>
  <int value="524" label="column-gap"/>
  <int value="525" label="column-rule"/>
  <int value="526" label="column-rule-color"/>
  <int value="527" label="column-rule-style"/>
  <int value="528" label="column-rule-width"/>
  <int value="529" label="column-span"/>
  <int value="530" label="column-width"/>
  <int value="531" label="columns"/>
  <int value="532" label="apply-at-rule"/>
  <int value="533" label="font-variant-caps"/>
  <int value="534" label="hyphens"/>
  <int value="535" label="font-variant-numeric"/>
  <int value="536" label="text-size-adjust"/>
  <int value="537" label="alias-webkit-text-size-adjust"/>
  <int value="538" label="overflow-anchor"/>
  <int value="539" label="user-select"/>
  <int value="540" label="offset-distance"/>
  <int value="541" label="offset-path"/>
  <int value="542" label="offset-rotation"/>
  <int value="543" label="offset"/>
  <int value="544" label="offset-anchor"/>
  <int value="545" label="offset-position"/>
  <int value="546" label="text-decoration-skip"/>
  <int value="547" label="caret-color"/>
  <int value="548" label="offset-rotate"/>
  <int value="549" label="font-variation-settings"/>
  <int value="550" label="inline-size"/>
  <int value="551" label="block-size"/>
  <int value="552" label="min-inline-size"/>
  <int value="553" label="min-block-size"/>
  <int value="554" label="max-inline-size"/>
  <int value="555" label="max-block-size"/>
  <int value="556" label="alias-line-break"/>
  <int value="557" label="place-content"/>
  <int value="558" label="place-items"/>
  <int value="559" label="transform-box"/>
</enum>

<enum name="MappedEditingCommands" type="int">
<!-- Generated from third_party/WebKit/Source/core/editing/EditorCommand.cpp -->

  <int value="1" label="AlignJustified"/>
  <int value="2" label="AlignLeft"/>
  <int value="3" label="AlignRight"/>
  <int value="4" label="BackColor"/>
  <int value="5" label="BackwardDelete"/>
  <int value="6" label="Bold"/>
  <int value="7" label="Copy"/>
  <int value="8" label="CreateLink"/>
  <int value="9" label="Cut"/>
  <int value="10" label="DefaultParagraphSeparator"/>
  <int value="11" label="Delete"/>
  <int value="12" label="DeleteBackward"/>
  <int value="13" label="DeleteBackwardByDecomposingPreviousCharacter"/>
  <int value="14" label="DeleteForward"/>
  <int value="15" label="DeleteToBeginningOfLine"/>
  <int value="16" label="DeleteToBeginningOfParagraph"/>
  <int value="17" label="DeleteToEndOfLine"/>
  <int value="18" label="DeleteToEndOfParagraph"/>
  <int value="19" label="DeleteToMark"/>
  <int value="20" label="DeleteWordBackward"/>
  <int value="21" label="DeleteWordForward"/>
  <int value="22" label="FindString"/>
  <int value="23" label="FontName"/>
  <int value="24" label="FontSize"/>
  <int value="25" label="FontSizeDelta"/>
  <int value="26" label="ForeColor"/>
  <int value="27" label="FormatBlock"/>
  <int value="28" label="ForwardDelete"/>
  <int value="29" label="HiliteColor"/>
  <int value="30" label="IgnoreSpelling"/>
  <int value="31" label="Indent"/>
  <int value="32" label="InsertBacktab"/>
  <int value="33" label="InsertHTML"/>
  <int value="34" label="InsertHorizontalRule"/>
  <int value="35" label="InsertImage"/>
  <int value="36" label="InsertLineBreak"/>
  <int value="37" label="InsertNewline"/>
  <int value="38" label="InsertNewlineInQuotedContent"/>
  <int value="39" label="InsertOrderedList"/>
  <int value="40" label="InsertParagraph"/>
  <int value="41" label="InsertTab"/>
  <int value="42" label="InsertText"/>
  <int value="43" label="InsertUnorderedList"/>
  <int value="44" label="Italic"/>
  <int value="45" label="JustifyCenter"/>
  <int value="46" label="JustifyFull"/>
  <int value="47" label="JustifyLeft"/>
  <int value="48" label="JustifyNone"/>
  <int value="49" label="JustifyRight"/>
  <int value="50" label="MakeTextWritingDirectionLeftToRight"/>
  <int value="51" label="MakeTextWritingDirectionNatural"/>
  <int value="52" label="MakeTextWritingDirectionRightToLeft"/>
  <int value="53" label="MoveBackward"/>
  <int value="54" label="MoveBackwardAndModifySelection"/>
  <int value="55" label="MoveDown"/>
  <int value="56" label="MoveDownAndModifySelection"/>
  <int value="57" label="MoveForward"/>
  <int value="58" label="MoveForwardAndModifySelection"/>
  <int value="59" label="MoveLeft"/>
  <int value="60" label="MoveLeftAndModifySelection"/>
  <int value="61" label="MovePageDown"/>
  <int value="62" label="MovePageDownAndModifySelection"/>
  <int value="63" label="MovePageUp"/>
  <int value="64" label="MovePageUpAndModifySelection"/>
  <int value="65" label="MoveParagraphBackward"/>
  <int value="66" label="MoveParagraphBackwardAndModifySelection"/>
  <int value="67" label="MoveParagraphForward"/>
  <int value="68" label="MoveParagraphForwardAndModifySelection"/>
  <int value="69" label="MoveRight"/>
  <int value="70" label="MoveRightAndModifySelection"/>
  <int value="71" label="MoveToBeginningOfDocument"/>
  <int value="72" label="MoveToBeginningOfDocumentAndModifySelection"/>
  <int value="73" label="MoveToBeginningOfLine"/>
  <int value="74" label="MoveToBeginningOfLineAndModifySelection"/>
  <int value="75" label="MoveToBeginningOfParagraph"/>
  <int value="76" label="MoveToBeginningOfParagraphAndModifySelection"/>
  <int value="77" label="MoveToBeginningOfSentence"/>
  <int value="78" label="MoveToBeginningOfSentenceAndModifySelection"/>
  <int value="79" label="MoveToEndOfDocument"/>
  <int value="80" label="MoveToEndOfDocumentAndModifySelection"/>
  <int value="81" label="MoveToEndOfLine"/>
  <int value="82" label="MoveToEndOfLineAndModifySelection"/>
  <int value="83" label="MoveToEndOfParagraph"/>
  <int value="84" label="MoveToEndOfParagraphAndModifySelection"/>
  <int value="85" label="MoveToEndOfSentence"/>
  <int value="86" label="MoveToEndOfSentenceAndModifySelection"/>
  <int value="87" label="MoveToLeftEndOfLine"/>
  <int value="88" label="MoveToLeftEndOfLineAndModifySelection"/>
  <int value="89" label="MoveToRightEndOfLine"/>
  <int value="90" label="MoveToRightEndOfLineAndModifySelection"/>
  <int value="91" label="MoveUp"/>
  <int value="92" label="MoveUpAndModifySelection"/>
  <int value="93" label="MoveWordBackward"/>
  <int value="94" label="MoveWordBackwardAndModifySelection"/>
  <int value="95" label="MoveWordForward"/>
  <int value="96" label="MoveWordForwardAndModifySelection"/>
  <int value="97" label="MoveWordLeft"/>
  <int value="98" label="MoveWordLeftAndModifySelection"/>
  <int value="99" label="MoveWordRight"/>
  <int value="100" label="MoveWordRightAndModifySelection"/>
  <int value="101" label="Outdent"/>
  <int value="102" label="OverWrite"/>
  <int value="103" label="Paste"/>
  <int value="104" label="PasteAndMatchStyle"/>
  <int value="105" label="PasteGlobalSelection"/>
  <int value="106" label="Print"/>
  <int value="107" label="Redo"/>
  <int value="108" label="RemoveFormat"/>
  <int value="109" label="ScrollPageBackward"/>
  <int value="110" label="ScrollPageForward"/>
  <int value="111" label="ScrollLineUp"/>
  <int value="112" label="ScrollLineDown"/>
  <int value="113" label="ScrollToBeginningOfDocument"/>
  <int value="114" label="ScrollToEndOfDocument"/>
  <int value="115" label="SelectAll"/>
  <int value="116" label="SelectLine"/>
  <int value="117" label="SelectParagraph"/>
  <int value="118" label="SelectSentence"/>
  <int value="119" label="SelectToMark"/>
  <int value="120" label="SelectWord"/>
  <int value="121" label="SetMark"/>
  <int value="122" label="Strikethrough"/>
  <int value="123" label="StyleWithCSS"/>
  <int value="124" label="Subscript"/>
  <int value="125" label="Superscript"/>
  <int value="126" label="SwapWithMark"/>
  <int value="127" label="ToggleBold"/>
  <int value="128" label="ToggleItalic"/>
  <int value="129" label="ToggleUnderline"/>
  <int value="130" label="Transpose"/>
  <int value="131" label="Underline"/>
  <int value="132" label="Undo"/>
  <int value="133" label="Unlink"/>
  <int value="134" label="Unscript"/>
  <int value="135" label="Unselect"/>
  <int value="136" label="UseCSS"/>
  <int value="137" label="Yank"/>
  <int value="138" label="YankAndSelect"/>
  <int value="139" label="AlignCenter"/>
</enum>

<enum name="MarkHttpAsStatus" type="int">
  <int value="0" label="Neutral (deprecated February 2017)"/>
  <int value="1" label="Non-Secure"/>
  <int value="2" label="Neutral with a verbose warning on sensitive fields"/>
</enum>

<enum name="MarkNonSecureAsStatus" type="int">
  <int value="0" label="Neutral"/>
  <int value="1" label="Dubious (deprecated August 2015)"/>
  <int value="2" label="Non-Secure"/>
</enum>

<enum name="MayLaunchUrlType" type="int">
  <int value="0" label="No MayLaunchUrl() call."/>
  <int value="1" label="Low confidence."/>
  <int value="2" label="High confidence."/>
  <int value="3" label="Low and High confidence."/>
</enum>

<enum name="MediaCommand" type="int">
  <int value="0" label="Resume"/>
  <int value="1" label="Pause"/>
  <int value="2" label="Seek"/>
</enum>

<enum name="MediaContainers" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="AAC (Advanced Audio Coding)"/>
  <int value="2" label="AC-3"/>
  <int value="3" label="AIFF (Audio Interchange File Format)"/>
  <int value="4" label="AMR (Adaptive Multi-Rate Audio)"/>
  <int value="5" label="APE (Monkey's Audio)"/>
  <int value="6" label="ASF (Advanced / Active Streaming Format)"/>
  <int value="7" label="SSA (SubStation Alpha) subtitle"/>
  <int value="8" label="AVI (Audio Video Interleaved)"/>
  <int value="9" label="Bink"/>
  <int value="10" label="CAF (Apple Core Audio Format)"/>
  <int value="11" label="DTS"/>
  <int value="12" label="DTS-HD"/>
  <int value="13" label="DV (Digital Video)"/>
  <int value="14" label="DXA"/>
  <int value="15" label="Enhanced AC-3"/>
  <int value="16" label="FLAC (Free Lossless Audio Codec)"/>
  <int value="17" label="FLV (Flash Video)"/>
  <int value="18" label="GSM (Global System for Mobile Audio)"/>
  <int value="19" label="H.261"/>
  <int value="20" label="H.263"/>
  <int value="21" label="H.264"/>
  <int value="22" label="HLS (Apple HTTP Live Streaming PlayList)"/>
  <int value="23" label="Berkeley/IRCAM/CARL Sound Format"/>
  <int value="24" label="MJPEG video"/>
  <int value="25" label="QuickTime / MOV / MPEG4"/>
  <int value="26" label="MP3 (MPEG audio layer 2/3)"/>
  <int value="27" label="MPEG-2 Program Stream"/>
  <int value="28" label="MPEG-2 Transport Stream"/>
  <int value="29" label="MPEG-4 Bitstream"/>
  <int value="30" label="Ogg"/>
  <int value="31" label="RM (RealMedia)"/>
  <int value="32" label="SRT (SubRip subtitle)"/>
  <int value="33" label="SWF (ShockWave Flash)"/>
  <int value="34" label="VC-1"/>
  <int value="35" label="WAV / WAVE (Waveform Audio)"/>
  <int value="36" label="Matroska / WebM"/>
  <int value="37" label="WTV (Windows Television)"/>
  <int value="38" label="DASH"/>
  <int value="39" label="SmoothStream"/>
</enum>

<enum name="MediaControlsDownloadReason" type="int">
  <int value="0" label="Shown"/>
  <int value="1" label="Clicked"/>
</enum>

<enum name="MediaControlsShowReason" type="int">
  <int value="0" label="Attribute"/>
  <int value="1" label="Fullscreen"/>
  <int value="2" label="No scripts allowed"/>
  <int value="3" label="Not shown"/>
  <int value="4" label="Disabled by settings"/>
</enum>

<enum name="MediaDocumentDownloadButtonType" type="int">
  <int value="0" label="Shown"/>
  <int value="1" label="Clicked"/>
</enum>

<enum name="MediaElementAutoPlay" type="int">
  <obsolete>
    Deprecated 11/2016 in Issue 666370 with the deprecation of Autoplay
    experiment.
  </obsolete>
  <int value="0" label="Media element with autoplay seen"/>
  <int value="1"
      label="Autoplay enabled and user stopped media play at any point"/>
  <int value="2"
      label="Autoplay enabled but user bailed out on media play early"/>
  <int value="3" label="Autoplay disabled but user manually started media"/>
  <int value="4"
      label="Autoplay enabled through a user-gesture triggered load() call."/>
  <int value="5" label="Autoplay disabled by sandbox flags."/>
  <int value="6" label="Gesture requirement overridden during initial load."/>
  <int value="7" label="Gesture requirement overridden in play()."/>
  <int value="8"
      label="Gesture req. overridden after scroll for deferred attribute."/>
  <int value="9"
      label="Gesture req. overridden after scroll for deferred play()."/>
  <int value="10" label="play() call failed due to gesture requirement."/>
  <int value="11" label="Any playback started."/>
  <int value="12" label="Any playback paused."/>
  <int value="13" label="Any playback bailed out."/>
  <int value="14" label="Any playback completed."/>
  <int value="15" label="Any audio element encountered."/>
  <int value="16" label="Any video element encountered."/>
  <int value="17" label="Autoplayed media complete."/>
  <int value="18" label="Gestureless playback started due to load()."/>
  <int value="19" label="Gesture requirement overridden for media stream."/>
  <int value="20" label="Gesture requirement overridden, unknown reason."/>
  <int value="21" label="Gesture requirement overridden by play method."/>
</enum>

<enum name="MediaGalleriesUsageType" type="int">
  <int value="0" label="Gallery added from permission dialog"/>
  <int value="1" label="Gallery permission added from permission dialog"/>
  <int value="2" label="Gallery permission removed from permission dialog"/>
  <int value="3" label="GetMediaFileSystems API invocations"/>
  <int value="4" label="Profiles With API Usage (corrected in M35)"/>
  <int value="5" label="Dialog shown"/>
  <int value="6" label="Dialog permissions saved"/>
  <int value="7" label="Gallery added from WebUI"/>
  <int value="8" label="Gallery removed from WebUI"/>
  <int value="9" label="Preferences initialized"/>
  <int value="10" label="Preferences initialization failed"/>
  <int value="11"
      label="GetAllMediaFileSystemMetadata API invocations (obsolete)"/>
  <int value="12" label="GetMetadata API invocations"/>
  <int value="13" label="AddUserSelectedFolder API invocations"/>
  <int value="14" label="StartMediaScan API invocations (obsolete)"/>
  <int value="15" label="CancelMediaScan API invocations (obsolete)"/>
  <int value="16" label="AddScanResults API invocations (obsolete)"/>
  <int value="17" label="A media scan completed (obsolete)"/>
  <int value="18" label="AddScanResults dialog cancelled (obsolete)"/>
  <int value="19" label="AddScanResults dialog accepted (obsolete)"/>
  <int value="20"
      label="Gallery removed from AddScanResults dialog (obsolete)"/>
  <int value="21" label="Gallery removed from permission dialog"/>
  <int value="22"
      label="DropPermissionForMediaFileSystem API invocations (obsolete)"/>
  <int value="23" label="GetAllGalleryWatch API invocations (obsolete)"/>
  <int value="24" label="RemoveAllGalleryWatch API invocations (obsolete)"/>
  <int value="25" label="iTunes file system used this session"/>
  <int value="26" label="Picasa file system used this session"/>
  <int value="27" label="iPhoto file system used this session (obsolete)"/>
</enum>

<enum name="MediaKeyError" type="int">
  <int value="1" label="kUnknownError"/>
  <int value="2" label="kClientError"/>
  <int value="4" label="kOutputError"/>
</enum>

<enum name="MediaKeyException" type="int">
  <int value="0" label="kUnknownResultId"/>
  <int value="1" label="kSuccess"/>
  <int value="2" label="kKeySystemNotSupported"/>
  <int value="3" label="kInvalidPlayerState"/>
</enum>

<enum name="MediaKeySystemSupportStatus" type="int">
  <int value="0" label="Queried"/>
  <int value="1" label="Supported"/>
  <int value="2" label="Queried with type"/>
  <int value="3" label="Supported with type"/>
</enum>

<enum name="MediaLoadType" type="int">
  <int value="0" label="URL"/>
  <int value="1" label="MediaSource"/>
  <int value="2" label="MediaStream"/>
</enum>

<enum name="MediaNotificationClickSource" type="int">
  <int value="0" label="Media"/>
  <int value="1" label="Presentation"/>
  <int value="2" label="MediaFling"/>
</enum>

<enum name="MediaOutputProtectionStatus" type="int">
  <int value="0" label="Queried"/>
  <int value="1" label="No external link"/>
  <int value="2" label="All external links protected"/>
</enum>

<enum name="MediaPlayerExitStatus" type="int">
  <int value="0" label="No errors"/>
  <int value="1" label="Has errors"/>
</enum>

<enum name="MediaRouteProviderResult" type="int">
  <int value="0" label="UnknownError"/>
  <int value="1" label="Ok"/>
  <int value="2" label="TimedOut"/>
  <int value="3" label="RouteNotFound"/>
  <int value="4" label="SinkNotFound"/>
  <int value="5" label="InvalidOrigin"/>
  <int value="6" label="OffTheRecordMismatch"/>
  <int value="7" label="NoSupportedProvider"/>
  <int value="8" label="Cancelled"/>
</enum>

<enum name="MediaRouteProviderVersion" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="SameVersionAsChrome"/>
  <int value="2" label="OneVersionBehindChrome"/>
  <int value="3" label="MultipleVersionsBehindChrome"/>
</enum>

<enum name="MediaRouteProviderWakeReason" type="int">
  <int value="0" label="CreateRoute"/>
  <int value="1" label="JoinRoute"/>
  <int value="2" label="TerminateRoute"/>
  <int value="3" label="SendSessionMessage"/>
  <int value="4" label="SendSessionBinaryMessage"/>
  <int value="5" label="DetachRoute"/>
  <int value="6" label="StartObservingMediaSinks"/>
  <int value="7" label="StopObservingMediaSinks"/>
  <int value="8" label="StartObservingMediaRoutes"/>
  <int value="9" label="StopObservingMediaRoutes"/>
  <int value="10" label="StartListeningForRouteMessages"/>
  <int value="11" label="StopListeningForRouteMessages"/>
  <int value="12" label="ConnectionError"/>
  <int value="13" label="RegisterMediaRouteProvider"/>
  <int value="14" label="ConnectRouteByRouteId"/>
  <int value="15" label="EnableMdnsDiscovery"/>
  <int value="16" label="UpdateMediaSinks"/>
  <int value="17" label="SearchSinks"/>
  <int value="18" label="ProvideSinks"/>
  <int value="19" label="CreateMediaRouteController"/>
</enum>

<enum name="MediaRouteProviderWakeup" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="ErrorUnknown"/>
  <int value="2" label="ErrorTooManyRetries"/>
</enum>

<enum name="MediaRouterCreateRouteOutcome" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Failure No Route"/>
  <int value="2" label="Failure Invalid Sink"/>
</enum>

<enum name="MediaRouterDialogOpenOrigin" type="int">
  <int value="0" label="Toolbar"/>
  <int value="1" label="Overflow Menu"/>
  <int value="2" label="Contextual Menu"/>
  <int value="3" label="Page"/>
</enum>

<enum name="MediaRouterInitialViews" type="int">
  <int value="0" label="Route Details"/>
  <int value="1" label="Sink List"/>
</enum>

<enum name="MediaRouterSinkPositionLabel" type="int">
  <int value="100" label="100+"/>
</enum>

<enum name="MediaRouterSourceTypes" type="int">
  <int value="1" label="App"/>
  <int value="2" label="Tab"/>
  <int value="4" label="Desktop"/>
</enum>

<enum name="MediaRouterUserAction" type="int">
  <int value="0" label="Change Mode"/>
  <int value="1" label="Start Local"/>
  <int value="2" label="Stop Local"/>
  <int value="3" label="Close"/>
  <int value="4" label="Status Remote"/>
  <int value="5" label="Replace Local Route"/>
</enum>

<enum name="MediaRouteType" type="int">
  <int value="0" label="Local"/>
  <int value="1" label="Remote"/>
</enum>

<enum name="MediaSessionActionSource" type="int">
  <int value="0" label="Media Notification"/>
  <int value="1" label="MediaSession (Android)"/>
  <int value="2" label="Headset Unplugged"/>
</enum>

<enum name="MediaSessionSuspendedSource" type="int">
  <int value="0" label="System Transient"/>
  <int value="1" label="System Permanent"/>
  <int value="2" label="UI"/>
  <int value="3" label="CONTENT"/>
  <int value="4" label="System Transient Duck"/>
</enum>

<enum name="MediaSessionUserAction" type="int">
  <int value="0" label="Play"/>
  <int value="1" label="Play (default handler)"/>
  <int value="2" label="Pause"/>
  <int value="3" label="Pause (default handler)"/>
  <int value="4" label="Stop (default handler)"/>
  <int value="5" label="Previous track"/>
  <int value="6" label="Next track"/>
  <int value="7" label="Seek backward"/>
  <int value="8" label="Seek forward"/>
</enum>

<enum name="MediaStreamRequestResult" type="int">
  <int value="0" label="Ok"/>
  <int value="1" label="Permission Denied"/>
  <int value="2" label="Permission Dismissed"/>
  <int value="3" label="Invalid State"/>
  <int value="4" label="No Hardware"/>
  <int value="5" label="Invalid Security Origin"/>
  <int value="6" label="Tab Capture Failure"/>
  <int value="7" label="Screen Capture Failure"/>
  <int value="8" label="Capture Failure"/>
  <int value="9" label="Constraint Not Satisfied"/>
  <int value="10" label="Track Start Failure"/>
  <int value="11" label="Not Supported"/>
  <int value="12" label="Failed due to shutdown"/>
</enum>

<enum name="MediaStreamRequestState" type="int">
  <int value="0" label="Explicitly Cancelled"/>
  <int value="1" label="Stream Not Generated"/>
  <int value="2" label="Pending Media Tracks"/>
</enum>

<enum name="MediaTimelineAbsTimeDelta" type="int">
  <int value="0" label="[0, 1ms)"/>
  <int value="1" label="[1ms, 16ms)"/>
  <int value="2" label="[16ms, 32ms)"/>
  <int value="3" label="[32ms, 64ms)"/>
  <int value="4" label="[64ms, 128ms)"/>
  <int value="5" label="[128ms, 256ms)"/>
  <int value="6" label="[256ms, 512ms)"/>
  <int value="7" label="[512ms, 1s)"/>
  <int value="8" label="[1s, 2s)"/>
  <int value="9" label="[2s, 4s)"/>
  <int value="10" label="[4s, 8s)"/>
  <int value="11" label="[8s, 15s)"/>
  <int value="12" label="[15s, 30s)"/>
  <int value="13" label="[30s, 1m)"/>
  <int value="14" label="[1m, 2m)"/>
  <int value="15" label="[2m, 4m)"/>
  <int value="16" label="[4m, 8m)"/>
  <int value="17" label="[8m, 15m)"/>
  <int value="18" label="[15m, 30m)"/>
  <int value="19" label="[30m, 1h)"/>
  <int value="20" label="[1h, 2h)"/>
  <int value="21" label="[2h, 4h)"/>
  <int value="22" label="[4h, 8h)"/>
  <int value="23" label="[8h, 16h)"/>
  <int value="24" label="[16h, inf)"/>
</enum>

<enum name="MediaTimelinePercent" type="int">
  <int value="0" label="[-100.0%, -90.0%]"/>
  <int value="1" label="(-90.0%, -80.0%]"/>
  <int value="2" label="(-80.0%, -70.0%]"/>
  <int value="3" label="(-70.0%, -60.0%]"/>
  <int value="4" label="(-60.0%, -50.0%]"/>
  <int value="5" label="(-50.0%, -45.0%]"/>
  <int value="6" label="(-45.0%, -40.0%]"/>
  <int value="7" label="(-40.0%, -35.0%]"/>
  <int value="8" label="(-35.0%, -30.0%]"/>
  <int value="9" label="(-30.0%, -25.0%]"/>
  <int value="10" label="(-25.0%, -20.0%]"/>
  <int value="11" label="(-20.0%, -15.0%]"/>
  <int value="12" label="(-15.0%, -10.0%]"/>
  <int value="13" label="(-10.0%, -7.0%]"/>
  <int value="14" label="(-7.0%, -5.0%]"/>
  <int value="15" label="(-5.0%, -3.0%]"/>
  <int value="16" label="(-3.0%, -2.0%]"/>
  <int value="17" label="(-2.0%, -1.5%]"/>
  <int value="18" label="(-1.5%, -1.0%]"/>
  <int value="19" label="(-1.0%, -0.7%]"/>
  <int value="20" label="(-0.7%, -0.5%]"/>
  <int value="21" label="(-0.5%, -0.3%]"/>
  <int value="22" label="(-0.3%, -0.2%]"/>
  <int value="23" label="(-0.2%, -0.1%]"/>
  <int value="24" label="(-0.1%, 0%)"/>
  <int value="25" label="[0%, 0%]"/>
  <int value="26" label="(0%, 0.1%)"/>
  <int value="27" label="[0.1%, 0.2%)"/>
  <int value="28" label="[0.2%, 0.3%)"/>
  <int value="29" label="[0.3%, 0.5%)"/>
  <int value="30" label="[0.5%, 0.7%)"/>
  <int value="31" label="[0.7%, 1.0%)"/>
  <int value="32" label="[1.0%, 1.5%)"/>
  <int value="33" label="[1.5%, 2.0%)"/>
  <int value="34" label="[2.0%, 3.0%)"/>
  <int value="35" label="[3.0%, 5.0%)"/>
  <int value="36" label="[5.0%, 7.0%)"/>
  <int value="37" label="[7.0%, 10.0%)"/>
  <int value="38" label="[10.0%, 15.0%)"/>
  <int value="39" label="[15.0%, 20.0%)"/>
  <int value="40" label="[20.0%, 25.0%)"/>
  <int value="41" label="[25.0%, 30.0%)"/>
  <int value="42" label="[30.0%, 35.0%)"/>
  <int value="43" label="[35.0%, 40.0%)"/>
  <int value="44" label="[40.0%, 45.0%)"/>
  <int value="45" label="[45.0%, 50.0%)"/>
  <int value="46" label="[50.0%, 60.0%)"/>
  <int value="47" label="[60.0%, 70.0%)"/>
  <int value="48" label="[70.0%, 80.0%)"/>
  <int value="49" label="[80.0%, 90.0%)"/>
  <int value="50" label="[90.0%, 100.0%]"/>
</enum>

<enum name="MediaTimelineSeekType" type="int">
  <int value="0" label="Click"/>
  <int value="1" label="Drag from current position"/>
  <int value="2" label="Drag from elsewhere"/>
  <int value="3" label="Keyboard arrow key"/>
  <int value="4" label="Keyboard page up/down key"/>
  <int value="5" label="Keyboard home/end key"/>
</enum>

<enum name="MediaTimelineTimeDelta" type="int">
  <int value="0" label="(-inf, -16h]"/>
  <int value="1" label="(-16h, -8h]"/>
  <int value="2" label="(-8h, -4h]"/>
  <int value="3" label="(-4h, -2h]"/>
  <int value="4" label="(-2h, -1h]"/>
  <int value="5" label="(-1h, -30m]"/>
  <int value="6" label="(-30m, -15m]"/>
  <int value="7" label="(-15m, -8m]"/>
  <int value="8" label="(-8m, -4m]"/>
  <int value="9" label="(-4m, -2m]"/>
  <int value="10" label="(-2m, -1m]"/>
  <int value="11" label="(-1m, -30s]"/>
  <int value="12" label="(-30s, -15s]"/>
  <int value="13" label="(-15s, -8s]"/>
  <int value="14" label="(-8s, -4s]"/>
  <int value="15" label="(-4s, -2s]"/>
  <int value="16" label="(-2s, -1s]"/>
  <int value="17" label="(-1s, -512ms]"/>
  <int value="18" label="(-512ms, -256ms]"/>
  <int value="19" label="(-256ms, -128ms]"/>
  <int value="20" label="(-128ms, -64ms]"/>
  <int value="21" label="(-64ms, -32ms]"/>
  <int value="22" label="(-32ms, -16ms]"/>
  <int value="23" label="(-16ms, 0)"/>
  <int value="24" label="[0, 0]"/>
  <int value="25" label="(0, 16ms)"/>
  <int value="26" label="[16ms, 32ms)"/>
  <int value="27" label="[32ms, 64ms)"/>
  <int value="28" label="[64ms, 128ms)"/>
  <int value="29" label="[128ms, 256ms)"/>
  <int value="30" label="[256ms, 512ms)"/>
  <int value="31" label="[512ms, 1s)"/>
  <int value="32" label="[1s, 2s)"/>
  <int value="33" label="[2s, 4s)"/>
  <int value="34" label="[4s, 8s)"/>
  <int value="35" label="[8s, 15s)"/>
  <int value="36" label="[15s, 30s)"/>
  <int value="37" label="[30s, 1m)"/>
  <int value="38" label="[1m, 2m)"/>
  <int value="39" label="[2m, 4m)"/>
  <int value="40" label="[4m, 8m)"/>
  <int value="41" label="[8m, 15m)"/>
  <int value="42" label="[15m, 30m)"/>
  <int value="43" label="[30m, 1h)"/>
  <int value="44" label="[1h, 2h)"/>
  <int value="45" label="[2h, 4h)"/>
  <int value="46" label="[4h, 8h)"/>
  <int value="47" label="[8h, 16h)"/>
  <int value="48" label="[16h, inf)"/>
</enum>

<enum name="MediaTypePredictionResult" type="int">
  <int value="0" label="All correct"/>
  <int value="1" label="All incorrect"/>
  <int value="2" label="Path-based was better"/>
  <int value="3" label="URL-based was better"/>
</enum>

<enum name="MediaUrlType" type="int">
  <int value="0" label="Non Http Live Stream Type"/>
  <int value="1" label="Http Live Stream Type"/>
</enum>

<enum name="MemoryPressureLevel" type="int">
  <int value="0" label="No memory pressure"/>
  <int value="1" label="Moderate memory pressure"/>
  <int value="2" label="Critical memory pressure"/>
</enum>

<enum name="MemoryPressureLevelChanges" type="int">
  <int value="0" label="No pressure to moderate pressure"/>
  <int value="1" label="No pressure to critical pressure"/>
  <int value="2" label="Moderate pressure to critical pressure"/>
  <int value="3" label="Critical pressure to moderate pressure"/>
  <int value="4" label="Critical pressure to no pressure"/>
  <int value="5" label="Moderate pressure to no pressure"/>
</enum>

<enum name="MemoryState" type="int">
  <int value="0" label="Normal"/>
  <int value="1" label="Throttled"/>
  <int value="2" label="Suspended"/>
</enum>

<enum name="MessageLoopProblems" type="int">
  <int value="0" label="Message Post"/>
  <int value="1" label="Completion Post"/>
  <int value="2" label="Set Timer"/>
  <int value="3" label="Received WM_QUIT"/>
</enum>

<enum name="MetadataReadResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Open failure"/>
  <int value="2" label="Not found"/>
  <int value="3" label="Get info failure"/>
  <int value="4" label="File too big"/>
  <int value="5" label="Read failure"/>
  <int value="6" label="Parse failure"/>
  <int value="7" label="Malformed data"/>
</enum>

<enum name="MetadataWriteResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Serialization failure"/>
  <int value="2" label="Write failure"/>
</enum>

<enum name="MetaTagTypeEnum" type="int">
  <int value="0" label="No viewport tag"/>
  <int value="1" label="Viewport meta with device width"/>
  <int value="2" label="Viewport meta with constant width"/>
  <int value="3" label="Viewport meta other"/>
  <int value="4" label="HandheldFriendly meta"/>
  <int value="5" label="MobileOptimized meta"/>
  <int value="6" label="XHTML-MP document type"/>
</enum>

<enum name="MetricsReportingChange" type="int">
  <int value="0" label="Error">
    Error occurred while updating MetricsReporting
  </int>
  <int value="1" label="Disabled successfully"/>
  <int value="2" label="Enabled successfully"/>
</enum>

<enum name="MhtmlGenerationFinalSaveStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="File closing error"/>
  <int value="2" label="File creation error"/>
  <int value="3" label="File writing error"/>
  <int value="4" label="Frame no longer exists"/>
  <int value="5" label="Main frame serialization forbidden"/>
  <int value="6" label="Render process no longer exists"/>
</enum>

<enum name="MicrophoneMuteResult" type="int">
  <int value="0" label="Muted"/>
  <int value="1" label="Not muted"/>
</enum>

<enum name="MidiResult" type="int">
  <int value="0" label="Not initialized"/>
  <int value="1" label="Successfully initialized"/>
  <int value="2" label="Not supported"/>
  <int value="3" label="Generic initialization error"/>
</enum>

<enum name="MidiUsage" type="int">
  <int value="0" label="Instantiated"/>
  <int value="1" label="Instantiated on unsupported platforms"/>
  <int value="2" label="Session is started"/>
  <int value="3" label="Session is ended"/>
  <int value="4" label="Initialized"/>
  <int value="5" label="Input port is added"/>
  <int value="6" label="Output port is added"/>
</enum>

<enum name="MigrationNssToPemNetworkTypes" type="int">
  <int value="0" label="EAP"/>
  <int value="1" label="OpenVPN"/>
  <int value="2" label="IPsec"/>
</enum>

<enum name="MissingStartType" type="int">
  <int value="0" label="Nothing missing"/>
  <int value="1" label="Start missing"/>
  <int value="2" label="Commit missing"/>
  <int value="3" label="Start+Commit missing"/>
  <int value="4" label="NavStart missing"/>
  <int value="5" label="NavStart+Start missing"/>
  <int value="6" label="NavStart+Commit missing"/>
  <int value="7" label="NavStart+Start+Commit missing"/>
</enum>

<enum name="MistSwitchResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Failure"/>
</enum>

<enum name="MobileDownloadCancelReason" type="int">
  <int value="0" label="Not canceled"/>
  <int value="1" label="Click on the cancel button"/>
  <int value="2" label="Notification dismissed"/>
  <int value="3" label="Overwrite infobar dismissed"/>
  <int value="4" label="No storage permission"/>
  <int value="5" label="Dangerous download infobar dismissed"/>
  <int value="6" label="No external storage"/>
  <int value="7" label="Cannot determine download target"/>
  <int value="8" label="Cancelled by native for other reasons"/>
</enum>

<enum name="MobileDownloadInterceptFailureReason" type="int">
  <int value="0" label="No failure"/>
  <int value="1" label="Empty url"/>
  <int value="2" label="Non http or https"/>
  <int value="3" label="Non GET method"/>
  <int value="4" label="No request headers"/>
  <int value="5" label="Use http auth"/>
  <int value="6" label="Use channel bound cookies"/>
</enum>

<enum name="MobileDownloadResumption" type="int">
  <int value="0" label="Resumption button shown after manual pause"/>
  <int value="1" label="Resumption button shown after browser is killed"/>
  <int value="2" label="Resumption button clicked"/>
  <int value="3" label="Resumption failed"/>
  <int value="4" label="Resumption auto started"/>
</enum>

<enum name="MobileFreProgress" type="int">
  <int value="0" label="FRE started"/>
  <int value="1" label="Welcome shown"/>
  <int value="2" label="Data saver shown"/>
  <int value="3" label="Sign in shown"/>
  <int value="4" label="FRE completed w/ user signed in"/>
  <int value="5" label="FRE completed w/ user not signed in"/>
</enum>

<enum name="MobileFreSignInChoice" type="int">
  <summary>
    These values are defined inside the MobileFreSignInChoice enum
    chrome/browser/android/metrics/uma_bridge.cc and reference possible ways of
    completing the sign-in part of the First Run Experience.
  </summary>
  <int value="0" label="Settings default account"/>
  <int value="1" label="Settings another account"/>
  <int value="2" label="Accept default account"/>
  <int value="3" label="Accept another account"/>
  <int value="4" label="No thanks"/>
</enum>

<enum name="MobileHungRendererInfoBarEvent" type="int">
  <int value="0" label="Clicked the 'Wait' button"/>
  <int value="1" label="Clicked the 'Kill' button"/>
  <int value="2" label="Clicked the 'X' (close) button)"/>
  <int value="3" label="Infobar dismissed after renderer became responsive"/>
  <int value="4" label="Infobar dismissed after tab closed"/>
</enum>

<enum name="MobileSessionShutdownType" type="int">
  <int value="0" label="Shutdown in background"/>
  <int value="1" label="Shutdown in foreground; no log; no memory warning"/>
  <int value="2" label="Shutdown in foreground; with log; no memory warning"/>
  <int value="3" label="Shutdown in foreground; no log; with memory warning"/>
  <int value="4" label="Shutdown in foreground; with log; with memory warning"/>
  <int value="5" label="First launch after upgrade"/>
</enum>

<enum name="MobileStartingAction" type="int">
  <int value="0" label="No activity"/>
  <int value="1" label="Open new tab"/>
  <int value="2" label="Focus omnibox"/>
  <int value="3" label="Open bookmarks"/>
  <int value="4" label="Open recents"/>
  <int value="5" label="Open history"/>
  <int value="6" label="Open tab switcher"/>
</enum>

<enum name="ModuleIndex" type="int">
  <int value="0" label="chrome.dll"/>
  <int value="1" label="chrome_elf.dll"/>
  <int value="2" label="ntdll.dll"/>
</enum>

<enum name="MojoMachPortRelayBrokerError" type="int">
  <int value="0" label="SUCCESS">
    The Mach port was successfully sent or received.
  </int>
  <int value="1" label="ERROR_TASK_FOR_PID">
    Couldn't get a task port for the process with a given pid.
  </int>
  <int value="2" label="ERROR_MAKE_RECEIVE_PORT">
    Couldn't make a port with receive rights in the destination process.
  </int>
  <int value="3" label="ERROR_SET_ATTRIBUTES">
    Couldn't change the attributes of a Mach port.
  </int>
  <int value="4" label="ERROR_EXTRACT_DEST_RIGHT">
    Couldn't extract a right from the destination.
  </int>
  <int value="5" label="ERROR_SEND_MACH_PORT">
    Couldn't send a Mach port in a call to mach_msg().
  </int>
  <int value="6" label="ERROR_EXTRACT_SOURCE_RIGHT">
    Couldn't extract a right from the source.
  </int>
</enum>

<enum name="MojoMachPortRelayChildError" type="int">
  <int value="0" label="SUCCESS">The Mach port was successfully received.</int>
  <int value="1" label="ERROR_RECEIVE_MACH_MESSAGE">
    An error occurred while trying to receive a Mach port with mach_msg().
  </int>
</enum>

<enum name="MostVisitedTileIndex" type="int">
  <summary>
    Index of a tile on the new tab page. This is only an enum so that the
    dashboard won't produce misleading statistics like averages.
  </summary>
  <int value="0" label="0"/>
  <int value="1" label="1"/>
  <int value="2" label="2"/>
  <int value="3" label="3"/>
  <int value="4" label="4"/>
  <int value="5" label="5"/>
  <int value="6" label="6"/>
  <int value="7" label="7"/>
  <int value="8" label="8"/>
  <int value="9" label="9"/>
  <int value="10" label="10"/>
  <int value="11" label="11"/>
</enum>

<enum name="MotionEventToolType" type="int">
  <summary>The type of tool that triggers a pointer-type MotionEvent.</summary>
  <int value="0" label="Unknown">Unknown tool type.</int>
  <int value="1" label="Finger">The tool is a finger (touch).</int>
  <int value="2" label="Stylus">The tool is a stylus.</int>
  <int value="3" label="Mouse">The tool is a mouse or trackpad.</int>
  <int value="4" label="Eraser">
    The tool is an eraser or a stylus being used in an inverted posture.
  </int>
</enum>

<enum name="MouseEventFollowedByClick" type="int">
  <int value="0" label="Missed event before click"/>
  <int value="1" label="Caught event before click"/>
</enum>

<enum name="MSECodec" type="int">
  <int value="0" label="(Unknown)"/>
  <int value="1" label="VP8"/>
  <int value="2" label="VP9"/>
  <int value="3" label="Vorbis"/>
  <int value="4" label="H.264"/>
  <int value="5" label="MPEG2 AAC"/>
  <int value="6" label="MPEG4 AAC"/>
  <int value="7" label="EAC3"/>
  <int value="8" label="MP3"/>
  <int value="9" label="OPUS"/>
  <int value="10" label="HEVC"/>
  <int value="11" label="AC3"/>
  <int value="12" label="DOLBYVISION"/>
</enum>

<enum name="MultiAccountUpdateBubbleUserAction" type="int">
  <int value="0" label="DEFAULT_ACCOUNT_MATCHED_BY_PASSWORD_USER_CHANGED"/>
  <int value="1" label="DEFAULT_ACCOUNT_MATCHED_BY_PASSWORD_USER_NOT_CHANGED"/>
  <int value="2"
      label="DEFAULT_ACCOUNT_MATCHED_BY_PASSWORD_USER_REJECTED_UPDATE"/>
  <int value="3" label="DEFAULT_ACCOUNT_PREFERRED_USER_CHANGED"/>
  <int value="4" label="DEFAULT_ACCOUNT_PREFERRED_USER_NOT_CHANGED"/>
  <int value="5" label="DEFAULT_ACCOUNT_PREFERRED_USER_REJECTED_UPDATE"/>
  <int value="6" label="DEFAULT_ACCOUNT_FIRST_USER_CHANGED"/>
  <int value="7" label="DEFAULT_ACCOUNT_FIRST_USER_NOT_CHANGED"/>
  <int value="8" label="DEFAULT_ACCOUNT_FIRST_USER_REJECTED_UPDATE"/>
</enum>

<enum name="MultiChromeFrameRemovalResult" type="int">
  <int value="0" label="ALL_FAILED">All removal operations failed.</int>
  <int value="1" label="PARTIAL_SUCCESS">
    Some, but not all, operations succeeded.
  </int>
  <int value="2" label="SUCCESS">All operations succeeded.</int>
</enum>

<enum name="MultiProfileSessionMode" type="int">
  <int value="0" label="Single user mode"/>
  <int value="1" label="Side by side mode"/>
  <int value="2" label="Separate desktop mode"/>
</enum>

<enum name="MultiProfileSigninUserAction" type="int">
  <int value="0" label="System tray"/>
  <int value="1" label="Browser frame"/>
</enum>

<enum name="MultiProfileSwitchActiveUserAction" type="int">
  <int value="0" label="System tray"/>
  <int value="1" label="Keyboard accelerator"/>
</enum>

<enum name="MultiProfileTeleportWindowAction" type="int">
  <int value="0" label="Drag and drop"/>
  <int value="1" label="Caption context menu"/>
  <int value="2" label="Return by minimize"/>
  <int value="3" label="Return by launcher"/>
</enum>

<enum name="MultiProfileTeleportWindowType" type="int">
  <int value="0" label="Tabbed browser"/>
  <int value="1" label="Tabbed incognito browser"/>
  <int value="2" label="V1 app"/>
  <int value="3" label="V2 app"/>
  <int value="4" label="Panel"/>
  <int value="5" label="Popup"/>
  <int value="6" label="Unknown"/>
</enum>

<enum name="NaClHelperStatus" type="int">
  <int value="0" label="Helper not initialized"/>
  <int value="1" label="Helper executable missing"/>
  <int value="2" label="Helper bootstrap executable missing"/>
  <int value="3" label="Browser running under Valgrind"/>
  <int value="4" label="Helper failed to launch"/>
  <int value="5" label="Helper failed to ACK"/>
  <int value="6" label="Helper started correctly"/>
</enum>

<enum name="NaClHttpStatusCodeClass" type="int">
  <int value="0" label="0XX"/>
  <int value="1" label="1XX"/>
  <int value="2" label="2XX"/>
  <int value="3" label="3XX"/>
  <int value="4" label="4XX"/>
  <int value="5" label="5XX"/>
  <int value="6" label="No status"/>
</enum>

<enum name="NaClManifestType" type="int">
  <int value="0" label="File"/>
  <int value="1" label="DataURI"/>
</enum>

<enum name="NaClOSArchEnum" type="int">
  <int value="0" label="Linux x86-32"/>
  <int value="1" label="Linux x86-64"/>
  <int value="2" label="Linux ARM"/>
  <int value="3" label="Mac x86-32"/>
  <int value="4" label="Mac x86-64"/>
  <int value="5" label="Mac ARM"/>
  <int value="6" label="Windows x86-32"/>
  <int value="7" label="Windows x86-64"/>
  <int value="8" label="Windows ARM"/>
  <int value="9" label="Linux Mips32"/>
</enum>

<enum name="NaClPluginErrorCode" type="int">
  <int value="0" label="ERROR_LOAD_SUCCESS"/>
  <int value="1" label="ERROR_LOAD_ABORTED"/>
  <int value="2" label="ERROR_UNKNOWN"/>
  <int value="3" label="ERROR_MANIFEST_RESOLVE_URL"/>
  <int value="4" label="ERROR_MANIFEST_LOAD_URL"/>
  <int value="5" label="ERROR_MANIFEST_STAT"/>
  <int value="6" label="ERROR_MANIFEST_TOO_LARGE"/>
  <int value="7" label="ERROR_MANIFEST_OPEN"/>
  <int value="8" label="ERROR_MANIFEST_MEMORY_ALLOC"/>
  <int value="9" label="ERROR_MANIFEST_READ"/>
  <int value="10" label="ERROR_MANIFEST_PARSING"/>
  <int value="11" label="ERROR_MANIFEST_SCHEMA_VALIDATE"/>
  <int value="12" label="ERROR_MANIFEST_GET_NEXE_URL"/>
  <int value="13" label="ERROR_NEXE_LOAD_URL"/>
  <int value="14" label="ERROR_NEXE_ORIGIN_PROTOCOL"/>
  <int value="15" label="ERROR_NEXE_FH_DUP"/>
  <int value="16" label="ERROR_NEXE_STAT"/>
  <int value="17" label="ERROR_ELF_CHECK_IO"/>
  <int value="18" label="ERROR_ELF_CHECK_FAIL"/>
  <int value="19" label="ERROR_SEL_LDR_INIT"/>
  <int value="20" label="ERROR_SEL_LDR_CREATE_LAUNCHER"/>
  <int value="21" label="ERROR_SEL_LDR_FD"/>
  <int value="22" label="ERROR_SEL_LDR_LAUNCH"/>
  <int value="23" label="ERROR_SEL_LDR_COMMUNICATION"/>
  <int value="24" label="ERROR_SEL_LDR_SEND_NEXE"/>
  <int value="25" label="ERROR_SEL_LDR_HANDLE_PASSING"/>
  <int value="26" label="ERROR_SEL_LDR_START_MODULE"/>
  <int value="27" label="ERROR_SEL_LDR_START_STATUS"/>
  <int value="28" label="ERROR_SRPC_CONNECTION_FAIL"/>
  <int value="29" label="ERROR_START_PROXY_CHECK_PPP"/>
  <int value="30" label="ERROR_START_PROXY_ALLOC"/>
  <int value="31" label="ERROR_START_PROXY_MODULE"/>
  <int value="32" label="ERROR_START_PROXY_INSTANCE"/>
  <int value="33" label="ERROR_SEL_LDR_COMMUNICATION_CMD_CHANNEL"/>
  <int value="34" label="ERROR_SEL_LDR_COMMUNICATION_REV_SETUP"/>
  <int value="35" label="ERROR_SEL_LDR_COMMUNICATION_WRAPPER"/>
  <int value="36" label="ERROR_SEL_LDR_COMMUNICATION_REV_SERVICE"/>
  <int value="37" label="ERROR_START_PROXY_CRASH"/>
  <int value="38" label="ERROR_MANIFEST_PROGRAM_MISSING_ARCH"/>
  <int value="39" label="ERROR_PNACL_CACHE_OPEN_INPROGRESS"/>
  <int value="40" label="ERROR_PNACL_CACHE_OPEN_NOACCESS"/>
  <int value="41" label="ERROR_PNACL_CACHE_OPEN_NOQUOTA"/>
  <int value="42" label="ERROR_PNACL_CACHE_OPEN_NOSPACE"/>
  <int value="43" label="ERROR_PNACL_CACHE_OPEN_OTHER"/>
  <int value="44" label="ERROR_PNACL_CACHE_DIRECTORY_CREATE"/>
  <int value="45" label="ERROR_PNACL_CACHE_FILEOPEN_NOACCESS"/>
  <int value="46" label="ERROR_PNACL_CACHE_FILEOPEN_NOQUOTA"/>
  <int value="47" label="ERROR_PNACL_CACHE_FILEOPEN_NOSPACE"/>
  <int value="48" label="ERROR_PNACL_CACHE_FILEOPEN_NOTAFILE"/>
  <int value="49" label="ERROR_PNACL_CACHE_FILEOPEN_OTHER"/>
  <int value="50" label="ERROR_PNACL_CACHE_FETCH_NOACCESS"/>
  <int value="51" label="ERROR_PNACL_CACHE_FETCH_NOTFOUND"/>
  <int value="52" label="ERROR_PNACL_CACHE_FETCH_OTHER"/>
  <int value="53" label="ERROR_PNACL_CACHE_FINALIZE_COPY_NOQUOTA"/>
  <int value="54" label="ERROR_PNACL_CACHE_FINALIZE_COPY_NOSPACE"/>
  <int value="55" label="ERROR_PNACL_CACHE_FINALIZE_COPY_OTHER"/>
  <int value="56" label="ERROR_PNACL_CACHE_FINALIZE_RENAME_NOACCESS"/>
  <int value="57" label="ERROR_PNACL_CACHE_FINALIZE_RENAME_OTHER"/>
  <int value="58" label="ERROR_PNACL_RESOURCE_FETCH"/>
  <int value="59" label="ERROR_PNACL_PEXE_FETCH_ABORTED"/>
  <int value="60" label="ERROR_PNACL_PEXE_FETCH_NOACCESS"/>
  <int value="61" label="ERROR_PNACL_PEXE_FETCH_OTHER"/>
  <int value="62" label="ERROR_PNACL_THREAD_CREATE"/>
  <int value="63" label="ERROR_PNACL_LLC_SETUP"/>
  <int value="64" label="ERROR_PNACL_LD_SETUP"/>
  <int value="65" label="ERROR_PNACL_LLC_INTERNAL"/>
  <int value="66" label="ERROR_PNACL_LD_INTERNAL"/>
  <int value="67" label="ERROR_PNACL_CREATE_TEMP"/>
  <int value="68" label="ERROR_PNACL_NOT_ENABLED"/>
  <int value="69" label="ERROR_MANIFEST_NOACCESS_URL"/>
  <int value="70" label="ERROR_NEXE_NOACCESS_URL"/>
</enum>

<enum name="NaClSelLdrErrorCode" type="int">
  <int value="0" label="LOAD_OK"/>
  <int value="1" label="LOAD_STATUS_UNKNOWN"/>
  <int value="2" label="LOAD_UNSUPPORTED_OS_PLATFORM"/>
  <int value="3" label="LOAD_DEP_UNSUPPORTED"/>
  <int value="4" label="LOAD_INTERNAL"/>
  <int value="5" label="LOAD_DUP_LOAD_MODULE"/>
  <int value="6" label="LOAD_DUP_START_MODULE"/>
  <int value="7" label="LOAD_OPEN_ERROR"/>
  <int value="8" label="LOAD_READ_ERROR"/>
  <int value="9" label="LOAD_TOO_MANY_PROG_HDRS"/>
  <int value="10" label="LOAD_BAD_PHENTSIZE"/>
  <int value="11" label="LOAD_BAD_ELF_MAGIC"/>
  <int value="12" label="LOAD_NOT_32_BIT"/>
  <int value="13" label="LOAD_NOT_64_BIT"/>
  <int value="14" label="LOAD_BAD_ABI"/>
  <int value="15" label="LOAD_NOT_EXEC"/>
  <int value="16" label="LOAD_BAD_MACHINE"/>
  <int value="17" label="LOAD_BAD_ELF_VERS"/>
  <int value="18" label="LOAD_TOO_MANY_SECT"/>
  <int value="19" label="LOAD_BAD_SECT"/>
  <int value="20" label="LOAD_NO_MEMORY"/>
  <int value="21" label="LOAD_SECT_HDR"/>
  <int value="22" label="LOAD_ADDR_SPACE_TOO_SMALL"/>
  <int value="23" label="LOAD_ADDR_SPACE_TOO_BIG"/>
  <int value="24" label="LOAD_DATA_OVERLAPS_STACK_SECTION"/>
  <int value="25" label="LOAD_RODATA_OVERLAPS_DATA"/>
  <int value="26" label="LOAD_DATA_NOT_LAST_SEGMENT"/>
  <int value="27" label="LOAD_NO_DATA_BUT_RODATA_NOT_LAST_SEGMENT"/>
  <int value="28" label="LOAD_TEXT_OVERLAPS_RODATA"/>
  <int value="29" label="LOAD_TEXT_OVERLAPS_DATA"/>
  <int value="30" label="LOAD_BAD_RODATA_ALIGNMENT"/>
  <int value="31" label="LOAD_BAD_DATA_ALIGNMENT"/>
  <int value="32" label="LOAD_UNLOADABLE"/>
  <int value="33" label="LOAD_BAD_ELF_TEXT"/>
  <int value="34" label="LOAD_TEXT_SEG_TOO_BIG"/>
  <int value="35" label="LOAD_DATA_SEG_TOO_BIG"/>
  <int value="36" label="LOAD_MPROTECT_FAIL"/>
  <int value="37" label="LOAD_MADVISE_FAIL"/>
  <int value="38" label="LOAD_TOO_MANY_SYMBOL_STR"/>
  <int value="39" label="LOAD_SYMTAB_ENTRY_TOO_SMALL"/>
  <int value="40" label="LOAD_NO_SYMTAB"/>
  <int value="41" label="LOAD_NO_SYMTAB_STRINGS"/>
  <int value="42" label="LOAD_SYMTAB_ENTRY"/>
  <int value="43" label="LOAD_UNKNOWN_SYMBOL_TYPE"/>
  <int value="44" label="LOAD_SYMTAB_DUP"/>
  <int value="45" label="LOAD_REL_ERROR"/>
  <int value="46" label="LOAD_REL_UNIMPL"/>
  <int value="47" label="LOAD_UNDEF_SYMBOL"/>
  <int value="48" label="LOAD_BAD_SYMBOL_DATA"/>
  <int value="49" label="LOAD_BAD_FILE"/>
  <int value="50" label="LOAD_BAD_ENTRY"/>
  <int value="51" label="LOAD_SEGMENT_OUTSIDE_ADDRSPACE"/>
  <int value="52" label="LOAD_DUP_SEGMENT"/>
  <int value="53" label="LOAD_SEGMENT_BAD_LOC"/>
  <int value="54" label="LOAD_BAD_SEGMENT"/>
  <int value="55" label="LOAD_REQUIRED_SEG_MISSING"/>
  <int value="56" label="LOAD_SEGMENT_BAD_PARAM"/>
  <int value="57" label="LOAD_VALIDATION_FAILED"/>
  <int value="58" label="LOAD_UNIMPLEMENTED"/>
  <int value="59" label="SRT_NO_SEG_SEL"/>
  <int value="60" label="LOAD_BAD_EHSIZE"/>
  <int value="61" label="LOAD_EHDR_OVERFLOW"/>
  <int value="62" label="LOAD_PHDR_OVERFLOW"/>
  <int value="63" label="LOAD_UNSUPPORTED_CPU"/>
  <int value="64" label="LOAD_NO_MEMORY_FOR_DYNAMIC_TEXT"/>
  <int value="65" label="LOAD_NO_MEMORY_FOR_ADDRESS_SPACE"/>
</enum>

<enum name="NaClStartupEnum" type="int">
  <int value="0" label="Default tab opened"/>
  <int value="1" label="New tab opened"/>
  <int value="2" label="NaCl sel_ldr started"/>
</enum>

<enum name="NaClValidationCacheEnum" type="int">
  <int value="0" label="Miss"/>
  <int value="1" label="Hit"/>
</enum>

<enum name="NativeLibraryPreloaderResult" type="int">
  <int value="0" label="SUCCESS"/>
  <int value="1" label="WRONG_PACKAGE_NAME"/>
  <int value="2" label="ADDRESS_SPACE_NOT_RESERVED"/>
  <int value="3" label="FAILED_WAITING_FOR_RELRO"/>
  <int value="4" label="FAILED_LISTING_WEBVIEW_PACKAGES"/>
  <int value="5" label="FAILED_TO_OPEN_RELRO_FILE"/>
  <int value="6" label="FAILED_TO_LOAD_LIBRARY"/>
  <int value="7" label="FAILED_JNI_CALL"/>
  <int value="8" label="FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN"/>
  <int value="10" label="FAILED_TO_FIND_NAMESPACE"/>
</enum>

<enum name="NatTypeCounters" type="int">
  <int value="0" label="Not behind a NAT."/>
  <int value="1" label="Behind a NAT of unknown type."/>
  <int value="2" label="Behind a Symmetric NAT."/>
  <int value="3" label="Behind a Non-Symmetric NAT."/>
</enum>

<enum name="NavigationDirection" type="int">
  <obsolete>
    Deprecated as of Chrome 59 in favour of OverscrollNavigationType.
  </obsolete>
  <summary>Direction of the overscroll gesture.</summary>
  <int value="0" label="None">Did not scroll</int>
  <int value="1" label="Forward">Scrolled forward</int>
  <int value="2" label="Back">Scrolled back</int>
</enum>

<enum name="NavigationInterceptResult" type="int">
  <int value="0" label="Created external intent"/>
  <int value="1" label="Created external intent with tab clobbering"/>
  <int value="2" label="Created async dialog for confirming external intent"/>
  <int value="3" label="Navigation not intercepted"/>
</enum>

<enum name="NavigationScheme" type="int">
  <int value="0" label="(Unknown)"/>
  <int value="1" label="http"/>
  <int value="2" label="https"/>
  <int value="3" label="file"/>
  <int value="4" label="ftp"/>
  <int value="5" label="data"/>
  <int value="6" label="javascript"/>
  <int value="7" label="about"/>
  <int value="8" label="chrome"/>
  <int value="9" label="blob"/>
  <int value="10" label="filesystem"/>
</enum>

<enum name="NavigatorVibrationType" type="int">
  <int value="0" label="Main frame vibrate, no user gesture"/>
  <int value="1" label="Main frame vibrate, with user gesture"/>
  <int value="2" label="Same-origin subframe vibrate, no user gesture"/>
  <int value="3" label="Same-origin subframe vibrate, with user gesture"/>
  <int value="4" label="Cross-origin subframe vibrate, no user gesture"/>
  <int value="5" label="Cross-origin subframe vibrate, with user gesture"/>
</enum>

<enum name="NCNGetActiveNetworkInfoResult" type="int">
  <int value="0" label="Active network was disconnected"/>
  <int value="1" label="Active network was already connected"/>
  <int value="2" label="Android API level was too old for unblocking"/>
  <int value="3" label="Active network was not blocked"/>
  <int value="4" label="App was not running in the background"/>
  <int value="5" label="Active network was unblocked"/>
</enum>

<enum name="NegativeSampleReason" type="int">
  <int value="0"
      label="Persistent sparse histogram had logged value but no active
             sample."/>
  <int value="1"
      label="Persistent sparse histogram active sample less than logged
             value."/>
</enum>

<enum name="NetCacheState" type="int">
  <int value="0" label="FROM_CACHE"/>
  <int value="1" label="STILL_VALID"/>
  <int value="2" label="NO_LONGER_VALID"/>
  <int value="3" label="NO_ENTRY"/>
</enum>

<enum name="NetConnectivityProtocolStatus" type="int">
  <int value="0" label="SUCCESS"/>
  <int value="1" label="IP_STRING_PARSE_FAILED"/>
  <int value="2" label="SOCKET_CREATE_FAILED"/>
  <int value="3" label="RESOLVE_FAILED"/>
  <int value="4" label="CONNECT_FAILED"/>
  <int value="5" label="WRITE_FAILED"/>
  <int value="6" label="READ_TIMED_OUT"/>
  <int value="7" label="READ_FAILED"/>
  <int value="8" label="ZERO_LENGTH_ERROR"/>
  <int value="9" label="NO_CHECKSUM_ERROR"/>
  <int value="10" label="NO_KEY_ERROR"/>
  <int value="11" label="NO_PAYLOAD_SIZE_ERROR"/>
  <int value="12" label="NO_PAYLOAD_ERROR"/>
  <int value="13" label="INVALID_KEY_ERROR"/>
  <int value="14" label="TOO_SHORT_PAYLOAD"/>
  <int value="15" label="TOO_LONG_PAYLOAD"/>
  <int value="16" label="INVALID_CHECKSUM"/>
  <int value="17" label="PATTERN_CHANGED"/>
  <int value="18" label="INVALID_PACKET_NUMBER"/>
  <int value="19" label="TOO_MANY_PACKETS"/>
  <int value="20" label="STATUS_MAX"/>
</enum>

<enum name="NetConnectivityStatus" type="int">
  <int value="0" label="SUCCESS"/>
  <int value="1" label="IP_STRING_PARSE_FAILED"/>
  <int value="2" label="SOCKET_CREATE_FAILED"/>
  <int value="3" label="RESOLVE_FAILED"/>
  <int value="4" label="CONNECT_FAILED"/>
  <int value="5" label="WRITE_FAILED"/>
  <int value="6" label="READ_TIMED_OUT"/>
  <int value="7" label="READ_FAILED"/>
  <int value="8" label="READ_VERIFY_FAILED"/>
  <int value="9" label="STATUS_MAX"/>
</enum>

<enum name="NetErrorCodes" type="int">
<!-- Generated from net/base/net_error_list.h -->

  <int value="0" label="OK"/>
  <int value="1" label="IO_PENDING"/>
  <int value="2" label="FAILED"/>
  <int value="3" label="ABORTED"/>
  <int value="4" label="INVALID_ARGUMENT"/>
  <int value="5" label="INVALID_HANDLE"/>
  <int value="6" label="FILE_NOT_FOUND"/>
  <int value="7" label="TIMED_OUT"/>
  <int value="8" label="FILE_TOO_BIG"/>
  <int value="9" label="UNEXPECTED"/>
  <int value="10" label="ACCESS_DENIED"/>
  <int value="11" label="NOT_IMPLEMENTED"/>
  <int value="12" label="INSUFFICIENT_RESOURCES"/>
  <int value="13" label="OUT_OF_MEMORY"/>
  <int value="14" label="UPLOAD_FILE_CHANGED"/>
  <int value="15" label="SOCKET_NOT_CONNECTED"/>
  <int value="16" label="FILE_EXISTS"/>
  <int value="17" label="FILE_PATH_TOO_LONG"/>
  <int value="18" label="FILE_NO_SPACE"/>
  <int value="19" label="FILE_VIRUS_INFECTED"/>
  <int value="20" label="BLOCKED_BY_CLIENT"/>
  <int value="21" label="NETWORK_CHANGED"/>
  <int value="22" label="BLOCKED_BY_ADMINISTRATOR"/>
  <int value="23" label="SOCKET_IS_CONNECTED"/>
  <int value="24" label="BLOCKED_ENROLLMENT_CHECK_PENDING"/>
  <int value="25" label="UPLOAD_STREAM_REWIND_NOT_SUPPORTED"/>
  <int value="26" label="CONTEXT_SHUT_DOWN"/>
  <int value="27" label="BLOCKED_BY_RESPONSE"/>
  <int value="28" label="BLOCKED_BY_XSS_AUDITOR"/>
  <int value="29" label="CLEARTEXT_NOT_PERMITTED"/>
  <int value="100" label="CONNECTION_CLOSED"/>
  <int value="101" label="CONNECTION_RESET"/>
  <int value="102" label="CONNECTION_REFUSED"/>
  <int value="103" label="CONNECTION_ABORTED"/>
  <int value="104" label="CONNECTION_FAILED"/>
  <int value="105" label="NAME_NOT_RESOLVED"/>
  <int value="106" label="INTERNET_DISCONNECTED"/>
  <int value="107" label="SSL_PROTOCOL_ERROR"/>
  <int value="108" label="ADDRESS_INVALID"/>
  <int value="109" label="ADDRESS_UNREACHABLE"/>
  <int value="110" label="SSL_CLIENT_AUTH_CERT_NEEDED"/>
  <int value="111" label="TUNNEL_CONNECTION_FAILED"/>
  <int value="112" label="NO_SSL_VERSIONS_ENABLED"/>
  <int value="113" label="SSL_VERSION_OR_CIPHER_MISMATCH"/>
  <int value="114" label="SSL_RENEGOTIATION_REQUESTED"/>
  <int value="115" label="PROXY_AUTH_UNSUPPORTED"/>
  <int value="116" label="CERT_ERROR_IN_SSL_RENEGOTIATION"/>
  <int value="117" label="BAD_SSL_CLIENT_AUTH_CERT"/>
  <int value="118" label="CONNECTION_TIMED_OUT"/>
  <int value="119" label="HOST_RESOLVER_QUEUE_TOO_LARGE"/>
  <int value="120" label="SOCKS_CONNECTION_FAILED"/>
  <int value="121" label="SOCKS_CONNECTION_HOST_UNREACHABLE"/>
  <int value="122" label="ALPN_NEGOTIATION_FAILED"/>
  <int value="123" label="SSL_NO_RENEGOTIATION"/>
  <int value="124" label="WINSOCK_UNEXPECTED_WRITTEN_BYTES"/>
  <int value="125" label="SSL_DECOMPRESSION_FAILURE_ALERT"/>
  <int value="126" label="SSL_BAD_RECORD_MAC_ALERT"/>
  <int value="127" label="PROXY_AUTH_REQUESTED"/>
  <int value="128" label="SSL_UNSAFE_NEGOTIATION"/>
  <int value="129" label="SSL_WEAK_SERVER_EPHEMERAL_DH_KEY"/>
  <int value="130" label="PROXY_CONNECTION_FAILED"/>
  <int value="131" label="MANDATORY_PROXY_CONFIGURATION_FAILED"/>
  <int value="132" label="ESET_ANTI_VIRUS_SSL_INTERCEPTION"/>
  <int value="133" label="PRECONNECT_MAX_SOCKET_LIMIT"/>
  <int value="134" label="SSL_CLIENT_AUTH_PRIVATE_KEY_ACCESS_DENIED"/>
  <int value="135" label="SSL_CLIENT_AUTH_CERT_NO_PRIVATE_KEY"/>
  <int value="136" label="PROXY_CERTIFICATE_INVALID"/>
  <int value="137" label="NAME_RESOLUTION_FAILED"/>
  <int value="138" label="NETWORK_ACCESS_DENIED"/>
  <int value="139" label="TEMPORARILY_THROTTLED"/>
  <int value="140" label="HTTPS_PROXY_TUNNEL_RESPONSE"/>
  <int value="141" label="SSL_CLIENT_AUTH_SIGNATURE_FAILED"/>
  <int value="142" label="MSG_TOO_BIG"/>
  <int value="143" label="SPDY_SESSION_ALREADY_EXISTS"/>
  <int value="144" label="LIMIT_VIOLATION"/>
  <int value="145" label="WS_PROTOCOL_ERROR"/>
  <int value="146" label="PROTOCOL_SWITCHED"/>
  <int value="147" label="ADDRESS_IN_USE"/>
  <int value="148" label="SSL_HANDSHAKE_NOT_COMPLETED"/>
  <int value="149" label="SSL_BAD_PEER_PUBLIC_KEY"/>
  <int value="150" label="SSL_PINNED_KEY_NOT_IN_CERT_CHAIN"/>
  <int value="151" label="CLIENT_AUTH_CERT_TYPE_UNSUPPORTED"/>
  <int value="152" label="ORIGIN_BOUND_CERT_GENERATION_TYPE_MISMATCH"/>
  <int value="153" label="SSL_DECRYPT_ERROR_ALERT"/>
  <int value="154" label="WS_THROTTLE_QUEUE_TOO_LARGE"/>
  <int value="155" label="TOO_MANY_SOCKET_STREAMS"/>
  <int value="156" label="SSL_SERVER_CERT_CHANGED"/>
  <int value="157" label="SSL_INAPPROPRIATE_FALLBACK"/>
  <int value="158" label="CT_NO_SCTS_VERIFIED_OK"/>
  <int value="159" label="SSL_UNRECOGNIZED_NAME_ALERT"/>
  <int value="160" label="SOCKET_SET_RECEIVE_BUFFER_SIZE_ERROR"/>
  <int value="161" label="SOCKET_SET_SEND_BUFFER_SIZE_ERROR"/>
  <int value="162" label="SOCKET_RECEIVE_BUFFER_SIZE_UNCHANGEABLE"/>
  <int value="163" label="SOCKET_SEND_BUFFER_SIZE_UNCHANGEABLE"/>
  <int value="164" label="SSL_CLIENT_AUTH_CERT_BAD_FORMAT"/>
  <int value="165" label="SSL_FALLBACK_BEYOND_MINIMUM_VERSION"/>
  <int value="166" label="ICANN_NAME_COLLISION"/>
  <int value="167" label="SSL_SERVER_CERT_BAD_FORMAT"/>
  <int value="168" label="CT_STH_PARSING_FAILED"/>
  <int value="169" label="CT_STH_INCOMPLETE"/>
  <int value="170" label="UNABLE_TO_REUSE_CONNECTION_FOR_PROXY_AUTH"/>
  <int value="171" label="CT_CONSISTENCY_PROOF_PARSING_FAILED"/>
  <int value="172" label="SSL_OBSOLETE_CIPHER"/>
  <int value="173" label="WS_UPGRADE"/>
  <int value="174" label="READ_IF_READY_NOT_IMPLEMENTED"/>
  <int value="175" label="SSL_VERSION_INTERFERENCE"/>
  <int value="200" label="CERT_COMMON_NAME_INVALID"/>
  <int value="201" label="CERT_DATE_INVALID"/>
  <int value="202" label="CERT_AUTHORITY_INVALID"/>
  <int value="203" label="CERT_CONTAINS_ERRORS"/>
  <int value="204" label="CERT_NO_REVOCATION_MECHANISM"/>
  <int value="205" label="CERT_UNABLE_TO_CHECK_REVOCATION"/>
  <int value="206" label="CERT_REVOKED"/>
  <int value="207" label="CERT_INVALID"/>
  <int value="208" label="CERT_WEAK_SIGNATURE_ALGORITHM"/>
  <int value="209" label="CERT_NOT_IN_DNS"/>
  <int value="210" label="CERT_NON_UNIQUE_NAME"/>
  <int value="211" label="CERT_WEAK_KEY"/>
  <int value="212" label="CERT_NAME_CONSTRAINT_VIOLATION"/>
  <int value="213" label="CERT_VALIDITY_TOO_LONG"/>
  <int value="214" label="CERTIFICATE_TRANSPARENCY_REQUIRED"/>
  <int value="215" label="CERT_END"/>
  <int value="300" label="INVALID_URL"/>
  <int value="301" label="DISALLOWED_URL_SCHEME"/>
  <int value="302" label="UNKNOWN_URL_SCHEME"/>
  <int value="310" label="TOO_MANY_REDIRECTS"/>
  <int value="311" label="UNSAFE_REDIRECT"/>
  <int value="312" label="UNSAFE_PORT"/>
  <int value="320" label="INVALID_RESPONSE"/>
  <int value="321" label="INVALID_CHUNKED_ENCODING"/>
  <int value="322" label="METHOD_NOT_SUPPORTED"/>
  <int value="323" label="UNEXPECTED_PROXY_AUTH"/>
  <int value="324" label="EMPTY_RESPONSE"/>
  <int value="325" label="RESPONSE_HEADERS_TOO_BIG"/>
  <int value="326" label="PAC_STATUS_NOT_OK"/>
  <int value="327" label="PAC_SCRIPT_FAILED"/>
  <int value="328" label="REQUEST_RANGE_NOT_SATISFIABLE"/>
  <int value="329" label="MALFORMED_IDENTITY"/>
  <int value="330" label="CONTENT_DECODING_FAILED"/>
  <int value="331" label="NETWORK_IO_SUSPENDED"/>
  <int value="332" label="SYN_REPLY_NOT_RECEIVED"/>
  <int value="333" label="ENCODING_CONVERSION_FAILED"/>
  <int value="334" label="UNRECOGNIZED_FTP_DIRECTORY_LISTING_FORMAT"/>
  <int value="335" label="INVALID_SPDY_STREAM"/>
  <int value="336" label="NO_SUPPORTED_PROXIES"/>
  <int value="337" label="SPDY_PROTOCOL_ERROR"/>
  <int value="338" label="INVALID_AUTH_CREDENTIALS"/>
  <int value="339" label="UNSUPPORTED_AUTH_SCHEME"/>
  <int value="340" label="ENCODING_DETECTION_FAILED"/>
  <int value="341" label="MISSING_AUTH_CREDENTIALS"/>
  <int value="342" label="UNEXPECTED_SECURITY_LIBRARY_STATUS"/>
  <int value="343" label="MISCONFIGURED_AUTH_ENVIRONMENT"/>
  <int value="344" label="UNDOCUMENTED_SECURITY_LIBRARY_STATUS"/>
  <int value="345" label="RESPONSE_BODY_TOO_BIG_TO_DRAIN"/>
  <int value="346" label="RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH"/>
  <int value="347" label="INCOMPLETE_SPDY_HEADERS"/>
  <int value="348" label="PAC_NOT_IN_DHCP"/>
  <int value="349" label="RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION"/>
  <int value="350" label="RESPONSE_HEADERS_MULTIPLE_LOCATION"/>
  <int value="351" label="SPDY_SERVER_REFUSED_STREAM"/>
  <int value="352" label="SPDY_PING_FAILED"/>
  <int value="353" label="PIPELINE_EVICTION"/>
  <int value="354" label="CONTENT_LENGTH_MISMATCH"/>
  <int value="355" label="INCOMPLETE_CHUNKED_ENCODING"/>
  <int value="356" label="QUIC_PROTOCOL_ERROR"/>
  <int value="357" label="RESPONSE_HEADERS_TRUNCATED"/>
  <int value="358" label="QUIC_HANDSHAKE_FAILED"/>
  <int value="359" label="REQUEST_FOR_SECURE_RESOURCE_OVER_INSECURE_QUIC"/>
  <int value="360" label="SPDY_INADEQUATE_TRANSPORT_SECURITY"/>
  <int value="361" label="SPDY_FLOW_CONTROL_ERROR"/>
  <int value="362" label="SPDY_FRAME_SIZE_ERROR"/>
  <int value="363" label="SPDY_COMPRESSION_ERROR"/>
  <int value="364" label="PROXY_AUTH_REQUESTED_WITH_NO_CONNECTION"/>
  <int value="365" label="HTTP_1_1_REQUIRED"/>
  <int value="366" label="PROXY_HTTP_1_1_REQUIRED"/>
  <int value="367" label="PAC_SCRIPT_TERMINATED"/>
  <int value="368" label="ALTERNATIVE_CERT_NOT_VALID_FOR_ORIGIN"/>
  <int value="369" label="TEMPORARY_BACKOFF"/>
  <int value="370" label="INVALID_HTTP_RESPONSE"/>
  <int value="371" label="CONTENT_DECODING_INIT_FAILED"/>
  <int value="372" label="SPDY_RST_STREAM_NO_ERROR_RECEIVED"/>
  <int value="400" label="CACHE_MISS"/>
  <int value="401" label="CACHE_READ_FAILURE"/>
  <int value="402" label="CACHE_WRITE_FAILURE"/>
  <int value="403" label="CACHE_OPERATION_NOT_SUPPORTED"/>
  <int value="404" label="CACHE_OPEN_FAILURE"/>
  <int value="405" label="CACHE_CREATE_FAILURE"/>
  <int value="406" label="CACHE_RACE"/>
  <int value="407" label="CACHE_CHECKSUM_READ_FAILURE"/>
  <int value="408" label="CACHE_CHECKSUM_MISMATCH"/>
  <int value="409" label="CACHE_LOCK_TIMEOUT"/>
  <int value="410" label="CACHE_AUTH_FAILURE_AFTER_READ"/>
  <int value="501" label="INSECURE_RESPONSE"/>
  <int value="502" label="NO_PRIVATE_KEY_FOR_CERT"/>
  <int value="503" label="ADD_USER_CERT_FAILED"/>
  <int value="601" label="FTP_FAILED"/>
  <int value="602" label="FTP_SERVICE_UNAVAILABLE"/>
  <int value="603" label="FTP_TRANSFER_ABORTED"/>
  <int value="604" label="FTP_FILE_BUSY"/>
  <int value="605" label="FTP_SYNTAX_ERROR"/>
  <int value="606" label="FTP_COMMAND_NOT_SUPPORTED"/>
  <int value="607" label="FTP_BAD_COMMAND_SEQUENCE"/>
  <int value="701" label="PKCS12_IMPORT_BAD_PASSWORD"/>
  <int value="702" label="PKCS12_IMPORT_FAILED"/>
  <int value="703" label="IMPORT_CA_CERT_NOT_CA"/>
  <int value="704" label="IMPORT_CERT_ALREADY_EXISTS"/>
  <int value="705" label="IMPORT_CA_CERT_FAILED"/>
  <int value="706" label="IMPORT_SERVER_CERT_FAILED"/>
  <int value="707" label="PKCS12_IMPORT_INVALID_MAC"/>
  <int value="708" label="PKCS12_IMPORT_INVALID_FILE"/>
  <int value="709" label="PKCS12_IMPORT_UNSUPPORTED"/>
  <int value="710" label="KEY_GENERATION_FAILED"/>
  <int value="711" label="ORIGIN_BOUND_CERT_GENERATION_FAILED"/>
  <int value="712" label="PRIVATE_KEY_EXPORT_FAILED"/>
  <int value="713" label="SELF_SIGNED_CERT_GENERATION_FAILED"/>
  <int value="714" label="CERT_DATABASE_CHANGED"/>
  <int value="715" label="CHANNEL_ID_IMPORT_FAILED"/>
  <int value="800" label="DNS_MALFORMED_RESPONSE"/>
  <int value="801" label="DNS_SERVER_REQUIRES_TCP"/>
  <int value="802" label="DNS_SERVER_FAILED"/>
  <int value="803" label="DNS_TIMED_OUT"/>
  <int value="804" label="DNS_CACHE_MISS"/>
  <int value="805" label="DNS_SEARCH_EMPTY"/>
  <int value="806" label="DNS_SORT_ERROR"/>
</enum>

<enum name="NetErrorNavigationCorrectionTypes" type="int">
  <int value="0" label="Google cached page"/>
  <int value="1" label="URL correction"/>
  <int value="2" label="Alt URL - domain"/>
  <int value="3" label="Alt URL - host"/>
  <int value="4" label="Alt URL - sitemap"/>
  <int value="5" label="Alt URL - path parent folder"/>
  <int value="6" label="Alt URL - content overlap"/>
  <int value="7" label="Emphasized URL correction"/>
  <int value="100" label="Web search query"/>
</enum>

<enum name="NetErrorPageEvents" type="int">
  <int value="0" label="Error Page Shown"/>
  <int value="1" label="Reload Button Shown"/>
  <int value="2" label="Reload Button Clicked"/>
  <int value="3" label="Reload Button Click Load Error"/>
  <int value="4" label="Show Saved Copy Button Shown"/>
  <int value="5" label="Show Saved Copy Button Clicked"/>
  <int value="6" label="Show Saved Copy Button Click Load Error"/>
  <int value="7" label="More Button Clicked"/>
  <int value="8" label="Browser Initiated Reload"/>
  <int value="9" label="Both Buttons Shown"/>
  <int value="10" label="Both Buttons Shown, Reload Clicked"/>
  <int value="11" label="Both Buttons Shown, Show Saved Copy Clicked"/>
  <int value="12" label="Easter egg activated"/>
  <int value="13" label="Show Cached Copy button shown"/>
  <int value="14" label="Show Cached Copy button clicked"/>
  <int value="15" label="Show Cached Page button shown"/>
  <int value="16" label="Show Cached Page button clicked"/>
  <int value="17" label="Diagnose button clicked"/>
  <int value="18" label="Show Offline Pages Button Shown"/>
  <int value="19" label="Show Offline Pages Button Clicked"/>
  <int value="20" label="Show Offline Copy Button Shown"/>
  <int value="21" label="Show Offline Copy Button Clicked"/>
  <int value="22" label="Download Button Shown"/>
  <int value="23" label="Download Button Clicked"/>
</enum>

<enum name="NetFilterType" type="int">
  <summary>
    Specific content decoding filter.  See   net::Filter::FilterType for more
    details
  </summary>
  <int value="0" label="Brotli"/>
  <int value="1" label="Deflate"/>
  <int value="2" label="GZIP"/>
  <int value="3" label="GzipHelpingSdch"/>
  <int value="4" label="SDCH"/>
  <int value="5" label="SDCHPossible"/>
  <int value="6" label="Unsupported"/>
</enum>

<enum name="NetFilterType2" type="int">
  <summary>
    Specific content decoding filter.  See net::SourceStream::SourceType for
    more details
  </summary>
  <int value="0" label="Brotli"/>
  <int value="1" label="Deflate"/>
  <int value="2" label="GZIP"/>
  <int value="3" label="GZIPFallback"/>
  <int value="4" label="SDCH"/>
  <int value="5" label="SDCHPossible"/>
  <int value="6" label="Invalid"/>
  <int value="7" label="None"/>
  <int value="8" label="Rejected">
    Unlike other values, this one is reported from HttpNetworkTransaction in a
    case when an unadvertised, but known encoding appears in a
    &quot;Content-Encoding&quot; header, and is thus not comparable with the
    other values, which are potentially returned from cached entries.
  </int>
  <int value="9" label="Unknown">
    Reported from URLRequestHttpJob::SetUpSourceStream when an unknown encoding
    appears in a &quot;Content-Encoding&quot; header. Despite being reported in
    this histogram, this does not cause a CONTENT_DECODING_FAILED error.
  </int>
</enum>

<enum name="NetInternalsUiFeature" type="int">
  <int value="0" label="NetInternals"/>
  <int value="1" label="Connection tester"/>
</enum>

<enum name="NetPreconnectUtilization" type="int">
  <int value="0" label="non-speculative, never connected"/>
  <int value="1" label="non-speculative, never used"/>
  <int value="2" label="non-speculative and used"/>
  <int value="3" label="omnibox never connected"/>
  <int value="4" label="omnibox never used"/>
  <int value="5" label="omnibox and used"/>
  <int value="6" label="subresource never connected"/>
  <int value="7" label="subresource never used"/>
  <int value="8" label="subresource and used"/>
</enum>

<enum name="Network3GGobiError" type="int">
  <summary>
    These error indexes are produced by QCErrorToMetricIndex() in
    gobi-cromo-plugin.
  </summary>
  <int value="0" label="NONE"/>
  <int value="1" label="QMI_HARDWARE_RESTRICTED"/>
</enum>

<enum name="NetworkAuthModeType" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="EAP-AKA"/>
  <int value="2" label="EAP-FAST"/>
  <int value="3" label="EAP-GPSK"/>
  <int value="4" label="EAP-GTC"/>
  <int value="5" label="EAP-IKEV2"/>
  <int value="6" label="EAP-LEAP"/>
  <int value="7" label="EAP-MD5"/>
  <int value="8" label="EAP-MSCHAPV2"/>
  <int value="9" label="EAP-OTP"/>
  <int value="10" label="EAP-PAX"/>
  <int value="11" label="EAP-PEAP"/>
  <int value="12" label="EAP-PSK"/>
  <int value="13" label="EAP-SAKE"/>
  <int value="14" label="EAP-SIM"/>
  <int value="15" label="EAP-TLS"/>
  <int value="16" label="EAP-TNC"/>
  <int value="17" label="EAP-TTLS"/>
</enum>

<enum name="NetworkCellular3GPPRegistrationDelayedDrop" type="int">
  <int value="0" label="Delayed drop posted">
    A signal loss in the cellular service was detected and a delayed connection
    drop request was posted. This request causes the cellular connection to be
    dropped if it is not cancelled within the delay provided.
  </int>
  <int value="1" label="Delayed drop canceled">
    Signal strength returned to normal soon after a delayed drop request was
    made, causing the request to be canceled. This indicates a flaky network.
  </int>
</enum>

<enum name="NetworkCellularOutOfCreditsReason" type="int">
  <int value="0" label="Connect-Disconnect Loop"/>
  <int value="1" label="TX-Queue Congestion"/>
  <int value="2" label="Elongated Time Wait"/>
</enum>

<enum name="NetworkCellularTechnology" type="int">
  <int value="0" label="1XRTT"/>
  <int value="1" label="EDGE"/>
  <int value="2" label="EVDO"/>
  <int value="3" label="GPRS"/>
  <int value="4" label="GSM"/>
  <int value="5" label="HSPA"/>
  <int value="6" label="HSPA_PLUS"/>
  <int value="7" label="LTE"/>
  <int value="8" label="UMTS"/>
  <int value="9" label="Unknown"/>
</enum>

<enum name="NetworkCellularUsageRequestStatus" type="int">
  <summary>
    Status code that we received in response to a cellular usage API request.
  </summary>
  <int value="0" label="Failed">
    This value is distinct from the others in that it indicates that we were
    unable to issue a request or that we received no reply. The other values
    represent the status code contained in a reply.
  </int>
  <int value="1" label="Ok"/>
  <int value="2" label="Error"/>
  <int value="3" label="Malformed Request"/>
  <int value="4" label="Internal Error"/>
  <int value="5" label="Service Unavailable"/>
  <int value="6" label="Request Refused"/>
  <int value="7" label="Unknown Device"/>
</enum>

<enum name="NetworkChannelType" type="int">
  <int value="0" label="UNDEF"/>
  <int value="1" label="2412"/>
  <int value="2" label="2417"/>
  <int value="3" label="2422"/>
  <int value="4" label="2427"/>
  <int value="5" label="2432"/>
  <int value="6" label="2437"/>
  <int value="7" label="2442"/>
  <int value="8" label="2447"/>
  <int value="9" label="2452"/>
  <int value="10" label="2457"/>
  <int value="11" label="2462"/>
  <int value="12" label="2467"/>
  <int value="13" label="2472"/>
  <int value="14" label="2484"/>
  <int value="15" label="5180"/>
  <int value="16" label="5200"/>
  <int value="17" label="5220"/>
  <int value="18" label="5240"/>
  <int value="19" label="5260"/>
  <int value="20" label="5280"/>
  <int value="21" label="5300"/>
  <int value="22" label="5320"/>
  <int value="23" label="5500"/>
  <int value="24" label="5520"/>
  <int value="25" label="5540"/>
  <int value="26" label="5560"/>
  <int value="27" label="5580"/>
  <int value="28" label="5600"/>
  <int value="29" label="5620"/>
  <int value="30" label="5640"/>
  <int value="31" label="5660"/>
  <int value="32" label="5680"/>
  <int value="33" label="5700"/>
  <int value="34" label="5745"/>
  <int value="35" label="5765"/>
  <int value="36" label="5785"/>
  <int value="37" label="5805"/>
  <int value="38" label="5825"/>
  <int value="39" label="5170"/>
  <int value="40" label="5190"/>
  <int value="41" label="5210"/>
  <int value="42" label="5230"/>
</enum>

<enum name="NetworkClockStates" type="int">
  <int value="0"
      label="NETWORK_CLOCK_STATE_UNKNOWN_NO_SYNC: accuracy of system clock is
             unknown because there is no information available from the
             network about what time it is (OBSOLETE)"/>
  <int value="1"
      label="NETWORK_CLOCK_STATE_UNKNOWN_SYNC_LOST: system clock is unknown
             because the system clock has fallen out of sync with the network
             clock since the last time that network time was retrieved"/>
  <int value="2"
      label="NETWORK_CLOCK_STATE_OK: system clock is roughly accurate
             relative to network time"/>
  <int value="3"
      label="NETWORK_CLOCK_STATE_CLOCK_IN_PAST: system clock is in the past
             relative to network time"/>
  <int value="4"
      label="NETWORK_CLOCK_STATE_CLOCK_IN_FUTURE: system clock is in the
             future relative to network time"/>
  <int value="5"
      label="NETWORK_CLOCK_STATE_UNKNOWN_NO_SYNC_ATTEMPT: accuracy of system
             clock is unknown because there has not yet been any attempt to
             query the network clock"/>
  <int value="6"
      label="NETWORK_CLOCK_STATE_UNKNOWN_NO_SUCCESSFUL_SYNC: accuracy of
             system clock is unknown because one or more attempts to sync
             with the network clock have failed"/>
  <int value="7"
      label="NETWORK_CLOCK_STATE_UNKNOWN_FIRST_SYNC_PENDING: accuracy of
             system clock is unknown because the first attempt to sync with
             the network clock is pending"/>
  <int value="8"
      label="NETWORK_CLOCK_STATE_UNKNOWN_SUBSEQUENT_SYNC_PENDING: accuracy of
             system clock is unknown because one or more attempts to sync
             with the network clock have failed, and a subsequent attempt is
             pending"/>
</enum>

<enum name="NetworkConnectionIPType" type="int">
  <int value="0" label="IPv4"/>
  <int value="1" label="IPv6"/>
</enum>

<enum name="NetworkConnectionType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Ethernet"/>
  <int value="2" label="WiFi"/>
  <int value="3" label="2g"/>
  <int value="4" label="3g"/>
  <int value="5" label="4g"/>
  <int value="6" label="None"/>
  <int value="7" label="Bluetooth"/>
</enum>

<enum name="NetworkCorruptedProfile" type="int">
  <int value="0" label="Corrupted Profile"/>
</enum>

<enum name="NetworkDhcpClientStatus" type="int">
  <int value="0" label="Arp Gateway">
    The DHCP client will attempt to identify the default gateway using a unicast
    ARP to the gateway's MAC address.  This may help speed up the re-connection
    process.
  </int>
  <int value="1" label="Arp Self">
    The DHCP client will attempt to ARP for the IP address that it was supplied.
    This indicates that the client is unsure whether the address it was assigned
    is valid.
  </int>
  <int value="2" label="Bound">
    The DHCP client has successfully acquired an IP address.
  </int>
  <int value="3" label="Discover">
    The DHCP client has inititated a DHCP DISCOVER, a broadcast request for any
    server to provide it with an address.
  </int>
  <int value="4" label="Additional Offer">
    The DHCP client has received more than one offer in response to its DHCP
    DISCOVER request.
  </int>
  <int value="5" label="Failed Offer">
    The DHCP client has received an offer in response to its DHCP DISCOVER which
    is the same as an address it previously failed to validate via an &quot;Arp
    Self&quot; test.
  </int>
  <int value="6" label="Invalid Offer">
    The DHCP client has received an offer in response to its DHCP DISCOVER which
    is either an all-zeros or all-ones IP address, and therefore invalid.
  </int>
  <int value="7" label="Ignore Non-Offer">
    The DHCP client has received a response to its DHCP DISCOVER which is not
    actually a DHCP OFFER.
  </int>
  <int value="8" label="Inform">
    The DHCP client has issued a DHCP INFORM message for an IP address it has
    self-assigned.
  </int>
  <int value="9" label="Init">
    The DHCP client is intializing its internal state.
  </int>
  <int value="10" label="Nak Defer">
    The DHCP client has received a DHCP NAK and will defer processing this
    response for a receive interval.
  </int>
  <int value="11" label="Rebind">
    The DHCP client is performing the second level &quot;rebind&quot; lease
    renewal stage, and has presumably failed the first level &quot;renew&quot;
    stage.
  </int>
  <int value="12" label="Reboot">
    The DHCP client is attempting to re-acquire a lease on a network where it
    had previously been connected at some time in the past.
  </int>
  <int value="13" label="Release">
    The DHCP client is releasing its current lease to its assigned IP address.
  </int>
  <int value="14" label="Renew">
    The DHCP client is performing a first level renewal of its current lease.
  </int>
  <int value="15" label="Request">
    The DHCP client is performing a DHCP REQUEST for a lease it has been
    offered.
  </int>
</enum>

<enum name="NetworkDHCPOptionFailure" type="int">
  <int value="0" label="DHCP Option Failure"/>
</enum>

<enum name="NetworkDisconnectType" type="int">
  <int value="0" label="System Disconnect"/>
  <int value="1" label="User Disconnect"/>
</enum>

<enum name="NetworkErrorType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Portal"/>
  <int value="2" label="Offline"/>
  <int value="3" label="Proxy"/>
  <int value="4" label="AuthExtTimeout"/>
  <int value="5" label="None"/>
</enum>

<enum name="NetworkLocationRequestEvent" type="int">
  <int value="0" label="REQUEST_START"/>
  <int value="1" label="REQUEST_CANCEL"/>
  <int value="2" label="RESPONSE_SUCCESS"/>
  <int value="3" label="RESPONSE_NOT_OK"/>
  <int value="4" label="RESPONSE_EMPTY"/>
  <int value="5" label="RESPONSE_MALFORMED"/>
  <int value="6" label="RESPONSE_INVALID_FIX"/>
</enum>

<enum name="NetworkPhyModeType" type="int">
  <int value="0" label="UNDEF"/>
  <int value="1" label="802.11a"/>
  <int value="2" label="802.11b"/>
  <int value="3" label="802.11g"/>
  <int value="4" label="802.11n"/>
  <int value="5" label="PSB 10MHz-wide"/>
  <int value="6" label="PSB 5MHz-wide"/>
  <int value="7" label="802.11ac"/>
</enum>

<enum name="NetworkPortalResult" type="int">
  <summary>
    The portal result types come from PortalResult in shill/metrics.h
  </summary>
  <int value="0" label="Success"/>
  <int value="1" label="DNS Failure"/>
  <int value="2" label="DNS Timeout"/>
  <int value="3" label="Connection Failure"/>
  <int value="4" label="Connection Timeout"/>
  <int value="5" label="HTTP Failure"/>
  <int value="6" label="HTTP Timeout"/>
  <int value="7" label="Content Failure"/>
  <int value="8" label="Content Timeout"/>
  <int value="9" label="Unknown"/>
</enum>

<enum name="NetworkProblemType" type="int">
  <int value="0" label="Congested TCP Queue"/>
  <int value="1" label="DNS Failure"/>
</enum>

<enum name="NetworkQueueStopReason" type="int">
  <summary>The stop reasons come from shill/mac80211_monitor.h.</summary>
  <int value="0" label="Device Driver"/>
  <int value="1" label="Power Save"/>
  <int value="2" label="Channel Switch Announcement"/>
  <int value="3" label="Aggregation"/>
  <int value="4" label="Suspend"/>
  <int value="5" label="Buffer Add"/>
  <int value="6" label="Channel Type Change"/>
</enum>

<enum name="NetworkQuietStatus" type="int">
  <int value="0" label="Had network 0-quiet for 0.5 seconds"/>
  <int value="1" label="Had network 2-quiet for 2 seconds"/>
</enum>

<enum name="NetworkSecurityType" type="int">
  <summary>
    The security types come from the connman_service_security enum in
    flimflam/include/service.h
  </summary>
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="NONE"/>
  <int value="2" label="WEP"/>
  <int value="3" label="WPA"/>
  <int value="4" label="802.11i/RSN"/>
  <int value="5" label="802.1x"/>
  <int value="6" label="PSK"/>
</enum>

<enum name="NetworkServiceError" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="AAA_FAILED"/>
  <int value="2" label="ACTIVATION_FAILED"/>
  <int value="3" label="BAD_PASSPHRASE"/>
  <int value="4" label="BAD_WEPKEY"/>
  <int value="5" label="CONNECT_FAILED"/>
  <int value="6" label="DHCP_FAILED"/>
  <int value="7" label="DNS_LOOKUP_FAILED"/>
  <int value="8" label="EAP_AUTHENTICATION_FAILED"/>
  <int value="9" label="EAP_LOCAL_TLS_FAILED"/>
  <int value="10" label="EAP_REMOTE_TLS_FAILED"/>
  <int value="11" label="HTTP_GET_FAILED"/>
  <int value="12" label="IPSEC_CERT_AUTH_FAILED"/>
  <int value="13" label="IPSEC_PSK_AUTH_FAILED"/>
  <int value="14" label="INTERNAL"/>
  <int value="15" label="NEED_EVDO"/>
  <int value="16" label="NEED_HOME_NETWORK"/>
  <int value="17" label="OTASP_FAILED"/>
  <int value="18" label="OUT_OF_RANGE"/>
  <int value="19" label="PPP_AUTH_FAILED"/>
  <int value="20" label="PIN_MISSING"/>
</enum>

<enum name="NetworkTechnology" type="int">
  <int value="0" label="Cellular"/>
  <int value="1" label="Ethernet"/>
  <int value="2" label="Ethernet EAP"/>
  <int value="3" label="WiFi"/>
  <int value="4" label="WiMax"/>
  <int value="5" label="VPN"/>
  <int value="6" label="Unknown"/>
</enum>

<enum name="NewTabPageActionAndroid" type="int">
  <obsolete>
    Deprecated as of 01/2017. Replaced by NewTabPageActionAndroid2.
  </obsolete>
  <int value="0" label="Searched using the omnibox"/>
  <int value="1" label="Navigated to Google search homepage using the omnibox"/>
  <int value="2" label="Navigated to any other page using the omnibox"/>
  <int value="3" label="Opened a most visited page"/>
  <int value="4" label="Opened a recently closed tab"/>
  <int value="5" label="Opened a bookmark"/>
  <int value="6" label="Opened a foreign session (from other devices section)"/>
  <int value="7" label="Navigated to the webpage for a snippet"/>
  <int value="8" label="DEPRECATED: Clicked on an interest item"/>
  <int value="9" label="Clicked on Learn More"/>
  <int value="10"
      label="Clicked on the Refresh button in the all dismissed state"/>
</enum>

<enum name="NewTabPageActionAndroid2" type="int">
  <int value="0" label="Searched using the omnibox"/>
  <int value="1" label="Navigated to Google search homepage using the omnibox"/>
  <int value="2" label="Navigated to any other page using the omnibox"/>
  <int value="3" label="Opened a most visited tile"/>
  <int value="4" label="Opened the recent tabs manager"/>
  <int value="5" label="Opened the history manager"/>
  <int value="6" label="Opened the bookmarks manager"/>
  <int value="7" label="Opened the downloads manager"/>
  <int value="8" label="Navigated to the webpage for a snippet"/>
  <int value="9" label="Clicked on Learn More"/>
  <int value="10"
      label="Clicked on the Refresh button in the all dismissed state"/>
</enum>

<enum name="NewTabPageBookmarkActionAndroid" type="int">
  <summary>
    These values are defined in PartnerBookmarkAction enum in
    chrome/browser/ui/webui/ntp/android/bookmarks_handler.cc.
  </summary>
  <int value="0" label="Deleted partner bookmark"/>
  <int value="1" label="Deleted root partner folder"/>
  <int value="2" label="Renamed partner bookmark"/>
  <int value="3" label="Renamed root partner folder"/>
</enum>

<enum name="NewTabPageLogoClick" type="int">
  <int value="0" label="Static logo clicked"/>
  <int value="1" label="CTA image clicked"/>
  <int value="2" label="Animated logo clicked"/>
</enum>

<enum name="NewTabPageLogoDownloadOutcome" type="int">
  <summary>
    These values are defined in LogoDownloadOutcome enum in
    components/search_provider_logos/logo_tracker.h.
  </summary>
  <int value="0" label="New logo success"/>
  <int value="1" label="No logo today"/>
  <int value="2" label="Download failed"/>
  <int value="3" label="Parsing failed"/>
  <int value="4" label="Decoding failed"/>
  <int value="5" label="Logo revalidated"/>
</enum>

<enum name="NewTabPageLogoShown" type="int">
  <int value="0" label="Static logo shown"/>
  <int value="1" label="CTA image shown"/>
</enum>

<enum name="NewTabPageMobilePromo" type="int">
  <summary>
    These values are defined inside the PromoImpressionBuckets enum in
    chrome/browser/ui/webui/ntp/android/promo_handler.cc
  </summary>
  <int value="0" label="Shown from most visited page"/>
  <int value="1" label="Shown from open tabs page"/>
  <int value="2" label="Shown from sync promo page"/>
  <int value="3" label="User pressed 'Try Chrome'"/>
  <int value="4" label="User dismissed the promo"/>
</enum>

<enum name="NewTabType" type="int">
  <int value="0" label="New tab button"/>
  <int value="1" label="Regular menu option"/>
  <int value="2" label="Tab strip menu option"/>
</enum>

<enum name="NewTabURLState" type="int">
  <int value="0" label="Valid URL was used"/>
  <int value="1" label="Corrupt state"/>
  <int value="2" label="Incognito window"/>
  <int value="3" label="No URL for default provider"/>
  <int value="4" label="Insecure URL"/>
  <int value="5" label="Suggest is disabled"/>
  <int value="6" label="URL blocked for supervised user"/>
</enum>

<enum name="NewUserPriorityPrefsSyncResult" type="int">
  <int value="0" label="Succeeded"/>
  <int value="1" label="Timed out"/>
</enum>

<enum name="NormalizedScore" type="int">
  <int value="0" label="Underflow bucket"/>
  <int value="1" label="Score in (0, 0.1]"/>
  <int value="2" label="Score in (0.1, 0.2]"/>
  <int value="3" label="Score in (0.2, 0.3]"/>
  <int value="4" label="Score in (0.3, 0.4]"/>
  <int value="5" label="Score in (0.4, 0.5]"/>
  <int value="6" label="Score in (0.5, 0.6]"/>
  <int value="7" label="Score in (0.6, 0.7]"/>
  <int value="8" label="Score in (0.7, 0.8]"/>
  <int value="9" label="Score in (0.8, 0.9]"/>
  <int value="10" label="Score in (0.9, 1.0]"/>
  <int value="11" label="Overflow bucket"/>
</enum>

<enum name="NoStatePrefetchResponseType" type="int">
  <int value="0" label="Sub-resource, cacheable"/>
  <int value="1" label="Sub-resource, no-store"/>
  <int value="2" label="Sub-resource redirect, cacheable"/>
  <int value="3" label="Sub-resource redirect, no-store"/>
  <int value="4" label="Main resource, cacheable"/>
  <int value="5" label="Main resource, no-store"/>
  <int value="6" label="Main resource redirect, cacheable"/>
  <int value="7" label="Main resource redirect, no-store"/>
</enum>

<enum name="NoteTakingAppLaunchResult" type="int">
  <int value="0" label="Chrome app launched successfully"/>
  <int value="1" label="Chrome app missing"/>
  <int value="2" label="Android app launched successfully"/>
  <int value="3" label="Android not supported by profile"/>
  <int value="4" label="Android not running"/>
  <int value="5" label="Couldn't convert path to Android URL"/>
  <int value="6" label="No app specified"/>
  <int value="7" label="No apps available"/>
</enum>

<enum name="NotificationActionType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Notification added"/>
  <int value="2" label="Notification updated"/>
  <int value="3" label="Notification clicked"/>
  <int value="4" label="Notification button clicked"/>
  <int value="5" label="Notification displayed"/>
  <int value="6" label="Notification closed by user"/>
  <int value="7" label="Notification closed by system"/>
</enum>

<enum name="NotificationAppStatus" type="int">
  <int value="0" label="Undeterminable (old Android version)"/>
  <int value="1" label="Undeterminable (exception thrown)"/>
  <int value="2" label="Enabled"/>
  <int value="3" label="Disabled"/>
</enum>

<enum name="NotificationDatabaseStatus" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Not found error"/>
  <int value="2" label="Corruption error"/>
  <int value="3" label="Failure error"/>
  <int value="4" label="I/O error"/>
  <int value="5" label="Not supported error"/>
  <int value="6" label="Invalid Argument error"/>
</enum>

<enum name="NotifierType" type="int">
  <int value="0" label="Application"/>
  <int value="1" label="Arc++"/>
  <int value="2" label="Web Page"/>
  <int value="3" label="System Component"/>
</enum>

<enum name="NotifyResult" type="int">
  <int value="0" label="PROCESS_NONE"/>
  <int value="1" label="PROCESS_NOTIFIED"/>
  <int value="2" label="PROFILE_IN_USE"/>
  <int value="3" label="LOCK_ERROR"/>
</enum>

<enum name="NotStreamingReason" type="int">
  <int value="0" label="Already loaded"/>
  <int value="1" label="Not HTTP"/>
  <int value="2" label="Reload"/>
  <int value="3" label="Context not valid"/>
  <int value="4" label="Encoding not supported"/>
  <int value="5" label="Thread busy"/>
  <int value="6" label="V8 cannot stream"/>
  <int value="7" label="Script too small"/>
</enum>

<enum name="NPAPIPluginStatus" type="int">
  <int value="0" label="Unsupported">
    NPAPI is not supported on this platform
  </int>
  <int value="1" label="Disabled">NPAPI is disabled</int>
  <int value="2" label="Enabled">NPAPI is enabled</int>
</enum>

<enum name="NQEEffectiveConnectionType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Offline"/>
  <int value="2" label="Slow 2G"/>
  <int value="3" label="2G"/>
  <int value="4" label="3G"/>
  <int value="5" label="4G"/>
  <int value="6" label="Broadband">
    <obsolete>
      Deprecated as of 01/2017.
    </obsolete>
  </int>
</enum>

<enum name="NQEExternalEstimateProviderStatus" type="int">
  <int value="0" label="External estimate provider was not available"/>
  <int value="1" label="External estimate provider was available"/>
  <int value="2" label="External estimate provider was queried"/>
  <int value="3" label="Query to external estimate provider was successful"/>
  <int value="4" label="Callback received from external estimate provider"/>
  <int value="5" label="RTT was available from the external estimate provider"/>
  <int value="6"
      label="Downlink bandwidth was available from the external estimate
             provider"/>
</enum>

<enum name="NQEObservationSource" type="int">
  <int value="0" label="HTTP"/>
  <int value="1" label="TCP"/>
  <int value="2" label="QUIC"/>
  <int value="3" label="HTTP-layer cached"/>
  <int value="4" label="HTTP-layer default"/>
  <int value="5" label="HTTP-layer external estimate provider"/>
  <int value="6" label="Transport-layer cached"/>
  <int value="7" label="Transport-layer default"/>
</enum>

<enum name="NtpFollowAction" type="int">
  <int value="0" label="PAGE_TRANSITION_LINK"/>
  <int value="1" label="PAGE_TRANSITION_TYPED"/>
  <int value="2" label="PAGE_TRANSITION_AUTO_BOOKMARK"/>
  <int value="3" label="PAGE_TRANSITION_AUTO_SUBFRAME"/>
  <int value="4" label="PAGE_TRANSITION_MANUAL_SUBFRAME"/>
  <int value="5" label="PAGE_TRANSITION_GENERATED"/>
  <int value="6" label="PAGE_TRANSITION_START_PAGE"/>
  <int value="7" label="PAGE_TRANSITION_FORM_SUBMIT"/>
  <int value="8" label="PAGE_TRANSITION_RELOAD"/>
  <int value="9" label="PAGE_TRANSITION_KEYWORD"/>
  <int value="10" label="PAGE_TRANSITION_KEYWORD_GENERATED"/>
  <int value="11" label="Clicked on a tile."/>
  <int value="12" label="Clicked to other NTP pane."/>
  <int value="13" label="Other action"/>
</enum>

<enum name="NTPImpressionType" type="int">
  <int value="0" label="regular NTP impression"/>
  <int value="1" label="potential NTP impression - no open tab"/>
</enum>

<enum name="NTPLayout" type="int">
  <int value="0" label="Doesn't fit, not expanding to cut off most likely"/>
  <int value="1" label="Doesn't fit, expanding to cut off most likely"/>
  <int value="2" label="Fits, field trial is not enabled"/>
  <int value="3" label="Fits, field trial is enabled but does not fit"/>
  <int value="4" label="Fits with field trial"/>
  <int value="5" label="Layout is condensed"/>
</enum>

<enum name="NTPLoadType" type="int">
  <int value="0" label="Cold startup"/>
  <int value="1" label="Warm startup"/>
  <int value="2" label="Other, not at startup"/>
</enum>

<enum name="NtpMostVisitedScheme" type="int">
  <obsolete>
    Deprecated 2016-05.
  </obsolete>
  <int value="0" label="Other (not web-safe)"/>
  <int value="1" label="Other (web-safe)"/>
  <int value="2" label="http://"/>
  <int value="3" label="https://"/>
  <int value="4" label="ftp://"/>
  <int value="5" label="file://"/>
  <int value="6" label="chrome://"/>
  <int value="7" label="chrome-extension://"/>
  <int value="8" label="javascript://"/>
</enum>

<enum name="NtpPaneType" type="int">
  <int value="1" label="MostVisited"/>
  <int value="2" label="Apps"/>
  <int value="3" label="Bookmarks"/>
  <int value="4" label="Suggestions"/>
</enum>

<enum name="NtpPromoAction" type="int">
  <int value="0" label="NTP Promo viewed"/>
  <int value="1" label="NTP Promo closed"/>
  <int value="2" label="NTP Promo link clicked"/>
</enum>

<enum name="NtpRequestThrottlerStatus" type="int">
  <int value="0" label="Interactive request - quota granted"/>
  <int value="1" label="Background request - quota granted"/>
  <int value="2" label="Background request - quota exceeded"/>
  <int value="3" label="Interactive request - quota exceeded"/>
</enum>

<enum name="NtpSnippetsFetchResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Empty hosts - deprecated"/>
  <int value="2" label="URLRequestStatus error"/>
  <int value="3" label="HTTP error"/>
  <int value="4" label="JSON parse error"/>
  <int value="5" label="Invalid snippet content"/>
  <int value="6" label="Error in obtaining oauth access token"/>
  <int value="7" label="Out of interactive quota - deprecated"/>
  <int value="8" label="Out of non-interactive quota - deprecated"/>
  <int value="9" label="No API key available"/>
</enum>

<enum name="NTPSnippetsState" type="int">
  <summary>
    The state of the RemoteSuggestionsProvider (formerly known as
    NTPSnippetsService).
  </summary>
<!-- Note: 0 corresponds to NOT_INITED, which should never be recorded. -->

  <int value="1" label="Ready"/>
  <int value="2" label="Disabled"/>
  <int value="3" label="Error"/>
</enum>

<enum name="NtpSuggestionsType" type="int">
  <int value="0" label="Client suggestion"/>
  <int value="1" label="Server suggestion"/>
</enum>

<enum name="NtpTileExperimentActions" type="int">
  <summary>
    The types of actions performed by the Most Visited Tile Placement
    experiment, used to identify the cases where the experiment could not
    operate as expected, and the reason for it.
  </summary>
  <int value="0" label="Removed URL that was already open in browser"/>
  <int value="1" label="Didn't remove URL, too few suggestions in MV"/>
  <int value="2" label="Too few URLs, didn't flip tiles 1 and 8"/>
  <int value="3" label="Too few URLs, didn't flip tiles 1 and 4"/>
</enum>

<enum name="NTPTileVisualType" type="int">
  <summary>The visual type of a most visited tile on the new tab page.</summary>
  <int value="0" label="None">The icon or thumbnail hasn't loaded yet.</int>
  <int value="1" label="IconReal">
    The item displays a site's actual favicon or touch icon.
  </int>
  <int value="2" label="IconColor">
    The item displays a color derived from the site's favicon or touch icon.
  </int>
  <int value="3" label="IconDefault">
    The item displays a default gray box in place of an icon.
  </int>
  <int value="4" label="DeprecatedThumbnailLocal">
    Deprecated: The item displays a locally-captured thumbnail of the site
    content.
  </int>
  <int value="5" label="DeprecatedThumbnailServer">
    Deprecated: The item displays a server-provided thumbnail of the site
    content.
  </int>
  <int value="6" label="DeprecatedThumbnailDefault">
    Deprecated: The item displays a default graphic in place of a thumbnail.
  </int>
  <int value="7" label="Thumbnail">
    The item displays a thumbnail of the page.
  </int>
  <int value="8" label="ThumbnailFailed">
    The item displays a default gray box in place of a thumbnail.
  </int>
</enum>

<enum name="NTSTATUS" type="int">
  <int value="-1073741818" label="0xC0000006 - STATUS_IN_PAGE_ERROR"/>
  <int value="-1073741808" label="0xC0000010 - STATUS_INVALID_DEVICE_REQUEST"/>
  <int value="-1073741803" label="0xC0000015 - STATUS_NONEXISTENT_SECTOR"/>
  <int value="-1073741790" label="0xC0000022 - STATUS_ACCESS_DENIED"/>
  <int value="-1073741697" label="0xC000007F - STATUS_DISK_FULL"/>
  <int value="-1073741668" label="0xC000009C - STATUS_DEVICE_DATA_ERROR"/>
  <int value="-1073741667" label="0xC000009D - STATUS_DEVICE_NOT_CONNECTED"/>
  <int value="-1073741643" label="0xC00000B5 - STATUS_IO_TIMEOUT"/>
  <int value="-1073741630" label="0xC00000C2 - STATUS_ADAPTER_HARDWARE_ERROR"/>
  <int value="-1073741591" label="0xC00000E9 - STATUS_UNEXPECTED_IO_ERROR"/>
  <int value="-1073741435" label="0xC0000185 - STATUS_IO_DEVICE_ERROR"/>
  <int value="-1073740669" label="0xC0000483 - STATUS_DEVICE_HARDWARE_ERROR"/>
  <int value="-1073740023" label="0xC0000709 - STATUS_HARDWARE_MEMORY_ERROR"/>
  <int value="0" label="0x00000000 - STATUS_SUCCESS"/>
</enum>

<enum name="NullableBoolean" type="int">
  <summary>
    A Nullable Boolean can True, False or Null (ie: unset or absent).
  </summary>
  <int value="0" label="False"/>
  <int value="1" label="True"/>
  <int value="2" label="Null"/>
</enum>

<enum name="OAuth2LoginAccountRevokedMigrationState" type="int">
  <int value="0" label="Account ID migration not started"/>
  <int value="1" label="Account ID migration in progress"/>
  <int value="2" label="Account ID migration done"/>
</enum>

<enum name="OAuth2LoginSeedState" type="int">
  <int value="0" label="Account was seeded before FireRefreshTokenRevoked"/>
  <int value="1" label="Account was seeded before FireRefreshTokenAvailable"/>
  <int value="2" label="Account was not seeded before FireRefreshTokenRevoked"/>
  <int value="3"
      label="Account was not seeded before FireRefreshTokenAvailable"/>
</enum>

<enum name="OfflinePagesAggregatedRequestResult" type="int">
  <int value="0" label="Show offline page on disconnected network"/>
  <int value="1" label="Page not found on disconnected network"/>
  <int value="2" label="Show offline page on flaky network"/>
  <int value="3" label="Page not found on flaky network"/>
  <int value="4" label="Show offline page on prohibitively slow network"/>
  <int value="5" label="Page not found on prohibitively slow network"/>
  <int value="6" label="Page not fresh on prohibitively slow network"/>
  <int value="7" label="Show offline page on connected network"/>
  <int value="8" label="Page not found on connected network"/>
  <int value="9" label="Android Tab does not have persistent ID"/>
  <int value="10" label="No web contents"/>
  <int value="11" label="Unknown net error, showing error page"/>
  <int value="12" label="Redirected on disconnected network"/>
  <int value="13" label="Redirected on flaky network"/>
  <int value="14" label="Redirected on prohibitively slow network"/>
  <int value="15" label="Redirected on connected network"/>
</enum>

<enum name="OfflinePagesBackgroundImmediateStartStatus" type="int">
  <int value="0" label="Started"/>
  <int value="1" label="Busy"/>
  <int value="2" label="Not accepted by loader"/>
  <int value="3" label="No connection"/>
  <int value="4"
      label="Weak connection (according to network quality estimator)"/>
  <int value="5" label="Not started on svelte device"/>
</enum>

<enum name="OfflinePagesBackgroundOfflinerRequestStatus" type="int">
<!-- Generated from components/offline_pages/background/offliner.h -->

  <int value="0" label="Unknown (not expected to be recorded)"/>
  <int value="1" label="Loaded (not expected to be recorded)"/>
  <int value="2" label="Saved"/>
  <int value="3" label="RequestCoordinator canceled"/>
  <int value="4" label="Loading canceled"/>
  <int value="5" label="Loading failed (retryable)"/>
  <int value="6" label="Save failed"/>
  <int value="7" label="Foreground transition canceled"/>
  <int value="8" label="RequestCoordinator timed-out"/>
  <int value="9" label="Loading not started (deprecated 1/2017)"/>
  <int value="10" label="Loading failed (non-retryable)"/>
  <int value="11" label="Loading failed (don't start next request)"/>
  <int value="12" label="Loading not accepted"/>
  <int value="13" label="Queue update failed"/>
  <int value="14" label="Background scheduler canceled processing"/>
  <int value="15" label="Saved after timeout on last retry"/>
</enum>

<enum name="OfflinePagesBackgroundSavePageResult" type="int">
<!-- Generated from components/offline_pages/core/background/request_notifier.h -->

  <int value="0" label="Success"/>
  <int value="1" label="Loading failure"/>
  <int value="2" label="Loading canceled"/>
  <int value="3" label="Foreground canceled"/>
  <int value="4" label="Save failed"/>
  <int value="5" label="Expired"/>
  <int value="6" label="Retry count exceeded"/>
  <int value="7" label="Start count exceeded"/>
  <int value="8" label="Removed"/>
</enum>

<enum name="OfflinePagesCctApiPrerenderAllowedStatus" type="int">
  <int value="0" label="PrerenderAllowed"/>
  <int value="1" label="ThirdPartyCookiesDisabled"/>
  <int value="2" label="NetworkPredictionDisabled"/>
</enum>

<enum name="OfflinePagesClearAllStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Store reset failed"/>
  <int value="2" label="Store reload failed"/>
</enum>

<enum name="OfflinePagesClearStorageResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Unnecessary to clean"/>
  <int value="2" label="Page expiration failed (deprecated 11/2016)"/>
  <int value="3" label="Page record deletion failed"/>
  <int value="4"
      label="Both expiration and deletion failed (deprecated 11/2016)"/>
</enum>

<enum name="OfflinePagesDeletePageResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Cancelled"/>
  <int value="2" label="Store failure"/>
  <int value="3" label="Device failure"/>
  <int value="4" label="Not found"/>
</enum>

<enum name="OfflinePagesLoadStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Store init failed"/>
  <int value="2" label="Store load failed"/>
  <int value="3" label="Data parsing failed"/>
</enum>

<enum name="OfflinePagesRedirectResult" type="int">
  <obsolete>
    Deprecated 2016-08.
  </obsolete>
  <int value="0" label="Redirected on disconnected network"/>
  <int value="1" label="Page not found on disconnected network"/>
  <int value="2" label="Redirected on flaky network"/>
  <int value="3" label="Page not found on flaky network"/>
  <int value="4" label="Ignored flaky network forward/back"/>
  <int value="5" label="Redirected on connected network"/>
  <int value="6" label="Android Tab does not have persistent ID"/>
  <int value="7" label="Unknown net error, showing error page"/>
  <int value="8" label="Redirect loop offline"/>
  <int value="9" label="Redirect loop online"/>
</enum>

<enum name="OfflinePagesSavePageResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Cancelled"/>
  <int value="2" label="Device full"/>
  <int value="3" label="Content unavailable"/>
  <int value="4" label="Archive creation failed"/>
  <int value="5" label="Store failure"/>
  <int value="6" label="Already exists"/>
  <int value="7" label="Skipped"/>
  <int value="8" label="Security certificate error"/>
  <int value="9" label="Error page detected"/>
  <int value="10" label="Interstitial page detected"/>
</enum>

<enum name="OfflinePagesSharedPageWasOffline" type="int">
  <int value="0" label="Online"/>
  <int value="1" label="Offline"/>
</enum>

<enum name="OfflinePagesTabRestoreType" type="int">
  <int value="0" label="While online">
    Tab was successfully restored while the device was online. Can help assess
    the potential benefit of allowing loading from offline pages even when the
    device is online.
  </int>
  <int value="1" label="While online, can't be saved for offline usage">
    Tab was successfully restored while the device was online but in a context
    that wouldn't allow it to be saved as an offline page: not HTTP/HTTPS or in
    an incognito tab.
  </int>
  <int value="2" label="While online, to an offline page">
    Tab was successfully restored to a non-last_n offline page while the device
    was online. This will happen when a tab is specifically loading a downloaded
    offline page.
  </int>
  <int value="3" label="While online, to an offline page saved by last_n">
    Tab was successfully restored to a last_n offline page while the device was
    online. This will only happen if/when loading of last_n pages is allowed in
    online situations.
  </int>
  <int value="4" label="While offline">
    Tab was successfully restored while the device was offline. The page was
    most probably loaded from cache without revalidation.
  </int>
  <int value="5" label="While offline, can't be saved for offline usage">
    Tab was successfully restored while the device was offline but in a context
    that wouldn't have allowed it to be saved as an offline page: not HTTP/HTTPS
    or in an incognito tab. This includes tab restores to the NTP or other
    chrome: pages.
  </int>
  <int value="6" label="While offline, to an offline page">
    Tab was successfully restored to a non-last_n offline page while the device
    was offline. This will happen when a tab had an associated offline page that
    was not saved by last_n.
  </int>
  <int value="7" label="While offline, to an offline page saved by last_n">
    Tab was successfully restored to a last_n offline page while the device was
    offline.
  </int>
  <int value="8" label="Failed">
    Tab failed being restored and an error page was presented. This represents
    any kind of failure and not only dino pages.
  </int>
  <int value="9" label="Crashed">
    The tab's renderer process crashed while it was being restored.
  </int>
</enum>

<enum name="OfflineStatus" type="int">
  <obsolete>
    Deprecated 4/2015.
  </obsolete>
  <int value="0" label="Fresh data load from Cache"/>
  <int value="1" label="Successful network request (validation or fetch)."/>
  <int value="2" label="Failed network request (non-offline error)."/>
  <int value="3" label="Server offline and stale data available."/>
  <int value="4" label="Server offline and stale data not available."/>
</enum>

<enum name="OffscreenCanvasCommitType" type="int">
  <int value="0" label="GPUCanvasGPUCompositing"/>
  <int value="1" label="GPUCanvasSoftwareCompositing"/>
  <int value="2" label="SoftwareCanvasGPUCompositing"/>
  <int value="3" label="SoftwareCanvasSoftwareCompositing"/>
</enum>

<enum name="OmniboxAggressiveHistoryURLProviderFieldTrialBeacon" type="int">
  <int value="0" label="disabled by flags"/>
  <int value="1" label="enabled by flags"/>
  <int value="2" label="auto, not in trial"/>
  <int value="3" label="auto, disabled in trial"/>
  <int value="4" label="auto, enabled in trial"/>
</enum>

<enum name="OmniboxEnteredKeywordMode" type="int">
  <int value="0" label="via tab"/>
  <int value="1" label="via space at end"/>
  <int value="2" label="via space in middle"/>
  <int value="3" label="keyboard shortcut"/>
  <int value="4" label="question mark"/>
  <int value="5" label="mouse click on hint view"/>
  <int value="6" label="tap gesture on hint view"/>
</enum>

<enum name="OmniboxInputType" type="int">
  <int value="0" label="invalid"/>
  <int value="1" label="unknown"/>
  <int value="2" label="deprecated: requested url"/>
  <int value="3" label="url"/>
  <int value="4" label="query"/>
  <int value="5" label="forced query"/>
</enum>

<enum name="OmniboxPageContext" type="int">
  <int value="0" label="invalid spec; shouldn't happen"/>
  <int value="1"
      label="extension-replaced new tab page OR obsolete new tab page"/>
  <int value="2" label="about:blank"/>
  <int value="3" label="the user's home page"/>
  <int value="4" label="other (typically an arbitrary URL)"/>
  <int value="5" label="obsolete: instant new tab page"/>
  <int value="6" label="search results page with search term replacement"/>
  <int value="7" label="new tab page with omnibox as starting focus"/>
  <int value="8" label="new tab page with fakebox as starting focus"/>
  <int value="9" label="search results page without search term replacement"/>
  <int value="10" label="home screen"/>
  <int value="11" label="search app"/>
  <int value="12" label="maps app"/>
</enum>

<enum name="OmniboxProviderAndResultType" type="int">
  <int value="101" label="URL_WHAT_YOU_TYPED via HistoryURL provider"/>
  <int value="102" label="HISTORY_URL via HistoryURL provider"/>
  <int value="302" label="HISTORY_URL via HistoryQuick provider"/>
  <int value="303" label="HISTORY_TITLE via HistoryQuick provider"/>
  <int value="406" label="NAVSUGGEST via SearchProvider"/>
  <int value="407" label="SEARCH_WHAT_YOU_TYPED via SearchProvider"/>
  <int value="408" label="SEARCH_HISTORY via SearchProvider"/>
  <int value="409" label="SEARCH_SUGGEST via SearchProvider"/>
  <int value="410" label="SEARCH_OTHER_ENGINE via SearchProvider"/>
  <int value="414" label="SEARCH_SUGGEST_ENTITY via SearchProvider"/>
  <int value="415" label="SEARCH_SUGGEST_TAIL via SearchProvider"/>
  <int value="416" label="SEARCH_SUGGEST_PERSONALIZED via SearchProvider"/>
  <int value="422" label="SEARCH_SUGGEST_ANSWER via SearchProvider"/>
  <int value="423" label="CALCULATOR via SearchProvider"/>
  <int value="505" label="HISTORY_KEYWORD via KeywordProvider"/>
  <int value="510" label="SEARCH_OTHER_ENGINE via KeywordProvider"/>
  <int value="606" label="NAVSUGGEST via BuiltinProvider"/>
  <int value="700" label="UNKNOWN_RESULT_TYPE via Shortcuts provider"/>
  <int value="701" label="URL_WHAT_YOU_TYPED via Shortcuts provider"/>
  <int value="702" label="HISTORY_URL via Shortcuts provider"/>
  <int value="703" label="HISTORY_TITLE via Shortcuts provider"/>
  <int value="705" label="HISTORY_KEYWORD via Shortcuts provider"/>
  <int value="708" label="SEARCH_HISTORY via Shortcuts provider"/>
  <int value="710" label="SEARCH_OTHER_ENGINE via Shortcuts provider"/>
  <int value="713" label="BOOKMARK_TITLE via Shortcuts provider"/>
  <int value="716" label="SEARCH_SUGGEST_PERSONALIZED via Shortcuts provider"/>
  <int value="717" label="SEARCH_SUGGEST_PROFILE via Shortcuts provider"/>
  <int value="1013" label="BOOKMARK_TITLE via BookmarkProvider"/>
  <int value="1106" label="NAVSUGGEST via ZeroSuggest"/>
  <int value="1109" label="SEARCH_SUGGEST via ZeroSuggest"/>
  <int value="1116" label="SEARCH_SUGGEST_PERSONALIZED via ZeroSuggest"/>
  <int value="1202" label="HISTORY_URL from on-device service"/>
  <int value="1212" label="CONTACT from on-device service"/>
  <int value="1218" label="APP_RESULT from on-device service"/>
  <int value="1219" label="APP from on-device service"/>
  <int value="1220" label="LEGACY_ON_DEVICE from on-device service"/>
  <int value="1424" label="CLIPBOARD from Clipboard provider"/>
</enum>

<enum name="OmniboxProviderType" type="int">
  <int value="1" label="HistoryURL"/>
  <int value="2" label="deprecated: HistoryContents"/>
  <int value="3" label="HistoryQuick"/>
  <int value="4" label="SearchProvider"/>
  <int value="5" label="KeywordProvider"/>
  <int value="6" label="BuiltinProvider"/>
  <int value="7" label="ShortcutsProvider"/>
  <int value="8" label="deprecated: ExtensionAppProvider"/>
  <int value="9" label="deprecated: ContactsProvider"/>
  <int value="10" label="BookmarkProvider"/>
  <int value="11" label="ZeroSuggest"/>
  <int value="12" label="on device (only used by Android GSA)"/>
  <int value="13" label="on device chrome (chrome content provider)"/>
  <int value="14" label="clipboard provider"/>
</enum>

<enum name="OmniboxSearchEngine" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Google"/>
  <int value="2" label="Yahoo!"/>
  <int value="3" label="Bing"/>
  <int value="4" label="Ask"/>
  <int value="5" label="Yahoo! Quebec"/>
  <int value="6" label="OK.hu"/>
  <int value="7" label="Bing French and Arabic"/>
  <int value="11" label="Yamli"/>
  <int value="12" label="Araby"/>
  <int value="13" label="Maktoob"/>
  <int value="14" label="Masrawy"/>
  <int value="15" label="Yandex"/>
  <int value="16" label="Rambler"/>
  <int value="17" label="TUT.BY"/>
  <int value="18" label="hispavista"/>
  <int value="19" label="Jabse"/>
  <int value="20" label="NUR.KZ"/>
  <int value="21" label="Baidu"/>
  <int value="22" label="search.ch"/>
  <int value="23" label="goo"/>
  <int value="24" label="Pogodak!"/>
  <int value="25" label="Seznam"/>
  <int value="26" label="Centrum"/>
  <int value="27" label="Atlas"/>
  <int value="28" label="Jubii"/>
  <int value="29" label="Eniro"/>
  <int value="30" label="NetSprint"/>
  <int value="32" label="diri"/>
  <int value="33" label="Custom"/>
  <int value="35" label="AOL"/>
  <int value="36" label="Conduit"/>
  <int value="37" label="Rediff"/>
  <int value="38" label="guruji"/>
  <int value="40" label="GO.com"/>
  <int value="41" label="Rednano"/>
  <int value="44" label="NETI"/>
  <int value="45" label="DELFI"/>
  <int value="46" label="Fonecta 02.fi"/>
  <int value="50" label="AVG"/>
  <int value="51" label="search.ch"/>
  <int value="54" label="in.gr"/>
  <int value="55" label="Walla!"/>
  <int value="59" label="leit.is"/>
  <int value="62" label="Virgilio"/>
  <int value="63" label="Libero"/>
  <int value="67" label="Naver"/>
  <int value="68" label="Daum"/>
  <int value="69" label="Nate"/>
  <int value="71" label="LATNE"/>
  <int value="72" label="ABC S.k"/>
  <int value="73" label="Kvasir"/>
  <int value="75" label="Onet.pl"/>
  <int value="76" label="Wirtualna Polska"/>
  <int value="77" label="SAPO"/>
  <int value="82" label="UOL Busca"/>
  <int value="83" label="@MAIL.RU"/>
  <int value="85" label="Zoznam"/>
  <int value="87" label="Najdi.si"/>
  <int value="88" label="360"/>
  <int value="89" label="AltaVista"/>
  <int value="90" label="Terra"/>
  <int value="99" label="Spray"/>
  <int value="100" label="Sanook!"/>
  <int value="101" label="MYNET"/>
  <int value="102" label="searchnu.com"/>
  <int value="103" label="babylon.com"/>
  <int value="104" label="delta-search.com"/>
  <int value="105" label="iminent.com"/>
  <int value="106" label="hao123.com"/>
  <int value="107" label="sweetim.com"/>
  <int value="108" label="snap.do"/>
  <int value="109" label="snapdo.com"/>
  <int value="110" label="softonic.com"/>
  <int value="111" label="searchfunmoods.com"/>
  <int value="112" label="incredibar.com"/>
  <int value="113" label="sweetpacks.com"/>
  <int value="114" label="imesh.net"/>
</enum>

<enum name="OmniboxSearchEngineType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="AOL"/>
  <int value="2" label="Ask"/>
  <int value="3" label="Atlas"/>
  <int value="4" label="AVG"/>
  <int value="5" label="Baidu"/>
  <int value="6" label="Babylon"/>
  <int value="7" label="Bing"/>
  <int value="8" label="Conduit"/>
  <int value="9" label="Daum"/>
  <int value="10" label="DELFI"/>
  <int value="11" label="Delta"/>
  <int value="12" label="Funmoods"/>
  <int value="13" label="goo"/>
  <int value="14" label="Google"/>
  <int value="15" label="iminent.com"/>
  <int value="16" label="IMesh"/>
  <int value="17" label="in.gr"/>
  <int value="18" label="incredibar.com"/>
  <int value="19" label="Kvasir"/>
  <int value="20" label="Libero"/>
  <int value="21" label="@MAIL.RU"/>
  <int value="22" label="Najdi.si"/>
  <int value="23" label="Nate"/>
  <int value="24" label="Naver"/>
  <int value="25" label="NETI"/>
  <int value="26" label="Nigma"/>
  <int value="27" label="OK.hu"/>
  <int value="28" label="Onet.pl"/>
  <int value="29" label="Rambler"/>
  <int value="30" label="SAPO"/>
  <int value="31" label="searchnu"/>
  <int value="32" label="search-results.com"/>
  <int value="33" label="Seznam"/>
  <int value="34" label="snap.do"/>
  <int value="35" label="softonic.com"/>
  <int value="36" label="Sogou"/>
  <int value="37" label="Soso"/>
  <int value="38" label="sweetim.com/sweetpacks.com"/>
  <int value="39" label="Terra"/>
  <int value="40" label="TUT.BY"/>
  <int value="41" label="Vinden.nl"/>
  <int value="42" label="Virgilio"/>
  <int value="43" label="Walla!"/>
  <int value="44" label="Wirtualna Polska"/>
  <int value="45" label="Yahoo!"/>
  <int value="46" label="Yandex"/>
  <int value="47" label="Zoznam"/>
</enum>

<enum name="OmniboxSuggestRequests" type="int">
  <int value="1" label="requests sent"/>
  <int value="2" label="requests invalidated"/>
  <int value="3" label="(non-invalidated) replies received"/>
</enum>

<enum name="OmniboxSummarizedResultType" type="int">
  <int value="0" label="URL"/>
  <int value="1" label="search"/>
  <int value="2" label="app/extension"/>
  <int value="3" label="contact"/>
  <int value="4" label="on-device"/>
  <int value="5" label="unknown"/>
</enum>

<enum name="OmniboxUserTextCleared" type="int">
  <int value="0" label="cleared by editing"/>
  <int value="1" label="cleared with escape"/>
</enum>

<enum name="OmniboxZeroSuggestRequests" type="int">
  <int value="1" label="requests sent"/>
  <int value="2" label="requests invalidated"/>
  <int value="3" label="(non-invalidated) replies received"/>
</enum>

<enum name="OpenFileSystemResult" type="int">
  <int value="0" label="OK."/>
  <int value="1" label="In incognito mode."/>
  <int value="2" label="Invalid scheme."/>
  <int value="3" label="Failed to create directory."/>
</enum>

<enum name="OpenLinkAsUser" type="int">
  <int value="0" label="Active profile."/>
  <int value="1" label="Inactive, multi-profile."/>
  <int value="2" label="Inactive, single-profile."/>
</enum>

<enum name="OpenLinkAsUserProfilesState" type="int">
  <int value="0" label="No other active profiles."/>
  <int value="1" label="Active other profiles."/>
</enum>

<enum name="OriginTrialEnableResult" type="int">
  <obsolete>
    Obsolete as of M54 and replaced by OriginTrialTokenStatus.
  </obsolete>
  <int value="0" label="Success"/>
  <int value="1" label="NotSupported"/>
  <int value="2" label="Insecure"/>
  <int value="3" label="NoTokens"/>
  <int value="4" label="Expired"/>
  <int value="5" label="WrongFeature"/>
  <int value="6" label="WrongOrigin"/>
  <int value="7" label="InvalidSignature"/>
  <int value="8" label="Malformed"/>
  <int value="9" label="WrongVersion"/>
  <int value="10" label="FeatureDisabled"/>
</enum>

<enum name="OriginTrialMessageGeneratedResult" type="int">
  <obsolete>
    Obsolete as of Chrome 54.
  </obsolete>
  <int value="0" label="NotRequested"/>
  <int value="1" label="Yes"/>
  <int value="2" label="No"/>
</enum>

<enum name="OriginTrialTokenStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="NotSupported"/>
  <int value="2" label="Insecure"/>
  <int value="3" label="Expired"/>
  <int value="4" label="WrongOrigin"/>
  <int value="5" label="InvalidSignature"/>
  <int value="6" label="Malformed"/>
  <int value="7" label="WrongVersion"/>
  <int value="8" label="FeatureDisabled"/>
  <int value="9" label="TokenDisabled"/>
</enum>

<enum name="OSAgnosticErrno" type="int">
  <summary>Errno values with the same meanings on Mac/Win/Linux.</summary>
  <int value="0" label="0">No error</int>
  <int value="1" label="EPERM">Operation not permitted</int>
  <int value="2" label="ENOENT">No such file or directory</int>
  <int value="3" label="ESRCH">No such process</int>
  <int value="4" label="EINTR">Interrupted function call</int>
  <int value="5" label="EIO">Input/output error</int>
  <int value="6" label="ENXIO">No such device or address</int>
  <int value="7" label="E2BIG">Arg list too long</int>
  <int value="8" label="ENOEXEC">Exec format error</int>
  <int value="9" label="EBADF">Bad file descriptor</int>
  <int value="10" label="ECHILD">No child processes</int>
  <int value="11" label="EDEADLK">Resource deadlock avoided</int>
  <int value="12" label="ENOMEM">Cannot allocate memory</int>
  <int value="13" label="EACCES">Permission denied</int>
  <int value="14" label="EFAULT">Bad address</int>
  <int value="15" label="ENOTBLK">Not a block device</int>
  <int value="16" label="EBUSY">Resource busy</int>
  <int value="17" label="EEXIST">File exists</int>
  <int value="18" label="EXDEV">Improper link</int>
  <int value="19" label="ENODEV">Operation not supported by device</int>
  <int value="20" label="ENOTDIR">Not a directory</int>
  <int value="21" label="EISDIR">Is a directory</int>
  <int value="22" label="EINVAL">Invalid argument</int>
  <int value="23" label="ENFILE">Too many open files in system</int>
  <int value="24" label="EMFILE">Too many open files</int>
  <int value="25" label="ENOTTY">Inappropriate ioctl for device</int>
  <int value="26" label="ETXTBSY">Text file busy</int>
  <int value="27" label="EFBIG">File too large</int>
  <int value="28" label="ENOSPC">Device out of space</int>
  <int value="29" label="ESPIPE">Illegal seek</int>
  <int value="30" label="EROFS">Read-only file system</int>
  <int value="31" label="EMLINK">Too many links</int>
  <int value="32" label="EPIPE">Broken pipe</int>
  <int value="33" label="EDOM">Numerical argument out of domain</int>
  <int value="34" label="ERANGE">Numerical result out of range</int>
</enum>

<enum name="OsSuite" type="int">
  <int value="0" label="Windows Home Edition"/>
  <int value="1" label="Windows Professional Edition (or better)"/>
  <int value="2" label="Windows Server Edition"/>
</enum>

<enum name="OSXExceptionHandlerEvents" type="int">
  <int value="0" label="EXCEPTION_ACCESSIBILITY">
    Object does not support accessibility attributes
  </int>
  <int value="1" label="EXCEPTION_MENU_ITEM_BOUNDS_CHECK">
    Forced crash due to menu item bounds checking failure
  </int>
  <int value="2" label="EXCEPTION_VIEW_NOT_IN_WINDOW">
    Forced crash due to view not in a window requiring a window
  </int>
  <int value="3" label="EXCEPTION_NSURL_INIT_NIL">
    Whitelisted exception for bug 85463.  Suspect ImageKit conversions for media
    browser in open or save panel.
  </int>
  <int value="4" label="EXCEPTION_NSDATADETECTOR_NIL_STRING">
    Whitelisted exception for bug 316759.  Suspect background address detection,
    field unknown.
  </int>
  <int value="5" label="EXCEPTION_NSREGULAREXPRESSION_NIL_STRING">
    Whitelisted exception for bug 466076.  Suspect background address detection,
    field unknown.
  </int>
</enum>

<enum name="OSXFullscreenParameters" type="int">
  <int value="0" label="IMMERSIVE_SECONDARY_SHARED_SINGLE">INVALID</int>
  <int value="1" label="APPKIT_SECONDARY_SHARED_SINGLE">INVALID</int>
  <int value="2" label="IMMERSIVE_PRIMARY_SHARED_SINGLE">
    Immersive Mechanism + Primary Screen + Shared Spaces + Single Screen
  </int>
  <int value="3" label="APPKIT_PRIMARY_SHARED_SINGLE">
    AppKit Mechanism + Primary Screen + Shared Spaces + Single Screen
  </int>
  <int value="4" label="IMMERSIVE_SECONDARY_SEPARATE_SINGLE">INVALID</int>
  <int value="5" label="APPKIT_SECONDARY_SEPARATE_SINGLE">INVALID</int>
  <int value="6" label="IMMERSIVE_PRIMARY_SEPARATE_SINGLE">
    Immersive Mechanism + Primary Screen + Separate Spaces + Single Screen
  </int>
  <int value="7" label="APPKIT_PRIMARY_SEPARATE_SINGLE">
    AppKit Mechanism + Primary Screen + Separate Spaces + Single Screen
  </int>
  <int value="8" label="IMMERSIVE_SECONDARY_SHARED_MULTIPLE">
    Immersive Mechanism + Secondary Screen + Shared Spaces + Multiple Screens
  </int>
  <int value="9" label="APPKIT_SECONDARY_SHARED_MULTIPLE">
    AppKit Mechanism + Secondary Screen + Shared Spaces + Multiple Screens
  </int>
  <int value="10" label="IMMERSIVE_PRIMARY_SHARED_MULTIPLE">
    Immersive Mechanism + Primary Screen + Shared Spaces + Multiple Screens
  </int>
  <int value="11" label="APPKIT_PRIMARY_SHARED_MULTIPLE">
    AppKit Mechanism + Primary Screen + Shared Spaces + Multiple Screens
  </int>
  <int value="12" label="IMMERSIVE_SECONDARY_SEPARATE_MULTIPLE">
    Immersive Mechanism + Secondary Screen + Separate Spaces + Multiple Screens
  </int>
  <int value="13" label="APPKIT_SECONDARY_SEPARATE_MULTIPLE">
    AppKit Mechanism + Secondary Screen + Separate Spaces + Multiple Screens
  </int>
  <int value="14" label="IMMERSIVE_PRIMARY_SEPARATE_MULTIPLE">
    Immersive Mechanism + Primary Screen + Separate Spaces + Multiple Screens
  </int>
  <int value="15" label="APPKIT_PRIMARY_SEPARATE_MULTIPLE">
    AppKit Mechanism + Primary Screen + Separate Spaces + Multiple Screens
  </int>
</enum>

<enum name="OSXFullscreenStyle" type="int">
  <int value="0" label="IMMERSIVE">
    The window was fullscreened using the immersive mechanism.
  </int>
  <int value="1" label="PRESENTATION_MODE">
    The window was fullscreened using the AppKit mechanism, in Presentation
    Mode.
  </int>
  <int value="2" label="CANONICAL_FULLSCREEN">
    The window was fullscreened using the AppKit mechanism, in Canonical
    Fullscreen.
  </int>
</enum>

<enum name="OSXFullscreenWindowLocation" type="int">
  <int value="0" label="PRIMARY_SINGLE_SCREEN">
    The window was located on the primary screen, and there is only a single
    screen available.
  </int>
  <int value="1" label="PRIMARY_MULTIPLE_SCREEN">
    The window was located on the primary screen, and there are multiple screens
    available.
  </int>
  <int value="2" label="SECONDARY_MULTIPLE_SCREEN">
    The window was located on a secondary screen, and there are multiple screens
    available.
  </int>
</enum>

<enum name="OSXHandoffOrigin" type="int">
  <int value="0" label="Unknown Origin"/>
  <int value="1" label="Chrome on iOS"/>
  <int value="2" label="Chrome on Mac"/>
</enum>

<enum name="OSXScreensHaveSeparateSpaces" type="int">
  <int value="0" label="CANNOT_HAVE_SEPARATE_SPACES">
    The &quot;Screens Have Separate Spaces&quot; option is unavailable.
  </int>
  <int value="1" label="SEPARATE_SPACES">
    The &quot;Screens Have Separate Spaces&quot; option is on.
  </int>
  <int value="2" label="SHARED_SPACES">
    The &quot;Screens Have Separate Spaces&quot; option is off.
  </int>
</enum>

<enum name="OSXSharedMemoryMechanism" type="int">
  <int value="0" label="POSIX">
    The shared memory region is backed by a POSIX fd.
  </int>
  <int value="1" label="MACH">
    The shared memory region is backed by a Mach memory object.
  </int>
</enum>

<enum name="OtherPossibleUsernamesUsage" type="int">
  <int value="0" label="Nothing to Autofill"/>
  <int value="1" label="No other possible usernames"/>
  <int value="2" label="Other possible usernames present, but none were shown"/>
  <int value="3" label="Other possible username was shown, but not selected"/>
  <int value="4" label="Other possible username was selected"/>
</enum>

<enum name="OtherSessionsActions" type="int">
  <int value="0" label="Menu initialized"/>
  <int value="1" label="Menu shown"/>
  <int value="2" label="Link clicked"/>
  <int value="3" label="Link context menu shown"/>
  <int value="4" label="Device context menu shown"/>
  <int value="5" label="Unused/previous device context menu shown"/>
  <int value="6" label="Collapse Session"/>
  <int value="7" label="Expand Session"/>
  <int value="8" label="Open All"/>
  <int value="9" label="Has foreign data"/>
  <int value="10" label="Hide for now"/>
</enum>

<enum name="OutputDeviceStatus" type="int">
  <int value="0" label="Ok"/>
  <int value="1" label="Not found"/>
  <int value="2" label="Not authorized"/>
  <int value="3" label="Authorization timed out"/>
  <int value="4" label="Internal error"/>
</enum>

<enum name="OverscrollMode" type="int">
  <summary>Direction of the overscroll gesture.</summary>
  <int value="1" label="North">Scrolled from bottom towards top</int>
  <int value="2" label="South">Scrolled from top towards the bottom</int>
  <int value="3" label="West">Scrolled from right towards left</int>
  <int value="4" label="East">Scrolled from left towards right</int>
</enum>

<enum name="OverscrollNavigationType" type="int">
  <summary>
    Type of the overscroll gesture based on direction and source   (i.e.
    touchpad vs. touch screen).
  </summary>
  <int value="0" label="None">Did not scroll</int>
  <int value="1" label="Forward Touchpad">Scrolled forward using touchpad</int>
  <int value="2" label="Back Touchpad">Scrolled back using touchpad</int>
  <int value="3" label="Forward Touch Screen">
    Scrolled forward using touch screen
  </int>
  <int value="4" label="Back Touch Screen">
    Scrolled back using touch screen
  </int>
</enum>

<enum name="P2PLookupResult" type="int">
  <int value="0" label="Found"/>
  <int value="1" label="Not Found"/>
  <int value="2" label="Vanished"/>
  <int value="3" label="Canceled"/>
  <int value="4" label="Filtered"/>
</enum>

<enum name="P2PServerResult" type="int">
  <int value="0" label="Response Sent"/>
  <int value="1" label="Response Interrupted"/>
  <int value="2" label="Malformed"/>
  <int value="3" label="Not Found"/>
  <int value="4" label="Index"/>
</enum>

<enum name="PacResultForStrippedUrl" type="int">
  <obsolete>
    Deprecated 4/27/2016. No longer tracked.
  </obsolete>
  <summary>
    Result for PAC script experiment as defined in
    net/proxy/proxy_resolver_v8_tracing.h
  </summary>
  <int value="0" label="SKIPPED_FALLBACK_BLOCKING_DNS"/>
  <int value="1" label="SUCCESS"/>
  <int value="2" label="SUCCESS_DIFFERENT_ALERTS"/>
  <int value="3" label="SUCCESS_DIFFERENT_NUM_DNS"/>
  <int value="4" label="FAIL_ABANDONED"/>
  <int value="5" label="FAIL_FALLBACK_BLOCKING_DNS"/>
  <int value="6" label="FAIL_ERROR"/>
  <int value="7" label="FAIL_DIFFERENT_PROXY_LIST"/>
</enum>

<enum name="PageLoadEvent" type="int">
  <obsolete>
    Deprecated in favor of {Committed|Provisional|InternalError}LoadEvent
  </obsolete>
  <int value="0" label="Started main frame load"/>
  <int value="1" label="Failed load before commit"/>
  <int value="2" label="Aborted load before commit"/>
  <int value="3" label="Aborted load before first layout"/>
  <int value="4" label="Successful first layout (foreground)"/>
  <int value="5" label="Successful first layout (backgrounded)"/>
</enum>

<enum name="PageLoadTimingStatus" type="int">
  <summary>Status of PageLoadTimings received from the render process</summary>
  <int value="0" label="Valid"/>
  <int value="1" label="Empty timing"/>
  <int value="2" label="Null navigation start"/>
  <int value="3" label="Script load longer than parse duration"/>
  <int value="4" label="Script execution longer than parse duration"/>
  <int value="5"
      label="Script load from doc.write longer than total script load"/>
  <int value="6"
      label="Script execution from doc.write longer than total script
             execution"/>
  <int value="7" label="Invalid order - response start / parse start"/>
  <int value="8" label="Invalid order - parse start / parse stop"/>
  <int value="9" label="Invalid order - parse stop / dom content loaded"/>
  <int value="10" label="Invalid order - dom content loaded / load"/>
  <int value="11" label="Invalid order - parse start / first layout"/>
  <int value="12" label="Invalid order - first layout / first paint"/>
  <int value="13" label="Invalid order - first paint / first text paint"/>
  <int value="14" label="Invalid order - first paint / first image paint"/>
  <int value="15" label="Invalid order - first paint / first contentful paint"/>
  <int value="16" label="Invalid order - first paint / first meaningful paint"/>
</enum>

<enum name="PageScaleFactorRange" type="int">
  <int value="0" label="&lt;25%"/>
  <int value="1" label="25-49%"/>
  <int value="2" label="50-74%"/>
  <int value="3" label="75-99%"/>
  <int value="4" label="100-124%"/>
  <int value="5" label="125-149%"/>
  <int value="6" label="150-174%"/>
  <int value="7" label="175-199%"/>
  <int value="8" label="200-224%"/>
  <int value="9" label="225-249%"/>
  <int value="10" label="250-274%"/>
  <int value="11" label="275-299%"/>
  <int value="12" label="300-324%"/>
  <int value="13" label="325-349%"/>
  <int value="14" label="350-374%"/>
  <int value="15" label="375-399%"/>
  <int value="16" label="400-424%"/>
  <int value="17" label="425-449%"/>
  <int value="18" label="450-474%"/>
  <int value="19" label="475-499%"/>
  <int value="20" label="&gt;=500%"/>
</enum>

<enum name="PagespeedHeaderServerType" type="int">
  <int value="0" label="Total responses"/>
  <int value="1" label="mod_pagespeed server"/>
  <int value="2" label="ngx_pagespeed server"/>
  <int value="3" label="PageSpeed Service server"/>
  <int value="4" label="Unknown server type"/>
</enum>

<enum name="PagespeedVersion" type="int">
  <summary>
    The version of PageSpeed. Values up to 1.6.29.x are in use as of 2013-10-01
    while later values may adjust 'a' and/or 'b' arbitrarily.
  </summary>
  <int value="1" label="Unknown"/>
  <int value="2" label="0.9.10.0"/>
  <int value="3" label="0.9.10.x"/>
  <int value="4" label="0.9.11.0"/>
  <int value="5" label="0.9.11.x"/>
  <int value="6" label="0.9.12.0"/>
  <int value="7" label="0.9.12.x"/>
  <int value="8" label="0.9.13.0"/>
  <int value="9" label="0.9.13.x"/>
  <int value="10" label="0.9.14.0"/>
  <int value="11" label="0.9.14.x"/>
  <int value="12" label="0.9.15.0"/>
  <int value="13" label="0.9.15.x"/>
  <int value="14" label="0.9.16.0"/>
  <int value="15" label="0.9.16.x"/>
  <int value="16" label="0.9.17.0"/>
  <int value="17" label="0.9.17.x"/>
  <int value="18" label="0.9.18.0"/>
  <int value="19" label="0.9.18.x"/>
  <int value="20" label="0.10.19.0"/>
  <int value="21" label="0.10.19.x"/>
  <int value="22" label="0.10.20.0"/>
  <int value="23" label="0.10.20.x"/>
  <int value="24" label="0.10.21.0"/>
  <int value="25" label="0.10.21.x"/>
  <int value="26" label="0.10.22.0"/>
  <int value="27" label="0.10.22.x"/>
  <int value="28" label="1.1.23.0"/>
  <int value="29" label="1.1.23.x"/>
  <int value="30" label="1.2.24.0"/>
  <int value="31" label="1.2.24.x"/>
  <int value="32" label="1.3.25.0"/>
  <int value="33" label="1.3.25.x"/>
  <int value="34" label="1.4.26.0"/>
  <int value="35" label="1.4.26.x"/>
  <int value="36" label="1.5.27.0"/>
  <int value="37" label="1.5.27.x"/>
  <int value="38" label="1.5.28.0"/>
  <int value="39" label="1.5.28.x"/>
  <int value="40" label="1.6.29.0"/>
  <int value="41" label="1.6.29.x"/>
  <int value="42" label="a.b.30.0"/>
  <int value="43" label="a.b.30.x"/>
  <int value="44" label="a.b.31.0"/>
  <int value="45" label="a.b.31.x"/>
  <int value="46" label="a.b.32.0"/>
  <int value="47" label="a.b.32.x"/>
  <int value="48" label="a.b.33.0"/>
  <int value="49" label="a.b.33.x"/>
  <int value="50" label="a.b.34.0"/>
  <int value="51" label="a.b.34.x"/>
  <int value="52" label="a.b.35.0"/>
  <int value="53" label="a.b.35.x"/>
  <int value="54" label="a.b.36.0"/>
  <int value="55" label="a.b.36.x"/>
  <int value="56" label="a.b.37.0"/>
  <int value="57" label="a.b.37.x"/>
  <int value="58" label="a.b.38.0"/>
  <int value="59" label="a.b.38.x"/>
  <int value="60" label="a.b.39.0"/>
  <int value="61" label="a.b.39.x"/>
  <int value="62" label="a.b.40.0"/>
  <int value="63" label="a.b.40.x"/>
  <int value="64" label="a.b.41.0"/>
  <int value="65" label="a.b.41.x"/>
  <int value="66" label="a.b.42.0"/>
  <int value="67" label="a.b.42.x"/>
  <int value="68" label="a.b.43.0"/>
  <int value="69" label="a.b.43.x"/>
  <int value="70" label="a.b.44.0"/>
  <int value="71" label="a.b.44.x"/>
  <int value="72" label="a.b.45.0"/>
  <int value="73" label="a.b.45.x"/>
  <int value="74" label="a.b.46.0"/>
  <int value="75" label="a.b.46.x"/>
  <int value="76" label="a.b.47.0"/>
  <int value="77" label="a.b.47.x"/>
  <int value="78" label="a.b.48.0"/>
  <int value="79" label="a.b.48.x"/>
  <int value="80" label="a.b.49.0"/>
  <int value="81" label="a.b.49.x"/>
  <int value="82" label="a.b.50.0"/>
  <int value="83" label="a.b.50.x"/>
  <int value="84" label="a.b.51.0"/>
  <int value="85" label="a.b.51.x"/>
  <int value="86" label="a.b.52.0"/>
  <int value="87" label="a.b.52.x"/>
  <int value="88" label="a.b.53.0"/>
  <int value="89" label="a.b.53.x"/>
  <int value="90" label="a.b.54.0"/>
  <int value="91" label="a.b.54.x"/>
  <int value="92" label="a.b.55.0"/>
  <int value="93" label="a.b.55.x"/>
  <int value="94" label="a.b.56.0"/>
  <int value="95" label="a.b.56.x"/>
  <int value="96" label="a.b.57.0"/>
  <int value="97" label="a.b.57.x"/>
  <int value="98" label="a.b.58.0"/>
  <int value="99" label="a.b.58.x"/>
</enum>

<enum name="PageUsed" type="int">
  <int value="0" label="Discarded"/>
  <int value="1" label="Used"/>
</enum>

<enum name="PageVisitTransitionType" type="int">
  <int value="0" label="Page"/>
  <int value="1" label="Omnibox URL"/>
  <int value="2" label="Omnibox default search"/>
  <int value="3" label="Omnibox template search"/>
  <int value="4" label="Bookmark"/>
  <int value="5" label="Copy and paste"/>
  <int value="6" label="Forward or backward"/>
  <int value="7" label="Restore"/>
  <int value="8" label="Unknown"/>
</enum>

<enum name="PaletteModeCancelType" type="int">
  <int value="0" label="Palette laser pointer mode is cancelled."/>
  <int value="1" label="Palette laser pointer mode is switched out of"/>
  <int value="2" label="Palette magnify mode is cancelled."/>
  <int value="3" label="Palette magnify mode is switched out of."/>
</enum>

<enum name="PaletteTrayOptions" type="int">
  <int value="0" label="Palette being closed or dismissed with no action"/>
  <int value="1" label="Click on the settings button"/>
  <int value="2" label="Click on the help button"/>
  <int value="3" label="Capture region"/>
  <int value="4" label="Capture screen"/>
  <int value="5" label="Add new note"/>
  <int value="6" label="Magnifying glass mode"/>
  <int value="7" label="Laser pointer mode"/>
</enum>

<enum name="PanningModelType" type="int">
  <int value="0" label="equalpower"/>
  <int value="1" label="HRTF"/>
</enum>

<enum name="ParallelDownloadCreationEvent" type="int">
  <int value="0" label="Parallel download started"/>
  <int value="1" label="Fall back to normal download"/>
  <int value="2" label="No strong validators response headers"/>
  <int value="3" label="No accept range header"/>
  <int value="4" label="No content length header"/>
  <int value="5" label="File size does not meet the requirement."/>
  <int value="6" label="HTTP connection type mismatch."/>
  <int value="7"
      label="Remaining download time does not meet the requirement."/>
</enum>

<enum name="ParsedCookieStatus" type="int">
  <obsolete>
    Deprecated as of 9/2013. Experiment to measure control characters in cookies
    is finished.
  </obsolete>
  <int value="0" label="All cookie values valid and without control chars"/>
  <int value="1" label="Cookie contains control chars"/>
  <int value="2" label="Cookie is invalid"/>
  <int value="3" label="Cookie contains both control chars and is invalid"/>
</enum>

<enum name="PassiveForcedListenerResultType" type="int">
  <int value="0" label="PreventDefaultNotCalled"/>
  <int value="1" label="DocumentLevelTouchPreventDefaultCalled"/>
</enum>

<enum name="PasswordBubbleDisplayDisposition" type="int">
  <int value="0" label="Opened automatically / Offering a password to save"/>
  <int value="1" label="Opened manually / Offering a password to save"/>
  <int value="2" label="Opened manually / Managing saved passwords"/>
  <int value="3" label="Opened manually / Site is blacklisted (obsolete)"/>
  <int value="4"
      label="Opened automatically / Confirming generated password saved"/>
  <int value="5"
      label="Opened automatically / Offering a credential to choose
             (obsolete)"/>
  <int value="6" label="Opened automatically / Auto-signin toast"/>
  <int value="7" label="Opened manually / Offering a password to update"/>
  <int value="8" label="Opened automatically / Offering a password to update"/>
</enum>

<enum name="PasswordBubbleSignInPromoDismissalReason" type="int">
  <int value="0" label="Dismissed"/>
  <int value="1" label="Sign in"/>
  <int value="2" label="No thanks"/>
</enum>

<enum name="PasswordFormQueryVolume" type="int">
  <int value="0" label="New password query"/>
  <int value="1" label="Current query"/>
</enum>

<enum name="PasswordFormType" type="int">
  <int value="0" label="Login form"/>
  <int value="1" label="Login form without username"/>
  <int value="2"
      label="Enabled change password form (saved credentials match username)"/>
  <int value="3"
      label="Disabled change password form (no matching credentials)"/>
  <int value="4" label="Disabled change password form without username"/>
  <int value="5" label="Signup form"/>
  <int value="6" label="Signup form without username"/>
  <int value="7" label="Combined login and signup form"/>
</enum>

<enum name="PasswordGenerationEvent" type="int">
  <int value="0" label="No sign up form"/>
  <int value="1" label="Local heuristics found sign up form"/>
  <int value="2" label="DEPRECATED: Icon shown"/>
  <int value="3" label="DEPRECATED: Bubble shown"/>
  <int value="4" label="Generation available"/>
  <int value="5" label="DEPRECATED: Generation popup shown"/>
  <int value="6" label="Generated password accepted"/>
  <int value="7" label="DEPRECATED: Editing popup shown"/>
  <int value="8" label="Generated password edited"/>
  <int value="9" label="Generated password deleted"/>
  <int value="10" label="Generated popup shown (limit once per page)"/>
  <int value="11" label="Editing popup shown (limit once per page)"/>
  <int value="12" label="Generation triggered by autocomplete attributes"/>
</enum>

<enum name="PasswordImportFromCSVResult" type="int">
  <int value="0" label="Password import succeeded"/>
  <int value="1" label="Password import failed due to IO error"/>
  <int value="2" label="Password import failed due to malformed CSV"/>
  <int value="3" label="Password import failed due to missing content"/>
  <int value="4" label="Boundary value"/>
</enum>

<enum name="PasswordManagerActionsTaken" type="int">
  <obsolete>
    Deprecated as of Chrome 32. See PasswordManagerActionsTakenWithPsl
  </obsolete>
  <summary>
    The value is a combination of three different options - what did the
    password manager do, what did the user do, and was the form submitted (and
    submitted successfully or not). The meaning of each value can be determined
    from the values in chrome/browser/password_manager/password_form_manager.h
  </summary>
  <int value="0"
      label="manager did nothing / user did nothing / form not submitted"/>
  <int value="1"
      label="manager did nothing / user chose a value / form not submitted"/>
  <int value="2"
      label="manager did nothing / user typed in something / form not
             submitted"/>
  <int value="3"
      label="manager filled the fields / user did nothing / form not
             submitted"/>
  <int value="4"
      label="manager filled the fields / user chose a value / form not
             submitted"/>
  <int value="5"
      label="manager filled the fields / user typed in something / form not
             submitted"/>
  <int value="6"
      label="manager did nothing (site was blacklisted) / user did nothing /
             form not submitted"/>
  <int value="7"
      label="manager did nothing (site was blacklisted) / user chose a value
             / form not submitted (this value shouldn't be possible)"/>
  <int value="8"
      label="manager did nothing (site was blacklisted) / user typed in
             something / form not submitted"/>
  <int value="9"
      label="manager did nothing (autocomplete off) / user did nothing / form
             not submitted"/>
  <int value="10"
      label="manager did nothing (autocomplete off) / user chose a value /
             form not submitted (this value shouldn't be possible)"/>
  <int value="11"
      label="manager did nothing (autocomplete off) / user typed in something
             / form not submitted"/>
  <int value="12"
      label="manager did nothing / user did nothing / form submit failed"/>
  <int value="13"
      label="manager did nothing / user chose a value / form submit failed"/>
  <int value="14"
      label="manager did nothing / user typed in something / form submit
             failed"/>
  <int value="15"
      label="manager filled the fields / user did nothing / form submit
             failed"/>
  <int value="16"
      label="manager filled the fields / user chose a value / form submit
             failed"/>
  <int value="17"
      label="manager filled the fields / user typed in something / form
             submit failed"/>
  <int value="18"
      label="manager did nothing (site was blacklisted) / user did nothing /
             form submit failed"/>
  <int value="19"
      label="manager did nothing (site was blacklisted) / user chose a value
             / form submit failed (this value shouldn't be possible)"/>
  <int value="20"
      label="manager did nothing (site was blacklisted) / user typed in
             something / form submit failed"/>
  <int value="21"
      label="manager did nothing (autocomplete off) / user did nothing / form
             submit failed"/>
  <int value="22"
      label="manager did nothing (autocomplete off) / user chose a value /
             form submit failed (this value shouldn't be possible)"/>
  <int value="23"
      label="manager did nothing (autocomplete off) / user typed in something
             / form submit failed"/>
  <int value="24"
      label="manager did nothing / user did nothing / form submit succeeded"/>
  <int value="25"
      label="manager did nothing / user chose a value / form submit succeeded"/>
  <int value="26"
      label="manager did nothing / user typed in something / form submit
             succeeded"/>
  <int value="27"
      label="manager filled the fields / user did nothing / form submit
             succeeded"/>
  <int value="28"
      label="manager filled the fields / user chose a value / form submit
             succeeded"/>
  <int value="29"
      label="manager filled the fields / user typed in something / form
             submit succeeded"/>
  <int value="30"
      label="manager did nothing (site was blacklisted) / user did nothing /
             form submit succeeded"/>
  <int value="31"
      label="manager did nothing (site was blacklisted) / user chose a value
             / form submit succeeded (this value shouldn't be possible)"/>
  <int value="32"
      label="manager did nothing (site was blacklisted) / user typed in
             something / form submit succeeded"/>
  <int value="33"
      label="manager did nothing (autocomplete off) / user did nothing / form
             submit succeeded"/>
  <int value="34"
      label="manager did nothing (autocomplete off) / user chose a value /
             form submit succeeded (this value shouldn't be possible)"/>
  <int value="35"
      label="manager did nothing (autocomplete off) / user typed in something
             / form submit succeeded"/>
</enum>

<enum name="PasswordManagerActionsTakenV3" type="int">
  <summary>
    The value is a combination of three different options - what did the
    password manager do, what did the user do, and was the form submitted (and
    submitted successfully or not). The meaning of each value can be determined
    from the values in chrome/browser/password_manager/password_form_manager.h
  </summary>
  <int value="0"
      label="manager did nothing / user did nothing / form not submitted"/>
  <int value="1"
      label="manager did nothing / user chose a value / form not submitted"/>
  <int value="2"
      label="manager did nothing / user chose a value from PSL / form not
             submitted"/>
  <int value="3"
      label="manager did nothing / user typed in password / form not
             submitted"/>
  <int value="4"
      label="manager did nothing / user typed in username and password / form
             not submitted"/>
  <int value="5"
      label="manager filled the fields / user did nothing / form not
             submitted"/>
  <int value="6"
      label="manager filled the fields / user chose a value / form not
             submitted"/>
  <int value="7"
      label="manager filled the fields / user chose a value from PSL / form
             not submitted"/>
  <int value="8"
      label="manager filled the fields / user typed in password / form not
             submitted"/>
  <int value="9"
      label="manager filled the fields / user typed in username and password
             / form not submitted"/>
  <int value="10"
      label="manager did nothing (site was blacklisted) / user did nothing /
             form not submitted"/>
  <int value="11"
      label="manager did nothing (site was blacklisted) / user chose a value
             / form not submitted (this value shouldn't be possible)"/>
  <int value="12"
      label="manager did nothing (site was blacklisted) / user chose a value
             from PSL / form not submitted (this value shouldn't be possible)"/>
  <int value="13"
      label="manager did nothing (site was blacklisted) / user typed in
             password / form not submitted"/>
  <int value="14"
      label="manager did nothing (site was blacklisted) / user typed in
             username and password / form not submitted"/>
  <int value="15"
      label="manager did nothing / user did nothing / form submit failed"/>
  <int value="16"
      label="manager did nothing / user chose a value / form submit failed"/>
  <int value="17"
      label="manager did nothing / user chose a value from psl / form submit
             failed"/>
  <int value="18"
      label="manager did nothing / user typed in password / form submit
             failed"/>
  <int value="19"
      label="manager did nothing / user typed in username and password / form
             submit failed"/>
  <int value="20"
      label="manager filled the fields / user did nothing / form submit
             failed"/>
  <int value="21"
      label="manager filled the fields / user chose a value / form submit
             failed"/>
  <int value="22"
      label="manager filled the fields / user chose a value from psl / form
             submit failed"/>
  <int value="23"
      label="manager filled the fields / user typed in pasword / form submit
             failed"/>
  <int value="24"
      label="manager filled the fields / user typed in username and pasword /
             form submit failed"/>
  <int value="25"
      label="manager did nothing (site was blacklisted) / user did nothing /
             form submit failed"/>
  <int value="26"
      label="manager did nothing (site was blacklisted) / user chose a value
             / form submit failed (this value shouldn't be possible)"/>
  <int value="27"
      label="manager did nothing (site was blacklisted) / user chose a value
             from psl / form submit failed (this value shouldn't be possible)"/>
  <int value="28"
      label="manager did nothing (site was blacklisted) / user typed in
             password / form submit failed"/>
  <int value="29"
      label="manager did nothing (site was blacklisted) / user typed in
             username and password / form submit failed"/>
  <int value="30"
      label="manager did nothing / user did nothing / form submit succeeded"/>
  <int value="31"
      label="manager did nothing / user chose a value / form submit succeeded"/>
  <int value="32"
      label="manager did nothing / user chose a value from psl / form submit
             succeeded"/>
  <int value="33"
      label="manager did nothing / user typed in password / form submit
             succeeded"/>
  <int value="34"
      label="manager did nothing / user typed in username and password / form
             submit succeeded"/>
  <int value="35"
      label="manager filled the fields / user did nothing / form submit
             succeeded"/>
  <int value="36"
      label="manager filled the fields / user chose a value / form submit
             succeeded"/>
  <int value="37"
      label="manager filled the fields / user chose a value from psl / form
             submit succeeded"/>
  <int value="38"
      label="manager filled the fields / user typed in password / form submit
             succeeded"/>
  <int value="39"
      label="manager filled the fields / user typed in username and password
             / form submit succeeded"/>
  <int value="40"
      label="manager did nothing (site was blacklisted) / user did nothing /
             form submit succeeded"/>
  <int value="41"
      label="manager did nothing (site was blacklisted) / user chose a value
             / form submit succeeded (this value shouldn't be possible)"/>
  <int value="42"
      label="manager did nothing (site was blacklisted) / user chose a value
             from psl / form submit succeeded (this value shouldn't be
             possible)"/>
  <int value="43"
      label="manager did nothing (site was blacklisted) / user typed in
             password / form submit succeeded"/>
  <int value="44"
      label="manager did nothing (site was blacklisted) / user typed in
             username and password / form submit succeeded"/>
</enum>

<enum name="PasswordManagerActionsTakenWithPsl" type="int">
  <obsolete>
    Deprecated as of 3/18/2014. See PasswordManagerActionsTakenV3.
  </obsolete>
  <summary>
    The value is a combination of three different options - what did the
    password manager do, what did the user do, and was the form submitted (and
    submitted successfully or not). The meaning of each value can be determined
    from the values in chrome/browser/password_manager/password_form_manager.h
  </summary>
  <int value="0"
      label="manager did nothing / user did nothing / form not submitted"/>
  <int value="1"
      label="manager did nothing / user chose a value / form not submitted"/>
  <int value="2"
      label="manager did nothing / user chose a value from PSL / form not
             submitted"/>
  <int value="3"
      label="manager did nothing / user typed in something / form not
             submitted"/>
  <int value="4"
      label="manager filled the fields / user did nothing / form not
             submitted"/>
  <int value="5"
      label="manager filled the fields / user chose a value / form not
             submitted"/>
  <int value="6"
      label="manager filled the fields / user chose a value from PSL / form
             not submitted"/>
  <int value="7"
      label="manager filled the fields / user typed in something / form not
             submitted"/>
  <int value="8"
      label="manager did nothing (site was blacklisted) / user did nothing /
             form not submitted"/>
  <int value="9"
      label="manager did nothing (site was blacklisted) / user chose a value
             / form not submitted (this value shouldn't be possible)"/>
  <int value="10"
      label="manager did nothing (site was blacklisted) / user chose a value
             from PSL / form not submitted (this value shouldn't be possible)"/>
  <int value="11"
      label="manager did nothing (site was blacklisted) / user typed in
             something / form not submitted"/>
  <int value="12"
      label="manager did nothing (autocomplete off) / user did nothing / form
             not submitted"/>
  <int value="13"
      label="manager did nothing (autocomplete off) / user chose a value /
             form not submitted (this value shouldn't be possible)"/>
  <int value="14"
      label="manager did nothing (autocomplete off) / user chose a value from
             psl / form not submitted (this value shouldn't be possible)"/>
  <int value="15"
      label="manager did nothing (autocomplete off) / user typed in something
             / form not submitted"/>
  <int value="16"
      label="manager did nothing / user did nothing / form submit failed"/>
  <int value="17"
      label="manager did nothing / user chose a value / form submit failed"/>
  <int value="18"
      label="manager did nothing / user chose a value from psl / form submit
             failed"/>
  <int value="19"
      label="manager did nothing / user typed in something / form submit
             failed"/>
  <int value="20"
      label="manager filled the fields / user did nothing / form submit
             failed"/>
  <int value="21"
      label="manager filled the fields / user chose a value / form submit
             failed"/>
  <int value="22"
      label="manager filled the fields / user chose a value from psl / form
             submit failed"/>
  <int value="23"
      label="manager filled the fields / user typed in something / form
             submit failed"/>
  <int value="24"
      label="manager did nothing (site was blacklisted) / user did nothing /
             form submit failed"/>
  <int value="25"
      label="manager did nothing (site was blacklisted) / user chose a value
             / form submit failed (this value shouldn't be possible)"/>
  <int value="26"
      label="manager did nothing (site was blacklisted) / user chose a value
             from psl / form submit failed (this value shouldn't be possible)"/>
  <int value="27"
      label="manager did nothing (site was blacklisted) / user typed in
             something / form submit failed"/>
  <int value="28"
      label="manager did nothing (autocomplete off) / user did nothing / form
             submit failed"/>
  <int value="29"
      label="manager did nothing (autocomplete off) / user chose a value /
             form submit failed (this value shouldn't be possible)"/>
  <int value="30"
      label="manager did nothing (autocomplete off) / user chose a value from
             psl / form submit failed (this value shouldn't be possible)"/>
  <int value="31"
      label="manager did nothing (autocomplete off) / user typed in something
             / form submit failed"/>
  <int value="32"
      label="manager did nothing / user did nothing / form submit succeeded"/>
  <int value="33"
      label="manager did nothing / user chose a value / form submit succeeded"/>
  <int value="34"
      label="manager did nothing / user chose a value from psl / form submit
             succeeded"/>
  <int value="35"
      label="manager did nothing / user typed in something / form submit
             succeeded"/>
  <int value="36"
      label="manager filled the fields / user did nothing / form submit
             succeeded"/>
  <int value="37"
      label="manager filled the fields / user chose a value / form submit
             succeeded"/>
  <int value="38"
      label="manager filled the fields / user chose a value from psl / form
             submit succeeded"/>
  <int value="39"
      label="manager filled the fields / user typed in something / form
             submit succeeded"/>
  <int value="40"
      label="manager did nothing (site was blacklisted) / user did nothing /
             form submit succeeded"/>
  <int value="41"
      label="manager did nothing (site was blacklisted) / user chose a value
             / form submit succeeded (this value shouldn't be possible)"/>
  <int value="42"
      label="manager did nothing (site was blacklisted) / user chose a value
             from psl / form submit succeeded (this value shouldn't be
             possible)"/>
  <int value="43"
      label="manager did nothing (site was blacklisted) / user typed in
             something / form submit succeeded"/>
  <int value="44"
      label="manager did nothing (autocomplete off) / user did nothing / form
             submit succeeded"/>
  <int value="45"
      label="manager did nothing (autocomplete off) / user chose a value /
             form submit succeeded (this value shouldn't be possible)"/>
  <int value="46"
      label="manager did nothing (autocomplete off) / user chose a value from
             psl / form submit succeeded (this value shouldn't be possible)"/>
  <int value="47"
      label="manager did nothing (autocomplete off) / user typed in something
             / form submit succeeded"/>
</enum>

<enum name="PasswordManagerAllowToCollectURLBubble.UIDismissalReason"
    type="int">
  <obsolete>
    The bubble isn't shown anymore. Become obsolete in Feb. 2015.
  </obsolete>
  <int value="0" label="Bubble lost focus / No infobar interaction"/>
  <int value="1" label="Clicked collect URL"/>
  <int value="2" label="Clicked do not collect URL"/>
</enum>

<enum name="PasswordManagerEmptyUsernameField" type="int">
  <int value="0" label="Has username field"/>
  <int value="1" label="No username field"/>
</enum>

<enum name="PasswordManagerEmptyUsernamePasswordChangeForm" type="int">
  <int value="0" label="Not a password change form"/>
  <int value="1" label="A password change form"/>
</enum>

<enum name="PasswordManagerFilledAndroidCredentials" type="int">
  <int value="0" label="NOT from Android"/>
  <int value="1" label="From Android"/>
</enum>

<enum name="PasswordManagerOfferedAndroidCredentials" type="int">
  <int value="0" label="None from Android"/>
  <int value="1" label="1+ from Android"/>
</enum>

<enum name="PasswordManagerOsPasswordStatus" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Unsupported platform"/>
  <int value="2" label="Password is blank"/>
  <int value="3" label="Password is non blank"/>
  <int value="4"
      label="Password status not checked as user is on a Windows Domain"/>
</enum>

<enum name="PasswordManagerPreferencesInitialAndFinalValues" type="int">
  <summary>
    The pair of initial values and the pair of final values for the legacy
    preference for controlling the Chrome Password Manager and new preference
    for controlling Smart Lock on Android. In the values label N means new pref
    value, L meand legacy pref value.
  </summary>
  <int value="0"
      label="Initial state: N='off', L='off' Final state: N='off', L='off'"/>
  <int value="1"
      label="Initial state: N='off', L='off' Final state: N='off', L='on'"/>
  <int value="2"
      label="Initial state: N='off', L='off' Final state: N='on', L='off'"/>
  <int value="3"
      label="Initial state: N='off', L='off' Final state: N='on', L='on'"/>
  <int value="4"
      label="Initial state: N='off', L='on' Final state: N='off', L='off'"/>
  <int value="5"
      label="Initial state: N='off', L='on' Final state: N='off', L='on'"/>
  <int value="6"
      label="Initial state: N='off', L='on' Final state: N='on', L='off'"/>
  <int value="7"
      label="Initial state: N='off', L='on' Final state: N='on', L='on'"/>
  <int value="8"
      label="Initial state: N='on', L='off' Final state: N='off', L='off'"/>
  <int value="9"
      label="Initial state: N='on', L='off' Final state: N='off', L='on'"/>
  <int value="10"
      label="Initial state: N='on', L='off' Final state: N='on', L='off'"/>
  <int value="11"
      label="Initial state: N='on', L='off' Final state: N='on', L='on'"/>
  <int value="12"
      label="Initial state: N='on', L='on' Final state: N='off', L='off'"/>
  <int value="13"
      label="Initial state: N='on', L='on' Final state: N='off', L='on'"/>
  <int value="14"
      label="Initial state: N='on', L='on' Final state: N='on', L='off'"/>
  <int value="15"
      label="Initial state: N='on', L='on' Final state: N='on', L='on'"/>
</enum>

<enum name="PasswordManagerPreferencesInitialValues" type="int">
  <summary>
    The pair of initial values for the legacy preference for controlling the
    Chrome Password Manager and new preference for controlling Smart Lock on
    Android.
  </summary>
  <int value="0" label="New pref is 'off', legacy pref is 'off'"/>
  <int value="1" label="New pref is 'off', legacy pref is 'on'"/>
  <int value="2" label="New pref is 'on', legacy pref is 'off'"/>
  <int value="3" label="New pref is 'on', legacy pref is 'on'"/>
</enum>

<enum name="PasswordManagerPslDomainMatchTriggering" type="int">
  <summary>
    The value indicates whether an entry returned by password autofill contains
    a value that was found by matching against the public suffix list.
  </summary>
  <int value="0" label="Matching not used"/>
  <int value="1" label="No match"/>
  <int value="2" label="Match"/>
  <int value="3" label="Federated match"/>
</enum>

<enum name="PasswordManagerShowEmptyUsername" type="int">
  <int value="0" label="Non-empty username"/>
  <int value="1" label="Empty username"/>
</enum>

<enum name="PasswordManagerSyncingAccountState" type="int">
  <summary>
    The value is a combination of the current sync state and if the user has
    their sync password saved.
  </summary>
  <int value="0" label="Syncing/Sync password not saved"/>
  <int value="1" label="Syncing/Sync password saved"/>
  <int value="2" label="Not Syncing/Sync password not saved"/>
  <int value="3"
      label="Not Syncing/Sync pasword saved. This value should not happen."/>
</enum>

<enum name="PasswordManagerUIDismissalReason" type="int">
  <int value="0" label="Bubble lost focus / No infobar interaction"/>
  <int value="1" label="Clicked 'Save'"/>
  <int value="2" label="Clicked 'Nope'"/>
  <int value="3" label="Clicked 'Never'"/>
  <int value="4" label="Clicked 'Manage passwords'"/>
  <int value="5" label="Clicked 'Done'"/>
  <int value="6" label="Clicked 'Unblacklist' (obsolete)"/>
  <int value="7" label="Clicked 'OK'"/>
  <int value="8" label="Clicked on a credential (obsolete)"/>
  <int value="9" label="Auto-signin toast timeout"/>
  <int value="10" label="Auto-signin toast clicked (obsolete)"/>
  <int value="11" label="Clicked 'Google Smart Lock'"/>
  <int value="12" label="Clicked the link passwords.google.com"/>
</enum>

<enum name="PasswordProtectionRequestOutcome" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Succeeded"/>
  <int value="2" label="Canceled"/>
  <int value="3" label="Timed out"/>
  <int value="4" label="Matched whitelist"/>
  <int value="5" label="Response already cached"/>
  <int value="6" label="Not extended reporting user"/>
  <int value="7" label="Incognito"/>
  <int value="8" label="Request malformed"/>
  <int value="9" label="Fetch failed"/>
  <int value="10" label="Response malformed"/>
  <int value="11" label="Service destroyed"/>
</enum>

<enum name="PasswordProtectionVerdict" type="int">
  <int value="0" label="Verdict not specified"/>
  <int value="1" label="Safe"/>
  <int value="2" label="Low reputation"/>
  <int value="3" label="Phishing"/>
</enum>

<enum name="PasswordReusePasswordFieldDetected" type="int">
  <int value="0" label="No password field"/>
  <int value="1" label="Has password field"/>
</enum>

<enum name="PasswordSubmissionEvent" type="int">
  <int value="0" label="Password submission succeeded"/>
  <int value="1" label="Password submission failed"/>
  <int value="2" label="Password not submitted"/>
  <int value="3" label="Generated password overridden by a non-generated one"/>
  <int value="4" label="Password used"/>
  <int value="5" label="Generated password submission would have failed"/>
</enum>

<enum name="PasswordSyncState" type="int">
  <int value="0" label="Syncing OK"/>
  <int value="1" label="Read failed"/>
  <int value="2" label="Duplcate tags"/>
  <int value="3" label="Server failed"/>
</enum>

<enum name="PaymentRequestAbortReason" type="int">
  <int value="0" label="DismissedByUser"/>
  <int value="1" label="AbortedByMerchant"/>
  <int value="2" label="InvalidDataFromRenderer"/>
  <int value="3" label="MojoConnectionError"/>
  <int value="4" label="MojoRendererClosing"/>
  <int value="5" label="InstrumentDetailsError"/>
  <int value="6" label="NoMatchingPaymentMethod - Deprecated"/>
  <int value="7" label="NoSupportedPaymentMethod - Deprecated"/>
  <int value="8" label="Other"/>
</enum>

<enum name="PaymentRequestCanMakePaymentEffectOnShow" type="int">
  <int value="0"
      label="CanMakePayment() returned false and show() was not called"/>
  <int value="1" label="CanMakePayment() returned false and show() was called"/>
  <int value="2"
      label="CanMakePayment() returned true and show() was not called"/>
  <int value="3" label="CanMakePayment() returned true and show() was called"/>
</enum>

<enum name="PaymentRequestFlowCompletionStatus" type="int">
  <int value="0" label="Completed"/>
  <int value="1" label="User Aborted"/>
  <int value="2" label="Other Aborted"/>
</enum>

<enum name="PaymentRequestNoShowReason" type="int">
  <int value="0" label="NoMatchingPaymentMethod"/>
  <int value="1" label="NoSupportedPaymentMethod"/>
  <int value="2" label="ConcurrentRequests"/>
  <int value="3" label="ReasonOther"/>
</enum>

<enum name="PaymentRequestPaymentMethods" type="int">
  <int value="0" label="Autofill credit cards"/>
  <int value="1" label="Android Pay"/>
  <int value="2" label="Other Payment App"/>
</enum>

<enum name="PaymentRequestRequestedInformation" type="int">
  <int value="0" label="None"/>
  <int value="1" label="Email"/>
  <int value="2" label="Phone"/>
  <int value="3" label="Email and Phone"/>
  <int value="4" label="Shipping Address"/>
  <int value="5" label="Email and Shipping Address"/>
  <int value="6" label="Phone and Shipping Address"/>
  <int value="7" label="Email, Phone and Shipping Address"/>
  <int value="8" label="Name"/>
  <int value="9" label="Email and Name"/>
  <int value="10" label="Phone and Name"/>
  <int value="11" label="Email, Phone and Name"/>
  <int value="12" label="Shipping Address and Name"/>
  <int value="13" label="Email, Shipping Address and Name"/>
  <int value="14" label="Phone, Shipping Address and Name"/>
  <int value="15" label="Email, Phone, Shipping Address and Name"/>
</enum>

<enum name="PDFFeatures" type="int">
  <int value="0" label="Loaded Document"/>
  <int value="1" label="Has Title"/>
  <int value="2" label="Has Bookmarks"/>
</enum>

<enum name="PeerConnectionCounters" type="int">
  <int value="0" label="PeerConnection enabled with IPv4."/>
  <int value="1" label="PeerConnection enabled with Ipv6."/>
  <int value="2" label="IPv4 BestConnection."/>
  <int value="3" label="IPv6 BestConnection."/>
</enum>

<enum name="PeerConnectionRtcpMux" type="int">
  <int value="0" label="Disabled"/>
  <int value="1" label="Enabled"/>
  <int value="2" label="No media"/>
</enum>

<enum name="PeerConnectionRtcpMuxPolicy" type="int">
  <int value="0" label="Require"/>
  <int value="1" label="Negotiate"/>
  <int value="2" label="Default"/>
</enum>

<enum name="PepperInterface" type="int">
<!-- Generated by ppapi/tools/pepper_hash_for_uma.cc -->

  <int value="286711" label="PPB_FlashFullscreen;0.1"/>
  <int value="2804066" label="PPB_AudioConfig;1.1"/>
  <int value="8760108" label="PPB_Testing_Private;1.0"/>
  <int value="10714106" label="PPB_OutputProtection_Private;0.1"/>
  <int value="11143977" label="PPB_PlatformVerification_Private;0.2"/>
  <int value="12033600" label="PPB_Compositor;0.1"/>
  <int value="13662160" label="PPB_CharSet(Dev);0.4"/>
  <int value="22816901" label="PPB_FileChooser(Dev);0.5"/>
  <int value="28187368" label="PPB_IMEInputEvent(Dev);0.2"/>
  <int value="36133501" label="PPB_MediaStreamVideoTrack;1.0"/>
  <int value="37307420" label="PPB_Scrollbar(Dev);0.5"/>
  <int value="59327104" label="PPB_Messaging;1.2"/>
  <int value="62905097" label="PPB_TrueTypeFont(Dev);0.1"/>
  <int value="79708274" label="PPB_TCPSocket;1.1"/>
  <int value="110360074" label="PPB_Var;1.1"/>
  <int value="125017713" label="PPB_CameraCapabilities_Private;0.1"/>
  <int value="126651696" label="PPB_ContentDecryptor_Private;0.12"/>
  <int value="138418890" label="PPB_Memory(Dev);0.1"/>
  <int value="150724524" label="PPB_Graphics2D;1.2"/>
  <int value="153443470" label="PPB_URLResponseInfo;1.0"/>
  <int value="153532707" label="PPB_Buffer(Dev);0.4"/>
  <int value="156766028" label="PPB_UMA_Private;0.3"/>
  <int value="162107265" label="PPB_NetworkMonitor;1.0"/>
  <int value="180906214" label="PPB_Instance_Private;0.1"/>
  <int value="206043276" label="PPB_CompositorLayer;0.1"/>
  <int value="221802429" label="PPB_URLUtil(Dev);0.7"/>
  <int value="225125520" label="PPB_Find(Private);0.3"/>
  <int value="226206264" label="PPB_FileRef;1.1"/>
  <int value="229560990" label="PPB_Var(Deprecated);0.3"/>
  <int value="250764663" label="PPB_Graphics2D(Dev);0.2"/>
  <int value="320267009" label="PPB_Flash_File_ModuleLocal;3"/>
  <int value="344923193" label="PPB_CompositorLayer;0.2"/>
  <int value="348907389" label="PPB_TCPSocket_Private;0.4"/>
  <int value="382780521" label="PPB_FileRef;1.2"/>
  <int value="415548516" label="PPB_MessageLoop;1.0"/>
  <int value="434146763" label="PPB_BrowserFont_Trusted;1.0"/>
  <int value="495324603" label="PPB_Widget(Dev);0.4"/>
  <int value="556941117" label="PPB_IMEInputEvent;1.0"/>
  <int value="588532407" label="PPB_Graphics2D;1.1"/>
  <int value="596770967" label="PPB_X509Certificate_Private;0.1"/>
  <int value="612625164" label="PPB_InputEvent;1.0"/>
  <int value="615811055" label="PPB_Flash_MessageLoop;0.1"/>
  <int value="617438958" label="PPB_VideoDecoder;1.0"/>
  <int value="629092173" label="PPB_VideoCapture(Dev);0.3"/>
  <int value="630100238" label="PPB_AudioBuffer;0.1"/>
  <int value="631212065" label="PPB_MouseInputEvent;1.0"/>
  <int value="632306545" label="PPB_FileRef;1.0"/>
  <int value="656561383" label="PPB_FlashFullscreen;1.0"/>
  <int value="657117235" label="PPB_Flash_DRM;1.0"/>
  <int value="668624105" label="PPB_Flash_DeviceID;1.0"/>
  <int value="706893509" label="PPB_ContentDecryptor_Private;0.11"/>
  <int value="714324031" label="PPB_Graphics3D;1.0"/>
  <int value="724664149" label="PPB_Flash_Menu;0.2"/>
  <int value="732838108" label="PPB_IsolatedFileSystem_Private;0.2"/>
  <int value="760024173" label="PPB_FileIO;1.0"/>
  <int value="760246876" label="PPB_OpenGLES2VertexArrayObject;1.0"/>
  <int value="763746388" label="PPB_NaCl_Private;1.0"/>
  <int value="772423590" label="PPB_TouchInputEvent;1.0"/>
  <int value="780912189" label="PPB_Alarms(Dev);0.1"/>
  <int value="795366801" label="PPB_Trace_Event(Dev);0.2"/>
  <int value="804011173" label="PPB_Gamepad;1.0"/>
  <int value="810111568" label="PPB_Messaging;1.0"/>
  <int value="829878300" label="PPB_TCPSocket;1.0"/>
  <int value="835840137" label="PPB_WebSocket;1.0"/>
  <int value="844787073" label="PPB_TextInput(Dev);0.2"/>
  <int value="856177441" label="PPB_VarArray;1.0"/>
  <int value="857934187" label="PPB_Ext_Socket(Dev);0.1"/>
  <int value="866907383" label="PPB_View;1.2"/>
  <int value="883046945" label="PPB_OpenGLES2ChromiumMapSub;1.0"/>
  <int value="890225106" label="PPB_FileChooserTrusted;0.6"/>
  <int value="893629850" label="PPB_VarArrayBuffer;1.0"/>
  <int value="897332014" label="PPB_Zoom(Dev);0.2"/>
  <int value="906618937" label="PPB_Find_Private;0.3"/>
  <int value="910782902" label="PPB_AudioFrame;0.1"/>
  <int value="913922409" label="PPB_NetworkProxy;1.0"/>
  <int value="916446405" label="PPB_URLUtil(Dev);0.6"/>
  <int value="929640141" label="PPB_VideoDestination_Private;0.1"/>
  <int value="930528031" label="PPB_OpenGLES2DrawBuffers(Dev);1.0"/>
  <int value="930786862" label="PPB_Flash_Clipboard;5.0"/>
  <int value="941275733" label="PPB_Flash;12.6"/>
  <int value="943174056" label="PPB_VideoDecoder;0.2"/>
  <int value="944161065" label="PPB_Flash_DRM;1.1"/>
  <int value="946515854" label="PPB_View(Dev);0.1"/>
  <int value="948969343" label="PPB_OpenGLES2;1.0"/>
  <int value="961061294" label="PPB_Var;1.2"/>
  <int value="961317980" label="PPB_Fullscreen;1.0"/>
  <int value="964595048" label="PPB_BrokerTrusted;0.2"/>
  <int value="965548627" label="PPB_Audio;1.1"/>
  <int value="972914533" label="PPB_TextInputController;1.0"/>
  <int value="997459960" label="PPB_FileChooserTrusted;0.5"/>
  <int value="1008493701" label="PPB_UDPSocket;1.0"/>
  <int value="1017579801" label="PPB_OpenGLES2FramebufferBlit;1.0"/>
  <int value="1032125598" label="PPB_HostResolver;1.0"/>
  <int value="1032205959" label="PPB_UDPSocket;1.1"/>
  <int value="1039206341" label="PPB_UDPSocket_Private;0.2"/>
  <int value="1042058362" label="PPB_Core;1.0"/>
  <int value="1050892821" label="PPB_OpenGLES2InstancedArrays;1.0"/>
  <int value="1055791466" label="PPB_CursorControl(Dev);0.4"/>
  <int value="1065040273" label="PPB_KeyboardInputEvent;1.2"/>
  <int value="1086644401" label="PPB_Proxy_Private;6"/>
  <int value="1094761313" label="PPB_URLLoaderTrusted;0.3"/>
  <int value="1099975614" label="PPB_Flash;12.5"/>
  <int value="1111997633" label="PPB_AudioInput(Dev);0.4"/>
  <int value="1155638369" label="PPB_WheelInputEvent;1.0"/>
  <int value="1161845861" label="PPB_NetAddress_Private;1.0"/>
  <int value="1173327824" label="PPB_OpenGLES2ChromiumEnableFeature;1.0"/>
  <int value="1188712923" label="PPB_Talk_Private;2.0"/>
  <int value="1218354710" label="PPB_VideoFrame;0.1"/>
  <int value="1260990020" label="PPB_Ext_Socket(Dev);0.2"/>
  <int value="1262240942" label="PPB_FileIO;1.1"/>
  <int value="1262834677" label="PPB_CameraDevice_Private;0.1"/>
  <int value="1272679676" label="PPB_TCPSocket_Private;0.5"/>
  <int value="1296231808" label="PPB_VideoDecoder;0.1"/>
  <int value="1304992407" label="PPB_UDPSocket;1.2"/>
  <int value="1316246754" label="PPB_KeyboardInputEvent;1.0"/>
  <int value="1316320941" label="PPB_Graphics2D(Dev);0.1"/>
  <int value="1321620067" label="PPB_Instance;1.0"/>
  <int value="1328369437" label="PPB_Talk_Private;1.0"/>
  <int value="1337084425" label="PPB_View;1.0"/>
  <int value="1354526686" label="PPB_FileIO_Private;0.1"/>
  <int value="1357207230" label="PPB_DeviceRef(Dev);0.1"/>
  <int value="1358195444" label="PPB_CharSet_Trusted;1.0"/>
  <int value="1360443600" label="PPB_OpenGLES2FramebufferMultisample;1.0"/>
  <int value="1374404330" label="PPB_BrokerTrusted;0.3"/>
  <int value="1374976378" label="PPB_OpenGLES2Query;1.0"/>
  <int value="1388412013" label="PPB_AudioOutput(Dev);0.1"/>
  <int value="1423820530" label="PPB_ContentDecryptor_Private;0.14"/>
  <int value="1437724812" label="PPB_AudioConfig;1.0"/>
  <int value="1443771913" label="PPB_NetAddress;1.0"/>
  <int value="1502481774" label="PPB_OpenGLES2ChromiumMapSub(Dev);1.0"/>
  <int value="1504691399" label="PPB_Flash;13.0"/>
  <int value="1505595424" label="PPB_Crypto(Dev);0.1"/>
  <int value="1508192415" label="PPB_VarDictionary;1.0"/>
  <int value="1519132417" label="PPB_FileSystem;1.0"/>
  <int value="1520420939" label="PPB_MouseCursor;1.0"/>
  <int value="1528832860" label="PPB_FileChooser(Dev);0.6"/>
  <int value="1534600005" label="PPB_AudioEncoder;0.1"/>
  <int value="1577776196" label="PPB_InputEvent_Private;0.1"/>
  <int value="1616589391" label="PPB_TCPServerSocket_Private;0.2"/>
  <int value="1641037564" label="PPB_VideoSource_Private;0.1"/>
  <int value="1645591549" label="PPB_Widget(Dev);0.3"/>
  <int value="1659973365" label="PPB_ImageCapture_Private;0.1"/>
  <int value="1665257952" label="PPB_VideoDecoder;1.1"/>
  <int value="1677958987" label="PPB_ImageData;1.0"/>
  <int value="1680873803" label="PPB_Console;1.0"/>
  <int value="1681523535" label="PPB_TCPSocket;1.2"/>
  <int value="1703245231" label="PPB_NetworkList;1.0"/>
  <int value="1714657156" label="PPB_MediaStreamAudioTrack;0.1"/>
  <int value="1721408268" label="PPB_URLLoader;1.0"/>
  <int value="1735606779" label="PPB_VideoEncoder;0.1"/>
  <int value="1753813390" label="PPB_Flash_Clipboard;4.0"/>
  <int value="1773992510" label="PPB_PDF;1"/>
  <int value="1775059283" label="PPB_Flash_FontFile;0.1"/>
  <int value="1779899536" label="PPB_Flash_Print;1.0"/>
  <int value="1821321578" label="PPB_UMA_Private;0.2"/>
  <int value="1822250569" label="PPB_Trace_Event(Dev);0.1"/>
  <int value="1827038364" label="PPB_DisplayColorProfile_Private;0.1"/>
  <int value="1838344955" label="PPB_Flash;12.4"/>
  <int value="1845295664" label="PPB_Ext_CrxFileSystem_Private;0.1"/>
  <int value="1866591098" label="PPB_FileRefPrivate;0.1"/>
  <int value="1870131254" label="PPB_MouseLock;1.0"/>
  <int value="1930785273" label="PPB_Var;1.0"/>
  <int value="1944731926" label="PPB_URLRequestInfo;1.0"/>
  <int value="1955790313" label="PPB_MediaStreamVideoTrack;0.1"/>
  <int value="1970082102" label="PPB_TCPServerSocket_Private;0.1"/>
  <int value="1978180250" label="PPB_Flash_Clipboard;5.1"/>
  <int value="1980463089" label="PPB_View;1.1"/>
  <int value="1981643755" label="PPB_FileMapping;0.1"/>
  <int value="1990584694" label="PPB_VpnProvider;0.1"/>
  <int value="1994108724" label="PPB_Flash_File_FileRef;2"/>
  <int value="1997668256" label="PPB_GLESChromiumTextureMapping(Dev);0.1"/>
  <int value="1998274350" label="PPB_Font(Dev);0.6"/>
  <int value="2001322203" label="PPB_Messaging;1.1"/>
  <int value="2003778556" label="PPB_MouseInputEvent;1.1"/>
  <int value="2005291722" label="PPB_NetAddress_Private;1.1"/>
  <int value="2012645499" label="PPB_Find(Dev);0.3"/>
  <int value="2019398562" label="PPB_TCPSocket_Private;0.3"/>
  <int value="2023751176" label="PPB_Printing(Dev);0.7"/>
  <int value="2024537413" label="PPB_Graphics2D;1.0"/>
  <int value="2026777995" label="PPB_VideoDecoder(Dev);0.16"/>
  <int value="2027770764" label="PPB_UDPSocket_Private;0.3"/>
  <int value="2031327332" label="PPB_TextInput(Dev);0.1"/>
  <int value="2056532375" label="PPB_Audio;1.0"/>
  <int value="2062775054" label="PPB_IMEInputEvent(Dev);0.1"/>
  <int value="2070539867" label="PPB_ContentDecryptor_Private;0.13"/>
  <int value="2070630224" label="PPB_AudioInput(Dev);0.3"/>
  <int value="2095945999" label="PPB_NetAddress_Private;0.1"/>
  <int value="2098849894" label="PPB_ContentDecryptor_Private;0.10"/>
  <int value="2123225074" label="PPB_HostResolver_Private;0.1"/>
  <int value="2126196629" label="PPB_UDPSocket_Private;0.4"/>
</enum>

<enum name="PermissionAction" type="int">
  <int value="0" label="GRANTED"/>
  <int value="1" label="DENIED"/>
  <int value="2" label="DISMISSED"/>
  <int value="3" label="IGNORED"/>
  <int value="4" label="REVOKED"/>
</enum>

<enum name="PermissionEmbargoStatus" type="int">
  <int value="0" label="NOT_EMBARGOED"/>
  <int value="1" label="BLACKLISTED"/>
  <int value="2" label="REPEATED_DISMISSALS"/>
  <int value="3" label="REPEATED_IGNORES"/>
</enum>

<enum name="PermissionRequestType" type="int">
  <int value="0" label="PERMISSION_BUBBLE_UNKNOWN"/>
  <int value="1" label="PERMISSION_BUBBLE_MULTIPLE"/>
  <int value="2" label="PERMISSION_BUBBLE_UNUSED_PERMISSION"/>
  <int value="3" label="PERMISSION_BUBBLE_QUOTA"/>
  <int value="4" label="PERMISSION_BUBBLE_DOWNLOAD"/>
  <int value="5" label="PERMISSION_BUBBLE_MEDIA_STREAM"/>
  <int value="6" label="PERMISSION_BUBBLE_REGISTER_PROTOCOL_HANDLER"/>
  <int value="7" label="PERMISSION_BUBBLE_PERMISSION_GEOLOCATION"/>
  <int value="8" label="PERMISSION_BUBBLE_PERMISSION_MIDI_SYSEX"/>
  <int value="9" label="PERMISSION_BUBBLE_PERMISSION_NOTIFICATIONS"/>
  <int value="10"
      label="PERMISSION_BUBBLE_PERMISSION_PROTECTED_MEDIA_IDENTIFIER"/>
  <int value="11" label="PERMISSION_BUBBLE_PERMISSION_PUSH_MESSAGING"/>
  <int value="12" label="PERMISSION_BUBBLE_PERMISSION_FLASH"/>
</enum>

<enum name="PermissionStatus" type="int">
  <int value="0" label="PERMISSION_STATUS_GRANTED"/>
  <int value="1" label="PERMISSION_STATUS_DENIED"/>
  <int value="2" label="PERMISSION_STATUS_ASK"/>
</enum>

<enum name="PermissionType" type="int">
  <int value="0" label="PERMISSION_UNKNOWN"/>
  <int value="1" label="PERMISSION_MIDI_SYSEX"/>
  <int value="2" label="PERMISSION_PUSH_MESSAGING"/>
  <int value="3" label="PERMISSION_NOTIFICATIONS"/>
  <int value="4" label="PERMISSION_GEOLOCATION"/>
  <int value="5" label="PERMISSION_PROTECTED_MEDIA_IDENTIFIER"/>
  <int value="6" label="PERMISSION_MIDI"/>
  <int value="7" label="PERMISSION_DURABLE_STORAGE"/>
  <int value="8" label="PERMISSION_AUDIO_CAPTURE"/>
  <int value="9" label="PERMISSION_VIDEO_CAPTURE"/>
  <int value="10" label="PERMISSION_BACKGROUND_SYNC"/>
  <int value="11" label="PERMISSION_FLASH"/>
</enum>

<enum name="PersistedLogsLogReadStatus" type="int">
  <int value="0" label="RECALL_SUCCESS"/>
  <int value="1" label="LIST_EMPTY"/>
  <int value="2" label="LIST_SIZE_MISSING"/>
  <int value="3" label="LIST_SIZE_TOO_SMALL"/>
  <int value="4" label="LIST_SIZE_CORRUPTION"/>
  <int value="5" label="LOG_STRING_CORRUPTION"/>
  <int value="6" label="CHECKSUM_CORRUPTION"/>
  <int value="7" label="CHECKSUM_STRING_CORRUPTION"/>
  <int value="8" label="DECODE_FAIL"/>
  <int value="9" label="DEPRECATED_XML_PROTO_MISMATCH"/>
</enum>

<enum name="PersistentAllocatorErrors" type="int">
  <int value="1" label="Allocator memory is corrupt (set only once)"/>
</enum>

<enum name="PersistentHistogramsInitResult" type="int">
  <int value="0" label="Local-Memory Success"/>
  <int value="1" label="Local-Memory Failure"/>
  <int value="2" label="Mapped-File Success"/>
  <int value="3" label="Mapped-File Failure"/>
  <int value="5" label="Mapped-File Already Exists"/>
</enum>

<enum name="PhotoEditorFileType" type="int">
  <int value="0" label="jpg"/>
  <int value="1" label="png"/>
  <int value="2" label="gif"/>
  <int value="3" label="bmp"/>
  <int value="4" label="webp"/>
  <int value="5" label="other"/>
</enum>

<enum name="PhotoEditorLoadMode" type="int">
  <int value="0" label="From full resolution cache"/>
  <int value="1" label="From screen resolution cache"/>
  <int value="2" label="From file"/>
  <int value="3" label="Other"/>
</enum>

<enum name="PhotoEditorSaveResult" type="int">
  <int value="0" label="Failure"/>
  <int value="1" label="Success"/>
  <int value="2" label="Other"/>
</enum>

<enum name="PhotoEditorToolType" type="int">
  <int value="0" label="Auto-fix"/>
  <int value="1" label="Crop"/>
  <int value="2" label="Brightness"/>
  <int value="3" label="Rotate left"/>
  <int value="4" label="Rotate right"/>
  <int value="5" label="Rotate undo"/>
  <int value="6" label="Rotate redo"/>
  <int value="7" label="Share"/>
  <int value="8" label="Other"/>
</enum>

<enum name="PhysicalWebActivityReferer" type="int">
  <int value="0" label="REFERER_UNDEFINED"/>
  <int value="1" label="REFERER_NOTIFICATION (Obsolete)"/>
  <int value="2" label="REFERER_OPTIN (Obsolete)"/>
  <int value="3" label="REFERER_PREFERENCE"/>
  <int value="4" label="REFERER_DIAGNOSTICS"/>
</enum>

<enum name="PhysicalWebInitialStateIosChrome" type="int">
  <int value="0" label="OPTOUT_BTOFF_LOCOFF_UNAUTH"/>
  <int value="1" label="OPTOUT_BTOFF_LOCOFF_AUTH"/>
  <int value="2" label="OPTOUT_BTOFF_LOCON_UNAUTH"/>
  <int value="3" label="OPTOUT_BTOFF_LOCON_AUTH"/>
  <int value="4" label="OPTOUT_BTON_LOCOFF_UNAUTH"/>
  <int value="5" label="OPTOUT_BTON_LOCOFF_AUTH"/>
  <int value="6" label="OPTOUT_BTON_LOCON_UNAUTH"/>
  <int value="7" label="OPTOUT_BTON_LOCON_AUTH"/>
  <int value="8" label="OPTIN_BTOFF_LOCOFF_UNAUTH"/>
  <int value="9" label="OPTIN_BTOFF_LOCOFF_AUTH"/>
  <int value="10" label="OPTIN_BTOFF_LOCON_UNAUTH"/>
  <int value="11" label="OPTIN_BTOFF_LOCON_AUTH"/>
  <int value="12" label="OPTIN_BTON_LOCOFF_UNAUTH"/>
  <int value="13" label="OPTIN_BTON_LOCOFF_AUTH"/>
  <int value="14" label="OPTIN_BTON_LOCON_UNAUTH"/>
  <int value="15" label="OPTIN_BTON_LOCON_AUTH"/>
  <int value="16" label="ONBOARDING_BTOFF_LOCOFF_UNAUTH"/>
  <int value="17" label="ONBOARDING_BTOFF_LOCOFF_AUTH"/>
  <int value="18" label="ONBOARDING_BTOFF_LOCON_UNAUTH"/>
  <int value="19" label="ONBOARDING_BTOFF_LOCON_AUTH"/>
  <int value="20" label="ONBOARDING_BTON_LOCOFF_UNAUTH"/>
  <int value="21" label="ONBOARDING_BTON_LOCOFF_AUTH"/>
  <int value="22" label="ONBOARDING_BTON_LOCON_UNAUTH"/>
  <int value="23" label="ONBOARDING_BTON_LOCON_AUTH"/>
</enum>

<enum name="PhysicalWebPreferenceStatus" type="int">
  <int value="0" label="OFF"/>
  <int value="1" label="ON"/>
  <int value="2" label="ONBOARDING"/>
</enum>

<enum name="PingResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Response started"/>
  <int value="2" label="Timed out"/>
  <int value="3" label="Canceled"/>
  <int value="4" label="Failed"/>
  <int value="5" label="Uncompleted"/>
</enum>

<enum name="PipelineStatus" type="int">
  <int value="0" label="PIPELINE_OK"/>
  <int value="1" label="PIPELINE_ERROR_URL_NOT_FOUND"/>
  <int value="2" label="PIPELINE_ERROR_NETWORK"/>
  <int value="3" label="PIPELINE_ERROR_DECODE"/>
  <int value="5" label="PIPELINE_ERROR_ABORT"/>
  <int value="6" label="PIPELINE_ERROR_INITIALIZATION_FAILED"/>
  <int value="7" label="PIPELINE_ERROR_REQUIRED_FILTER_MISSING"/>
  <int value="8" label="PIPELINE_ERROR_COULD_NOT_RENDER"/>
  <int value="9" label="PIPELINE_ERROR_READ"/>
  <int value="10" label="PIPELINE_ERROR_OPERATION_PENDING"/>
  <int value="11" label="PIPELINE_ERROR_INVALID_STATE"/>
  <int value="12" label="DEMUXER_ERROR_COULD_NOT_OPEN"/>
  <int value="13" label="DEMUXER_ERROR_COULD_NOT_PARSE"/>
  <int value="14" label="DEMUXER_ERROR_NO_SUPPORTED_STREAMS"/>
  <int value="15" label="DECODER_ERROR_NOT_SUPPORTED"/>
  <int value="16" label="CHUNK_DEMUXER_ERROR_APPEND_FAILED"/>
  <int value="17" label="CHUNK_DEMUXER_ERROR_EOS_STATUS_DECODE_ERROR"/>
  <int value="18" label="CHUNK_DEMUXER_ERROR_EOS_STATUS_NETWORK_ERROR"/>
  <int value="19" label="AUDIO_RENDERER_ERROR"/>
  <int value="20" label="AUDIO_RENDERER_ERROR_SPLICE_FAILED"/>
</enum>

<enum name="Platform.BootMode.FirmwareWriteProtect" type="int">
  <int value="0" label="Off"/>
  <int value="1" label="On"/>
  <int value="2" label="Zero length range"/>
  <int value="3" label="Error"/>
</enum>

<enum name="Platform.BootMode.SwitchStatus" type="int">
  <int value="0" label="Off"/>
  <int value="1" label="On"/>
  <int value="2" label="Error"/>
</enum>

<enum name="Platform.Crouton.Started" type="int">
  <int value="0" label="Total count"/>
  <int value="1" label="Started"/>
</enum>

<enum name="PlatformFileError" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="FAILED"/>
  <int value="2" label="IN_USE"/>
  <int value="3" label="EXISTS"/>
  <int value="4" label="NOT_FOUND"/>
  <int value="5" label="ACCESS_DENIED"/>
  <int value="6" label="TOO_MANY_OPENED"/>
  <int value="7" label="NO_MEMORY"/>
  <int value="8" label="NO_SPACE"/>
  <int value="9" label="NOT_A_DIRECTORY"/>
  <int value="10" label="INVALID_OPERATION"/>
  <int value="11" label="SECURITY"/>
  <int value="12" label="ABORT"/>
  <int value="13" label="NOT_A_FILE"/>
  <int value="14" label="NOT_EMPTY"/>
  <int value="15" label="INVALID_URL"/>
  <int value="16" label="I/O"/>
</enum>

<enum name="PlatformNotificationStatus" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Service Worker not found"/>
  <int value="2" label="Service Worker error"/>
  <int value="3" label="event.waitUntil promise rejected"/>
  <int value="4" label="Database error"/>
</enum>

<enum name="PlatformStateStoreLoadResult" type="int">
  <int value="0" label="SUCCESS"/>
  <int value="1" label="CLEARED_DATA">
    Platform data cleared for new profile.
  </int>
  <int value="2" label="CLEARED_NO_DATA">
    Empty platform data cleared for new profile.
  </int>
  <int value="3" label="DATA_CLEAR_FAILED">
    Failed to clear data for new profile.
  </int>
  <int value="4" label="OPEN_FAILED">Failed to open data store.</int>
  <int value="5" label="READ_FAILED">Failed to read from data store.</int>
  <int value="6" label="PARSE_ERROR">Data could not be parsed.</int>
</enum>

<enum name="PluginAvailabilityStatus" type="int">
  <int value="0" label="PLUGIN_NOT_REGISTERED"/>
  <int value="1" label="PLUGIN_AVAILABLE"/>
  <int value="2" label="PLUGIN_DISABLED"/>
</enum>

<enum name="PluginGroup" type="int">
  <int value="0" label="Other Plugin"/>
  <int value="1" label="Adobe Reader"/>
  <int value="2" label="Java"/>
  <int value="3" label="Quicktime"/>
  <int value="4" label="Shockwave"/>
  <int value="5" label="Real Player"/>
  <int value="6" label="Silverlight"/>
  <int value="7" label="Windows Media Player"/>
  <int value="8" label="Google Talk"/>
  <int value="9" label="Google Earth"/>
</enum>

<enum name="PluginListError" type="int">
  <int value="0" label="NoError"/>
  <int value="1" label="JsonInvalidEscape"/>
  <int value="2" label="JsonSyntaxError"/>
  <int value="3" label="JsonUnexpectedToken"/>
  <int value="4" label="JsonTrailingComma"/>
  <int value="5" label="JsonTooMuchNesting"/>
  <int value="6" label="JsonUnexpectedDataAfterRoot"/>
  <int value="7" label="JsonUnsupportedEncoding"/>
  <int value="8" label="JsonUnquotedDictionaryKey"/>
  <int value="9" label="SchemaError"/>
</enum>

<enum name="PluginLoadResult" type="int">
  <int value="0" label="LOAD_SUCCESS"/>
  <int value="1" label="LOAD_FAILED"/>
  <int value="2" label="ENTRY_POINT_MISSING"/>
  <int value="3" label="INIT_FAILED"/>
  <int value="4" label="FILE_MISSING"/>
</enum>

<enum name="PluginPowerSaverPeripheralHeuristicDecision" type="int">
  <int value="0" label="Peripheral"/>
  <int value="1" label="Essential Same-Origin"/>
  <int value="2" label="Essential Cross-Origin Big"/>
  <int value="3" label="Essential Cross-Origin Whitelisted"/>
  <int value="4" label="Tiny"/>
  <int value="5" label="Unknown Size"/>
</enum>

<enum name="PluginPowerSaverPosterParamPresence" type="int">
  <int value="0" label="No poster param. Plugin power saver disabled."/>
  <int value="1" label="No poster param. Plugin power saver enabled."/>
  <int value="2" label="Poster param exists. Plugin power saver disabled."/>
  <int value="3" label="Poster param exists. Plugin power saver enabled."/>
</enum>

<enum name="PluginPowerSaverUnthrottleMethod" type="int">
  <int value="0" label="Never Unthrottled"/>
  <int value="1" label="Unthrottled by Click"/>
  <int value="2" label="Unthrottled by Retroactive Whitelist"/>
  <int value="3" label="Unthrottled by Audio Playback"/>
  <int value="4" label="Unthrottled by Size Change"/>
  <int value="5" label="Unthrottled by Omnibox icon"/>
</enum>

<enum name="PNaClOptionsOptLevelEnum" type="int">
  <int value="0" label="0"/>
  <int value="1" label="1"/>
  <int value="2" label="2"/>
  <int value="3" label="3"/>
  <int value="4" label="Default / Unknown"/>
</enum>

<enum name="PNaClTranslationCacheEnum" type="int">
  <int value="0" label="Miss"/>
  <int value="1" label="Hit"/>
</enum>

<enum name="PointerSensitivity" type="int">
  <int value="1" label="1"/>
  <int value="2" label="2"/>
  <int value="3" label="3"/>
  <int value="4" label="4"/>
  <int value="5" label="5"/>
</enum>

<enum name="PolicyLoadStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="No Policy File"/>
  <int value="2" label="Load Error"/>
</enum>

<enum name="PolicyValidationStatus" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Bad Initial Signature"/>
  <int value="2" label="Bad Signature"/>
  <int value="3" label="Policy Error Code"/>
  <int value="4" label="Payload Parse Error"/>
  <int value="5" label="Wrong Policy Type"/>
  <int value="6" label="Wrong Settings Entity ID"/>
  <int value="7" label="Bad Timestamp"/>
  <int value="8" label="Wrong Token"/>
  <int value="9" label="Wrong Username"/>
  <int value="10" label="Policy Parse Error"/>
  <int value="11" label="Bad Key Validation Signature"/>
</enum>

<enum name="Ports" type="int">
  <int value="80" label="Port 80"/>
  <int value="443" label="Port 443"/>
</enum>

<enum name="PostMergeVerificationOutcome" type="int">
  <int value="0" label="Undefined"/>
  <int value="1" label="Succeeded"/>
  <int value="2" label="No accounts found"/>
  <int value="3" label="Missing primary account"/>
  <int value="4" label="Primary account is not the first"/>
  <int value="5" label="Verification failed"/>
  <int value="6" label="Connection failed"/>
  <int value="7" label="Overflow"/>
</enum>

<enum name="PostSubmitNavigation" type="int">
  <int value="0" label="Same domain"/>
  <int value="1" label="Different domain"/>
</enum>

<enum name="PowerBrightnessAdjust" type="int">
  <int value="0" label="Brightness Down"/>
  <int value="1" label="Brightness Up"/>
  <int value="2" label="Brightness Absolute"/>
</enum>

<enum name="PowerChargerType" type="int">
  <obsolete>
    Deprecated 11/2014 in issue 427057.
  </obsolete>
  <int value="0" label="Unknown charger"/>
  <int value="1" label="MAINS charger"/>
  <int value="2" label="USB Charger"/>
  <int value="3" label="Unconfirmed Spring Charger"/>
  <int value="4" label="Safe Spring Charger"/>
</enum>

<enum name="PowerConnectedChargingPorts" type="int">
  <summary>
    Connected charging ports on Chrome OS, as reported by the kernel.
  </summary>
  <int value="0" label="No ports connected"/>
  <int value="1" label="First port connected"/>
  <int value="2" label="Second port connected"/>
  <int value="3" label="First and second ports connected"/>
  <int value="4" label="More than two ports exist"/>
</enum>

<enum name="PowerSupplyType" type="int">
  <summary>
    The type of power supply connected to a Chrome OS system, as reported by the
    kernel.
  </summary>
  <int value="0" label="Other"/>
  <int value="1" label="Mains"/>
  <int value="2" label="USB"/>
  <int value="3" label="USB_ACA"/>
  <int value="4" label="USB_CDP"/>
  <int value="5" label="USB_DCP"/>
  <int value="6" label="USB_C"/>
  <int value="7" label="USB_PD"/>
  <int value="8" label="USB_PD_DRP"/>
</enum>

<enum name="PowerwashDialogViewType" type="int">
  <int value="0" label="Invoked on settings page"/>
  <int value="1" label="Shortcut. Confirmation for powerwash only."/>
  <int value="2" label="Shortcut. Confirmation for powerwash and rollback."/>
  <int value="3" label="Shortcut. Offer. Rollback unavailable."/>
  <int value="4" label="Shortcut. Offer. Rollback available."/>
  <int value="5" label="Shortcut. Restart required."/>
</enum>

<enum name="PrecacheEvents" type="int">
  <int value="0" label="PRECACHE_TASK_STARTED_PERIODIC"/>
  <int value="1" label="PRECACHE_TASK_STARTED_ONEOFF"/>
  <int value="2" label="PRECACHE_TASK_STARTED_DUPLICATE"/>
  <int value="3" label="PRECACHE_TASK_LOAD_LIBRARY_FAIL"/>
  <int value="4" label="PRECACHE_CANCEL_NO_UNMETERED_NETWORK"/>
  <int value="5" label="PRECACHE_CANCEL_NO_POWER"/>
  <int value="6" label="PRECACHE_CANCEL_DISABLED_PREF"/>
  <int value="7" label="DISABLED_IN_PRECACHE_PREF"/>
  <int value="8" label="SYNC_SERVICE_TIMEOUT"/>
  <int value="9" label="PRECACHE_SESSION_TIMEOUT"/>
  <int value="10" label="PRECACHE_SESSION_STARTED"/>
  <int value="11" label="PERIODIC_TASK_SCHEDULE_BOOT_SIGNAL"/>
  <int value="12" label="PERIODIC_TASK_SCHEDULE_BOOT_SIGNAL_FAIL"/>
  <int value="13" label="PERIODIC_TASK_SCHEDULE_UPGRADE"/>
  <int value="14" label="PERIODIC_TASK_SCHEDULE_UPGRADE_FAIL"/>
  <int value="15" label="ONEOFF_TASK_SCHEDULE"/>
  <int value="16" label="ONEOFF_TASK_SCHEDULE_FAIL"/>
  <int value="17" label="PRECACHE_SESSION_COMPLETE"/>
  <int value="18" label="PRECACHE_SESSION_INCOMPLETE"/>
</enum>

<enum name="PreconnectedNavigation" type="int">
  <int value="0" label="No recent pre-connect to the page"/>
  <int value="1" label="Page nav. preceded by a pre-connect"/>
</enum>

<enum name="PreconnectMotivation" type="int">
  <int value="0" label="MOUSE_OVER_MOTIVATED"/>
  <int value="1" label="PAGE_SCAN_MOTIVATED"/>
  <int value="2" label="UNIT_TEST_MOTIVATED"/>
  <int value="3" label="LINKED_MAX_MOTIVATED"/>
  <int value="4" label="OMNIBOX_MOTIVATED"/>
  <int value="5" label="STARTUP_LIST_MOTIVATED"/>
  <int value="6" label="EARLY_LOAD_MOTIVATED"/>
  <int value="7" label="NO_PREFETCH_MOTIVATION"/>
  <int value="8" label="STATIC_REFERAL_MOTIVATED"/>
  <int value="9" label="LEARNED_REFERAL_MOTIVATED"/>
  <int value="10" label="SELF_REFERAL_MOTIVATED"/>
</enum>

<enum name="PreconnectSubresourceEval" type="int">
  <int value="0" label="PRECONNECTION"/>
  <int value="1" label="PRERESOLUTION"/>
  <int value="2" label="TOO_NEW"/>
</enum>

<enum name="PreconnectTriggerUsed" type="int">
  <int value="0" label="The pre-connect triggered host was not accessed"/>
  <int value="1" label="The pre-connect triggered host was accessed"/>
</enum>

<enum name="PredictionStatus" type="int">
  <int value="0" label="No prediction"/>
  <int value="1" label="Successful prediction"/>
  <int value="2" label="Wrong prediction"/>
</enum>

<enum name="PrefetchStatus" type="int">
  <int value="0" label="undefined"/>
  <int value="1" label="success from cache"/>
  <int value="2" label="success from network"/>
  <int value="3" label="canceled in-flight"/>
  <int value="4" label="success already prefetched"/>
</enum>

<enum name="PrefHashStoreVersion" type="int">
  <int value="0" label="VERSION_UNINITIALIZED"/>
  <int value="1" label="VERSION_PRE_MIGRATION"/>
  <int value="2" label="VERSION_LATEST"/>
</enum>

<enum name="PrerenderCookieSendType" type="int">
  <obsolete>
    Deprecated March 13 2015.
  </obsolete>
  <int value="0" label="no cookies sent"/>
  <int value="1" label="first party cookies sent"/>
  <int value="2" label="third party cookies sent"/>
  <int value="3" label="third party cookies sent for blocking resource"/>
</enum>

<enum name="PrerenderCookieStatus" type="int">
  <obsolete>
    Deprecated March 13 2015.
  </obsolete>
  <int value="0" label="no action"/>
  <int value="1" label="[main frame send]"/>
  <int value="2" label="[main frame change]"/>
  <int value="3" label="[main frame send, main frame change]"/>
  <int value="4" label="[other send]"/>
  <int value="5" label="[main frame send, other send]"/>
  <int value="6" label="[main frame change, other send]"/>
  <int value="7" label="[main frame send, main frame change, other send]"/>
  <int value="8" label="[other change]"/>
  <int value="9" label="[main frame send, other change]"/>
  <int value="10" label="[main frame change, other change]"/>
  <int value="11" label="[main frame send, main frame change, other change]"/>
  <int value="12" label="[other send, other change]"/>
  <int value="13" label="[main frame send, other send, other change]"/>
  <int value="14" label="[main frame change, other send, other change]"/>
  <int value="15"
      label="[main frame send, main frame change, other send, other change]"/>
</enum>

<enum name="PrerenderEvent" type="int">
  <obsolete>
    Deprecated Dec 12 2014.
  </obsolete>
  <int value="0" label="Swapin no delegate"/>
  <int value="1" label="Swapin candidate"/>
  <int value="2" label="Swapin candidate namespace matces"/>
  <int value="3" label="Swapin no merge pending"/>
  <int value="4" label="Swapin merging disabled"/>
  <int value="5" label="Swapin issuing merge"/>
  <int value="6" label="Merge for swapin candidate"/>
  <int value="7" label="Merge result no pending swapin"/>
  <int value="8" label="Merge result timeout cb"/>
  <int value="9" label="Merge result result cb"/>
  <int value="10" label="Merge result timed out"/>
  <int value="11" label="Merge result merge done"/>
  <int value="12" label="Merge result: namespace not found"/>
  <int value="13" label="Merge result: namespace not alias"/>
  <int value="14" label="Merge result: not logging"/>
  <int value="15" label="Merge result: no transactions"/>
  <int value="16" label="Merge result: too many transactions"/>
  <int value="17" label="Merge result: not mergeable"/>
  <int value="18" label="Merge result: mergeable"/>
  <int value="19" label="Merge result merge failed"/>
  <int value="20" label="Merge result swapping in"/>
  <int value="21" label="Merge result swapin successful"/>
  <int value="22" label="Merge result swapin failed"/>
</enum>

<enum name="PrerenderFinalStatus" type="int">
  <int value="0" label="USED"/>
  <int value="1" label="TIMED_OUT"/>
  <int value="2" label="EVICTED"/>
  <int value="3" label="MANAGER_SHUTDOWN"/>
  <int value="4" label="CLOSED"/>
  <int value="5" label="CREATE_NEW_WINDOW"/>
  <int value="6" label="PROFILE_DESTROYED"/>
  <int value="7" label="APP_TERMINATING"/>
  <int value="8" label="JAVASCRIPT_ALERT"/>
  <int value="9" label="AUTH_NEEDED"/>
  <int value="10" label="HTTPS"/>
  <int value="11" label="DOWNLOAD"/>
  <int value="12" label="MEMORY_LIMIT_EXCEEDED"/>
  <int value="13" label="JS_OUT_OF_MEMORY"/>
  <int value="14" label="RENDERER_UNRESPONSIVE"/>
  <int value="15" label="TOO_MANY_PROCESSES"/>
  <int value="16" label="RATE_LIMIT_EXCEEDED"/>
  <int value="17" label="PENDING_SKIPPED"/>
  <int value="18" label="CONTROL_GROUP"/>
  <int value="19" label="HTML5_MEDIA"/>
  <int value="20" label="SOURCE_RENDER_VIEW_CLOSED"/>
  <int value="21" label="RENDERER_CRASHED"/>
  <int value="22" label="UNSUPPORTED_SCHEME"/>
  <int value="23" label="INVALID_HTTP_METHOD"/>
  <int value="24" label="WINDOW_PRINT"/>
  <int value="25" label="RECENTLY_VISITED"/>
  <int value="26" label="WINDOW_OPENER"/>
  <int value="27" label="PAGE_ID_CONFLICT"/>
  <int value="28" label="SAFE_BROWSING"/>
  <int value="29" label="FRAGMENT_MISMATCH"/>
  <int value="30" label="SSL_CLIENT_CERTIFICATE_REQUESTED"/>
  <int value="31" label="CACHE_OR_HISTORY_CLEARED"/>
  <int value="32" label="CANCELLED"/>
  <int value="33" label="SSL_ERROR"/>
  <int value="34" label="CROSS_SITE_NAVIGATION_PENDING"/>
  <int value="35" label="DEVTOOLS_ATTACHED"/>
  <int value="36" label="SESSION_STORAGE_NAMESPACE_MISMATCH"/>
  <int value="37" label="NO_USE_GROUP"/>
  <int value="38" label="MATCH_COMPLETE_DUMMY"/>
  <int value="39" label="DUPLICATE"/>
  <int value="40" label="OPEN_URL"/>
  <int value="41" label="WOULD_HAVE_BEEN_USED"/>
  <int value="42" label="REGISTER_PROTOCOL_HANDLER"/>
  <int value="43" label="CREATING_AUDIO_STREAM"/>
  <int value="44" label="PAGE_BEING_CAPTURED"/>
  <int value="45" label="BAD_DEFERRED_REDIRECT"/>
  <int value="46" label="NAVIGATION_UNCOMMITTED"/>
  <int value="47" label="NEW_NAVIGATION_ENTRY"/>
  <int value="48" label="COOKIE_STORE_NOT_LOADED"/>
  <int value="49" label="COOKIE_CONFLICT"/>
  <int value="50" label="NON_EMPTY_BROWSING_INSTANCE"/>
  <int value="51" label="NAVIGATION_INTERCEPTED"/>
  <int value="52" label="PRERENDERING_DISABLED"/>
  <int value="53" label="CELLULAR_NETWORK"/>
  <int value="54" label="BLOCK_THIRD_PARTY_COOKIES"/>
  <int value="55" label="CREDENTIAL_MANAGER_API"/>
  <int value="56" label="NOSTATE_PREFETCH_FINISHED"/>
  <int value="57" label="LOW_END_DEVICE"/>
</enum>

<enum name="PrerenderHoverEvent" type="int">
  <obsolete>
    deprecated May 10 2012
  </obsolete>
  <int value="0" label="HOVER_EVENT_START"/>
  <int value="1" label="HOVER_EVENT_TOO_SHORT"/>
  <int value="2" label="HOVER_EVENT_REPLACED"/>
  <int value="3" label="HOVER_EVENT_CLICK"/>
</enum>

<enum name="PrerenderLocalPredictorEvents" type="int">
  <obsolete>
    Deprecated April 2015
  </obsolete>
  <int value="0" label="Constructed"/>
  <int value="1" label="Init scheduled"/>
  <int value="2" label="Init started"/>
  <int value="3" label="Init failed: no history"/>
  <int value="4" label="Init succeeded"/>
  <int value="5" label="AddVisit"/>
  <int value="6" label="AddVisit initialized"/>
  <int value="7" label="AddVisit prerender identified"/>
  <int value="8" label="AddVisit relevant transition"/>
  <int value="9" label="AddVisit identified prerender candidate"/>
  <int value="10" label="AddVisit prerendering"/>
  <int value="11" label="Got prerender url"/>
  <int value="12" label="Error: no prerender url for PLT"/>
  <int value="13" label="AddVisit prerender rextended"/>
  <int value="14" label="URL lookup result"/>
  <int value="15" label="URL lookup result: root page"/>
  <int value="16" label="URL lookup result: http"/>
  <int value="17" label="URL lookup result: has query string"/>
  <int value="18" label="URL lookup result: contains logout"/>
  <int value="19" label="URL lookup result: contians login"/>
  <int value="20" label="Start url lookup"/>
  <int value="21" label="AddVisit not root page"/>
  <int value="22" label="Whitelist error"/>
  <int value="23" label="Whitelist ok"/>
  <int value="24" label="URL lookup result: on whitelist"/>
  <int value="25" label="URL lookup result: on whitelist root page"/>
  <int value="26" label="URL lookup result: extended root page"/>
  <int value="27" label="URL lookup result: root page http"/>
  <int value="28" label="URL lookup failed"/>
  <int value="29" label="URL lookup no source webcontents found"/>
  <int value="30" label="URL lookup no logged in table found"/>
  <int value="31" label="URL lookup issuing logged in lookup"/>
  <int value="32" label="Continue prerender check started"/>
  <int value="33" label="Continue prerender check no url"/>
  <int value="34" label="Continue prerender check priority too low"/>
  <int value="35" label="Continue prerender check urls identical but fragemet"/>
  <int value="36" label="Continue prerender check https"/>
  <int value="37" label="Continue prerender check root page"/>
  <int value="38" label="Continue prerender check logout url"/>
  <int value="39" label="Continue prerender check login url"/>
  <int value="40" label="Continue prerender check not logged in"/>
  <int value="41" label="Continue prerender check fallthrough no prerender"/>
  <int value="42" label="Continue prerender check issuing prerender"/>
  <int value="43" label="Issuing prerender"/>
  <int value="44" label="No prerender candidates"/>
  <int value="45" label="Got history issuing lookup"/>
  <int value="46" label="Tab Helper URL seen"/>
  <int value="47" label="Tab Helper URL seen match"/>
  <int value="48" label="Tab Helper URL seen namespace match"/>
  <int value="49" label="URL lookup multiple source webcontents"/>
  <int value="50" label="Continue prerender check side-effect free whitelist"/>
  <int value="51" label="Continue prerender check Examine next URL"/>
  <int value="52" label="Issuing prerender, already prerendering"/>
  <int value="53" label="Issuing prerender, new prerender"/>
  <int value="54" label="Issuing prerender, cancelled old prerender"/>
  <int value="55" label="Continue prerender check fallthrough prerendering"/>
  <int value="56" label="URL lookup success"/>
  <int value="57" label="Prerender Service disabled"/>
  <int value="58" label="Prerender Service issued lookup"/>
  <int value="59" label="Prerender Service lookup timed out"/>
  <int value="60" label="Prerender Service received result"/>
  <int value="61" label="Prerender Service no record for result"/>
  <int value="62" label="Prerender Service parsed correctly"/>
  <int value="63" label="Prerender Service parse error"/>
  <int value="64" label="Prerender Service parse error incorrect JSON"/>
  <int value="65" label="Prerender Service hinting timed out"/>
  <int value="66" label="Prerender Service hinting url lookup timed out"/>
  <int value="67" label="Prerender Service candidate url lookup timed out"/>
  <int value="68" label="Continue prerender check service whitelist"/>
  <int value="69" label="Continue prerender check next URL local"/>
  <int value="70" label="Continue prerender check next URL service"/>
  <int value="71" label="AddVisit relevant transition repeat URL"/>
  <int value="72" label="AddVisit relevant transition new URL"/>
  <int value="73" label="Tab Helper namespace mismatch: no namespace"/>
  <int value="74" label="Tab Helper namespace mismatch: merge issued"/>
  <int value="75" label="Namespace mismatch: merge result received"/>
  <int value="76" label="Namespace mismatch: merge result namespace not found"/>
  <int value="77" label="Namespace mismatch: merge result not logging"/>
  <int value="78" label="Namespace mismatch: merge result no transactions"/>
  <int value="79"
      label="Namespace mismatch: merge result too many transactions"/>
  <int value="80" label="Namespace mismatch: merge result not mergeable"/>
  <int value="81" label="Namespace mismatch: merge result mergeable"/>
  <int value="82" label="Init failed unencrypted sync not enabled"/>
  <int value="83" label="Continue prerender check next URL not skipped"/>
  <int value="84" label="Prerender Service returned hinting candidates"/>
  <int value="85" label="Namespace mismatch: merge result namespace not alias"/>
  <int value="86" label="Tab Helper URL seen entry"/>
  <int value="87" label="Tab Helper URL seen match browser navigation"/>
  <int value="88" label="Tab Helper URL seen namespace match entry"/>
  <int value="89"
      label="Tab Helper URL seen namespace match browser navigation"/>
  <int value="90" label="Prefetch List item added"/>
  <int value="91" label="Prefetch list seen tab contents"/>
  <int value="92" label="Prefetch list seen history"/>
  <int value="93" label="Issue Prerender called"/>
  <int value="94" label="Issue Prerender prefetch enabled"/>
  <int value="95" label="Issue Prerender prefetch issued"/>
</enum>

<enum name="PrerenderLocalVisitEvents" type="int">
  <obsolete>
    Deprecated Nov 16 2012
  </obsolete>
  <int value="0" label="V1_VISIT"/>
  <int value="1" label="V1_PRERENDER_STARTED_1"/>
  <int value="2" label="V1_PRERENDER_USED_1"/>
  <int value="3" label="V1_PRERENDER_STARTED_3"/>
  <int value="4" label="V1_PRERENDER_USED_3"/>
  <int value="5" label="V1_PRERENDER_STARTED_5"/>
  <int value="6" label="V1_PRERENDER_USED_5"/>
  <int value="10" label="VISIT"/>
  <int value="11" label="VISIT_EXCLUDE_BACK_FORWARD"/>
  <int value="12" label="VISIT_EXCLUDE_HOME_PAGE"/>
  <int value="13" label="VISIT_EXCLUDE_REDIRECT_CHAIN"/>
  <int value="14" label="PRERENDER_STARTED_1"/>
  <int value="15" label="PRERENDER_USED_1"/>
  <int value="16" label="PRERENDER_STARTED_3"/>
  <int value="17" label="PRERENDER_USED_3"/>
  <int value="18" label="PRERENDER_STARTED_5"/>
  <int value="19" label="PRERENDER_USED_5"/>
</enum>

<enum name="PrerenderMode" type="int">
  <obsolete>
    deprecated Nov 16 2012
  </obsolete>
  <int value="0" label="PRERENDER_MODE_DISABLED"/>
  <int value="1" label="PRERENDER_MODE_ENABLED"/>
  <int value="2" label="PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP"/>
  <int value="3" label="PRERENDER_MODE_EXPERIMENT_PRERENDER_GROUP"/>
  <int value="4" label="PRERENDER_MODE_EXPERIMENT_5MIN_TTL_GROUP"/>
  <int value="5" label="PRERENDER_MODE_EXPERIMENT_NO_USE_GROUP"/>
  <int value="6" label="PRERENDER_MODE_EXPERIMENT_MULTI_PRERENDER_GROUP"/>
  <int value="7" label="PRERENDER_MODE_EXPERIMENT_15MIN_TTL_GROUP"/>
  <int value="8" label="PRERENDER_MODE_EXPERIMENT_MATCH_COMPLETE_GROUP"/>
</enum>

<enum name="PrerenderPageviewEvents" type="int">
  <obsolete>
    deprecated Nov 16 2012
  </obsolete>
  <int value="0" label="PAGEVIEW_EVENT_NEW_URL"/>
  <int value="1" label="PAGEVIEW_EVENT_TOP_SITE_NEW_URL"/>
  <int value="2" label="PAGEVIEW_EVENT_LOAD_START"/>
  <int value="3" label="PAGEVIEW_EVENT_TOP_SITE_LOAD_START"/>
</enum>

<enum name="PrerenderRelTypes" type="int">
  <int value="0" label="PRERENDER_REL_TYPE_NONE"/>
  <int value="1" label="PRERENDER_REL_TYPE_PRERENDER"/>
  <int value="2" label="PRERENDER_REL_TYPE_NEXT"/>
  <int value="3" label="PRERENDER_REL_TYPE_PRERENDER_AND_NEXT"/>
</enum>

<enum name="PrerenderSchemeCancelReason" type="int">
  <int value="0" label="EXTERNAL_PROTOCOL"/>
  <int value="1" label="DATA"/>
  <int value="2" label="BLOB"/>
  <int value="3" label="FILE"/>
  <int value="4" label="FILESYSTEM"/>
  <int value="5" label="WEBSOCKET"/>
  <int value="6" label="FTP"/>
  <int value="7" label="CHROME"/>
  <int value="8" label="CHROME_EXTENSION"/>
  <int value="9" label="ABOUT"/>
  <int value="10" label="UNKNOWN"/>
</enum>

<enum name="PrerenderTabHelperEvents" type="int">
  <obsolete>
    Deprecated April 2015
  </obsolete>
  <int value="0" label="Table requested"/>
  <int value="1" label="Table present"/>
  <int value="2" label="Mainframe change"/>
  <int value="3" label="Mainframe change, logged in"/>
  <int value="4" label="Mainframe commit"/>
  <int value="5" label="Mainframe commit, logged in"/>
  <int value="6" label="Login action added"/>
  <int value="7" label="Login action added, Mainframe"/>
  <int value="8" label="Login action added, Mainframe, pw empty"/>
  <int value="9" label="Login action added, Subframe"/>
  <int value="10" label="Login action added, Subframe, pw empty"/>
</enum>

<enum name="PresentationResult" type="int">
  <int value="0" label="Requested"/>
  <int value="1" label="Success"/>
  <int value="2" label="SuccessAlreadyPresenting"/>
  <int value="3" label="VRDisplayCannotPresent"/>
  <int value="4" label="PresentationNotSupportedByDisplay"/>
  <int value="5" label="VRDisplayNotFound"/>
  <int value="6" label="NotInitiatedByUserGesture"/>
  <int value="7" label="InvalidNumberOfLayers"/>
  <int value="8" label="InvalidLayerSource"/>
  <int value="9" label="LayerSourceMissingWebGLContext"/>
  <int value="10" label="InvalidLayerBounds"/>
  <int value="11" label="ServiceInactive"/>
  <int value="12" label="RequestDenied"/>
</enum>

<enum name="PreTapEvents" type="int">
  <int value="0" label="no event"/>
  <int value="1" label="tapdown"/>
  <int value="2" label="tapunconfirmed"/>
  <int value="3" label="tapdown + tapunconfirmed"/>
</enum>

<enum name="PreviewsContextMenuActionLoFi" type="int">
  <int value="0" label="'Load image' context menu item shown"/>
  <int value="1" label="'Load image' context menu item clicked"/>
  <int value="2"
      label="Pages where the user has clicked 'Load image' at least once"/>
  <int value="3" label="'Load images' context menu item shown (obsolete)"/>
  <int value="4" label="'Load images' context menu item clicked (obsolete)"/>
</enum>

<enum name="PreviewsEligibilityReason" type="int">
  <int value="0" label="Preview Allowed."/>
  <int value="1" label="Blacklist not created."/>
  <int value="2" label="Blacklist data not loaded yet from disk."/>
  <int value="3" label="User opted out of a preview recently."/>
  <int value="4" label="User is blacklisted for all hosts."/>
  <int value="5" label="User is blacklisted for the specific host."/>
  <int value="6" label="The network quality estimate is not available."/>
  <int value="7" label="The network is not slow enough to show previews."/>
  <int value="8"
      label="The page was being reloaded and the preview type can not be
             shown on a reload."/>
</enum>

<enum name="PreviewsInfoBarAction" type="int">
  <int value="0" label="Infobar shown"/>
  <int value="1" label="Infobar 'Load original' clicked"/>
  <int value="2" label="Infobar dismissed by user"/>
  <int value="3" label="Infobar dismissed by navigation"/>
  <int value="4" label="Infobar dismissed by reload"/>
  <int value="5" label="Infobar dismissed by tab closure"/>
</enum>

<enum name="PreviewsUserOptedOut" type="int">
  <int value="0" label="The user did not choose to reload the full page."/>
  <int value="1" label="The user chose to reload the full page."/>
</enum>

<enum name="PrinterServiceEventType" type="int">
  <int value="0" label="Printer added"/>
  <int value="1" label="Page displayed (Deprecated)"/>
  <int value="2" label="Printer supported notification shown"/>
  <int value="3" label="Printer not supported notification shown"/>
  <int value="4" label="Printer provider Web Store app launched"/>
</enum>

<enum name="PrintPreviewFailureType" type="int">
  <int value="0" label="No error"/>
  <int value="1" label="Bad settings from print preview tab"/>
  <int value="2" label="Copy metadata failed (Deprecated)"/>
  <int value="3" label="Metafile init failed"/>
  <int value="4" label="0-page preview"/>
  <int value="5" label="Mac draft metafile init failed (Deprecated)"/>
  <int value="6" label="PreviewPageRendered with no metafile"/>
  <int value="7" label="UpdatePrintSettings failed"/>
  <int value="8" label="Received bad printer settings"/>
</enum>

<enum name="PrintPreviewFontTypeType" type="int">
  <int value="0" label="TYPE1"/>
  <int value="1" label="TYPE1_CID"/>
  <int value="2" label="CFF"/>
  <int value="3" label="TRUETYPE"/>
  <int value="4" label="OTHER"/>
  <int value="5" label="NOT_EMBEDDABLE"/>
</enum>

<enum name="PrintPreviewGcpPromoBuckets" type="int">
  <int value="0" label="PROMO_SHOWN"/>
  <int value="1" label="PROMO_CLICKED"/>
  <int value="2" label="PROMO_CLOSED"/>
</enum>

<enum name="PrintPreviewHelperEvents" type="int">
  <int value="0" label="PREVIEW_EVENT_REQUESTED"/>
  <int value="1" label="PREVIEW_EVENT_CACHE_HIT"/>
  <int value="2" label="PREVIEW_EVENT_CREATE_DOCUMENT"/>
  <int value="3" label="PREVIEW_EVENT_NEW_SETTINGS"/>
</enum>

<enum name="PrintPreviewPrintDestinationBuckets" type="int">
  <int value="0" label="DESTINATION_SHOWN"/>
  <int value="1" label="DESTINATION_CLOSED_CHANGED"/>
  <int value="2" label="DESTINATION_CLOSED_UNCHANGED"/>
  <int value="3" label="SIGNIN_PROMPT"/>
  <int value="4" label="SIGNIN_TRIGGERED"/>
  <int value="5" label="PRIVET_DUPLICATE_SELECTED"/>
  <int value="6" label="CLOUD_DUPLICATE_SELECTED"/>
  <int value="7" label="REGISTER_PROMO_SHOWN"/>
  <int value="8" label="REGISTER_PROMO_SELECTED"/>
  <int value="9" label="ACCOUNT_CHANGED"/>
  <int value="10" label="ADD_ACCOUNT_SELECTED"/>
  <int value="11" label="INVITATION_AVAILABLE"/>
  <int value="12" label="INVITATION_ACCEPTED"/>
  <int value="13" label="INVITATION_REJECTED"/>
</enum>

<enum name="PrintPreviewPrintDocumentTypeBuckets" type="int">
  <int value="0" label="HTML_DOCUMENT"/>
  <int value="1" label="PDF_DOCUMENT"/>
</enum>

<enum name="PrintPreviewPrintSettingsUiBuckets" type="int">
  <int value="0" label="ADVANCED_SETTINGS_DIALOG_SHOWN"/>
  <int value="1" label="ADVANCED_SETTINGS_DIALOG_CANCELED"/>
  <int value="2" label="MORE_SETTINGS_CLICKED"/>
  <int value="3" label="LESS_SETTINGS_CLICKED"/>
  <int value="4" label="PRINT_WITH_SETTINGS_EXPANDED"/>
  <int value="5" label="PRINT_WITH_SETTINGS_COLLAPSED"/>
</enum>

<enum name="PrintPreviewUserActionType" type="int">
  <int value="0" label="PRINT_TO_PRINTER"/>
  <int value="1" label="PRINT_TO_PDF"/>
  <int value="2" label="CANCEL"/>
  <int value="3" label="FALLBACK_TO_ADVANCED_SETTINGS_DIALOG"/>
  <int value="4" label="PREVIEW_FAILED"/>
  <int value="5" label="PREVIEW_STARTED"/>
  <int value="6" label="INITIATOR_TAB_CRASHED_UNUSED"/>
  <int value="7" label="INITIATOR_TAB_CLOSED"/>
  <int value="8" label="PRINT_WITH_CLOUD_PRINT"/>
  <int value="9" label="PRINT_WITH_PRIVET"/>
  <int value="10" label="PRINT_WITH_EXTENSION"/>
</enum>

<enum name="PrintSettings" type="int">
  <int value="0" label="LANDSCAPE"/>
  <int value="1" label="PORTRAIT"/>
  <int value="2" label="COLOR"/>
  <int value="3" label="BLACK_AND_WHITE"/>
  <int value="4" label="COLLATE"/>
  <int value="5" label="SIMPLEX"/>
  <int value="6" label="DUPLEX"/>
  <int value="7" label="TOTAL"/>
  <int value="8" label="HEADERS_AND_FOOTERS"/>
  <int value="9" label="CSS_BACKGROUND"/>
  <int value="10" label="SELECTION_ONLY"/>
  <int value="11" label="EXTERNAL_PDF_PREVIEW"/>
  <int value="12" label="PAGE_RANGE"/>
  <int value="13" label="DEFAULT_MEDIA"/>
  <int value="14" label="NON_DEFAULT_MEDIA"/>
  <int value="15" label="COPIES"/>
  <int value="16" label="NON_DEFAULT_MARGINS"/>
  <int value="17" label="DISTILL_PAGE_UNUSED"/>
  <int value="18" label="SCALING"/>
  <int value="19" label="PRINT_AS_IMAGE"/>
</enum>

<enum name="PrivetNotificationsEvent" type="int">
  <int value="0" label="PRIVET_SERVICE_STARTED"/>
  <int value="1" label="PRIVET_LISTER_STARTED"/>
  <int value="2" label="PRIVET_DEVICE_CHANGED"/>
  <int value="3" label="PRIVET_INFO_DONE"/>
  <int value="4" label="PRIVET_NOTIFICATION_SHOWN"/>
  <int value="5" label="PRIVET_NOTIFICATION_CANCELED"/>
  <int value="6" label="PRIVET_NOTIFICATION_CLICKED"/>
  <int value="7" label="PRIVET_DISABLE_NOTIFICATIONS_CLICKED"/>
</enum>

<enum name="ProcessDetailedExitStatus" type="int">
  <int value="0" label="Empty minidump in running app"/>
  <int value="1" label="Empty minidump in paused app"/>
  <int value="2" label="Empty minidump in background app"/>
  <int value="3" label="Valid minidump in running app"/>
  <int value="4" label="Valid minidump in paused app"/>
  <int value="5" label="Valid minidump in background app"/>
</enum>

<enum name="ProcessNameHash" type="int">
  <summary>
    The hash of a lower case process name generated using metrics::HashName.
  </summary>
  <int value="-2031320757" label="naio.exe"/>
  <int value="-1975402871" label="windbg.exe"/>
  <int value="-1883802758" label="chrome.exe"/>
  <int value="-1861811955" label="origin.exe"/>
  <int value="-1794024814" label="avpui.exe"/>
  <int value="-1728702815" label="devenv.exe"/>
  <int value="-1700192260" label="outlook.exe"/>
  <int value="-1524496827" label="client.exe"/>
  <int value="-1478451048" label="nexus.exe"/>
  <int value="-1121730033" label="firefox.exe"/>
  <int value="-1119614451" label="idman.exe"/>
  <int value="-958751916" label="qq.exe"/>
  <int value="-642217101" label="new_chrome.exe"/>
  <int value="-590220378" label="phped.exe"/>
  <int value="-569935454" label="itype.exe"/>
  <int value="-319883659" label="perl.exe"/>
  <int value="-214303849" label="userinit.exe"/>
  <int value="-113003297" label="launchy.exe"/>
  <int value="-105465200" label="discord.exe"/>
  <int value="-84282901" label="cmd.exe"/>
  <int value="-46738700" label="svchost.exe"/>
  <int value="-918169" label="wlmail.exe"/>
  <int value="0" label="Unknown"/>
  <int value="98111354" label="explorer.exe"/>
  <int value="160270488" label="node.exe"/>
  <int value="169714319" label="idea.exe"/>
  <int value="179238190" label="botweb.exe"/>
  <int value="309035343" label="mailbird.exe"/>
  <int value="373915621" label="skype.exe"/>
  <int value="533327338" label="raidcall.exe"/>
  <int value="575047983" label="tween.exe"/>
  <int value="683573237" label="dropbox.exe"/>
  <int value="693432326" label="steam.exe"/>
  <int value="729198307" label="excel.exe"/>
  <int value="742620152" label="python.exe"/>
  <int value="747859312" label="courier.exe"/>
  <int value="1000072556" label="java.exe"/>
  <int value="1408608854" label="old_chrome.exe"/>
  <int value="1412988381" label="claunch.exe"/>
  <int value="1590408389" label="services.exe"/>
  <int value="1614875030" label="taskeng.exe"/>
  <int value="1630952668" label="line.exe"/>
  <int value="1641914182" label="winword.exe"/>
  <int value="1660748446" label="acad.exe"/>
  <int value="1775984853" label="spotify.exe"/>
  <int value="1896894115" label="filmora.exe"/>
  <int value="1914315258" label="cdb.exe"/>
  <int value="1941932935" label="javaw.exe"/>
  <int value="1943061727" label="fiddler.exe"/>
  <int value="1976535553" label="jsvmail.exe"/>
  <int value="2011028983" label="pcman.exe"/>
</enum>

<enum name="ProcessType" type="int">
  <obsolete>
    Deprecated 3/2013. No longer generated.
  </obsolete>
  <summary>
    The value for type comes from the ProcessType enum in
    content/public/common/process_type.h.
  </summary>
  <int value="1" label="UNKNOWN"/>
  <int value="2" label="BROWSER"/>
  <int value="3" label="RENDER"/>
  <int value="4" label="PLUGIN"/>
  <int value="5" label="WORKER"/>
  <int value="6" label="NACL"/>
  <int value="7" label="UTILITY"/>
  <int value="8" label="PROFILE_IMPORT"/>
  <int value="9" label="ZYGOTE"/>
  <int value="10" label="SANDBOX_HELPER"/>
  <int value="11" label="NACL_BROKER_PROCESS"/>
  <int value="12" label="GPU_PROCESS"/>
  <int value="13" label="PPAPI_PLUGIN_PROCESS"/>
</enum>

<enum name="ProcessType2" type="int">
  <summary>
    The value for type comes from the ProcessType enum in
    content/public/common/process_type.h.
  </summary>
  <int value="1" label="UNKNOWN"/>
  <int value="2" label="BROWSER"/>
  <int value="3" label="RENDER"/>
  <int value="4" label="PLUGIN"/>
  <int value="5" label="WORKER"/>
  <int value="6" label="UTILITY"/>
  <int value="7" label="ZYGOTE"/>
  <int value="8" label="SANDBOX_HELPER"/>
  <int value="9" label="GPU_PROCESS"/>
  <int value="10" label="PPAPI_PLUGIN_PROCESS"/>
  <int value="11" label="PPAPI_BROKER_PROCESS"/>
  <int value="12" label="PROFILE_IMPORT"/>
  <int value="13" label="NACL"/>
  <int value="14" label="NACL_BROKER_PROCESS"/>
</enum>

<enum name="ProfileAddNewUser" type="int">
  <int value="0" label="Add new user from icon menu"/>
  <int value="1" label="Add new user from title bar menu"/>
  <int value="2" label="Add new user from settings dialog"/>
  <int value="3" label="Add new user from the User Manager"/>
  <int value="4" label="Auto-created after deleting last user"/>
</enum>

<enum name="ProfileAndroidAccountManagementMenu" type="int">
  <int value="0" label="Opened Menu">
    User arrived at the Account management screen.
  </int>
  <int value="1" label="Add Account">
    User arrived at the Account management screen, and clicked Add account.
  </int>
  <int value="2" label="Go Incognito">
    User arrived at the Account management screen, and clicked Go incognito.
  </int>
  <int value="3" label="Primary Account">
    User arrived at the Account management screen, and clicked on primary.
  </int>
  <int value="4" label="Secondary Account">
    User arrived at the Account management screen, and clicked on secondary.
  </int>
  <int value="5" label="Toggled Signout">
    User arrived at the Account management screen, toggled Chrome signout.
  </int>
  <int value="6" label="Confirm Signout">
    User toggled Chrome signout, and clicked Signout.
  </int>
  <int value="7" label="Cancel Signout">
    User toggled Chrome signout, and clicked Cancel.
  </int>
</enum>

<enum name="ProfileAuth" type="int">
  <int value="0" label="Authentication was unnecessary (profile not locked)"/>
  <int value="1" label="Authentication performed using local credentials"/>
  <int value="2" label="Authentication performed on-line"/>
  <int value="3" label="Authentication failed"/>
  <int value="4" label="Authentication failed due to being offline"/>
</enum>

<enum name="ProfileAvatar" type="int">
  <int value="0" label="Generic"/>
  <int value="1" label="Generic Aqua"/>
  <int value="2" label="Generic Blue"/>
  <int value="3" label="Generic Green"/>
  <int value="4" label="Generic Orange"/>
  <int value="5" label="Generic Purple"/>
  <int value="6" label="Generic Red"/>
  <int value="7" label="Generic Yellow"/>
  <int value="8" label="Secret Agent"/>
  <int value="9" label="Superhero"/>
  <int value="10" label="Volleyball"/>
  <int value="11" label="Businessman"/>
  <int value="12" label="Ninja"/>
  <int value="13" label="Alien"/>
  <int value="14" label="Super Awesome Cool Smiley Face"/>
  <int value="15" label="Flower"/>
  <int value="16" label="Pizza"/>
  <int value="17" label="Soccer"/>
  <int value="18" label="Burger"/>
  <int value="19" label="Cat"/>
  <int value="20" label="Cupcake"/>
  <int value="21" label="Dog"/>
  <int value="22" label="Horse"/>
  <int value="23" label="Margarita"/>
  <int value="24" label="Note"/>
  <int value="25" label="Sun And Cloud"/>
  <int value="26" label="Unknown"/>
  <int value="27" label="GAIA"/>
</enum>

<enum name="ProfileCreateResult" type="int">
  <int value="0" label="Failed locally"/>
  <int value="1" label="Failed remotely"/>
  <int value="2" label="Created but not initialized (should never happen)"/>
  <int value="3" label="Succeeded"/>
  <int value="4" label="Canceled"/>
</enum>

<enum name="ProfileDeleteAction" type="int">
  <int value="0" label="Settings Page">
    The user confirmed deletion of a profile from the settings page. This metric
    is recorded even if profile deletion is cancelled after the confirmation.
  </int>
  <int value="1" label="User Manager">
    The user confirmed deletion of a profile from the User Manager. This metric
    is recorded even if profile deletion is cancelled after the confirmation.
  </int>
  <int value="2" label="User Manager Warning Shown">
    The user clicked 'Remove this person' in the user manager and was shown the
    profile deletion warning. No profile deletion action has been started yet.
  </int>
  <int value="3" label="Settings Page Warning Shown">
    The user clicked 'Remove...' or the 'X' in the settings page and was shown
    the profile deletion warning. No profile deletion action has been started
    yet.
  </int>
  <int value="4" label="Aborted after confirmation">
    The user confirmed the deletion of a profile in either the settings page or
    the User Manager, but clicked 'Stay' in an OnBeforeUnload dialog. Since the
    browsing window of the profile was still open, profile deletion was
    cancelled.
  </int>
</enum>

<enum name="ProfileDesktopMenu" type="int">
  <int value="0" label="Locked in Menu">
    User opened the user menu, and clicked lock.
  </int>
  <int value="1" label="Remove Account in Menu">
    User opened the user menu, and removed an account.
  </int>
  <int value="2" label="Add Account in Menu">
    User opened the user menu, and started adding an account.
  </int>
  <int value="3" label="Edit Profile Name in Menu">
    User opened the user menu, and changed the profile name.
  </int>
  <int value="4" label="Edit Profile Image in Menu">
    User opened the user menu, and started selecting a new profile image.
  </int>
  <int value="5" label="Open User Manager in Menu">
    User opened the user menu, and opened the User Manager.
  </int>
  <int value="6" label="Go Incognito from Menu">
    User opened the user menu, and selected Go Incognito.
  </int>
</enum>

<enum name="ProfileErrorType" type="int">
  <int value="0" label="History error"/>
  <int value="1" label="Preferences error"/>
  <int value="2" label="Webdata autofill DB error"/>
  <int value="3" label="Webdata token DB error"/>
  <int value="4" label="Webdata DB error"/>
  <int value="5" label="Webdata keyword DB error"/>
</enum>

<enum name="ProfileGaiaPhotoOptions" type="int">
  <int value="0" label="User opted to use GAIA photo"/>
  <int value="1" label="User opted not to use GAIA photo"/>
</enum>

<enum name="ProfileImageDownloadResult" type="int">
  <int value="0" label="DownloadSuccessChanged">
    <summary>
      Reported when image download succeeds and the image is newer than what we
      already have so we update it.
    </summary>
  </int>
  <int value="1" label="DownloadSuccess">
    <summary>Reported anytime we download profile image successfully.</summary>
  </int>
  <int value="2" label="DownloadFailure">
    <summary>Download failed because of network errors.</summary>
  </int>
  <int value="3" label="DownloadDefault">
    <summary>
      We didn't download the image because it's the default one.
    </summary>
  </int>
</enum>

<enum name="ProfileNetUserCount" type="int">
  <int value="0" label="Added new user"/>
  <int value="1" label="Deleted a profile"/>
</enum>

<enum name="ProfileNewAvatarMenuNotYou" type="int">
  <int value="0" label="View 'Not You?' Bubble">
    User views the 'Not You?' bubble.
  </int>
  <int value="1" label="Back">
    User selects back from within the 'Not You?' bubble.
  </int>
  <int value="2" label="Add Person">
    User adds a person from within the 'Not You?' bubble.
  </int>
  <int value="3" label="Disconnect">
    User chooses to disconnect (sign out) from within the 'Not You?' bubble.
  </int>
</enum>

<enum name="ProfileNewAvatarMenuSignin" type="int">
  <int value="0" label="View Signin Bubble">
    User viewed the signin bubble after successfully using the inline signin.
  </int>
  <int value="1" label="Dismiss">
    User selected ok to dismiss the signin bubble.
  </int>
  <int value="2" label="Settings">
    User opened the settings from the signin bubble.
  </int>
</enum>

<enum name="ProfileNewAvatarMenuUpgrade" type="int">
  <int value="0" label="View Upgrade Bubble">
    User views the upgrade bubble.
  </int>
  <int value="1" label="Dismiss">User dismissed the upgrade bubble.</int>
  <int value="2" label="What's New">
    User selects 'What's New' in the upgrade bubble.
  </int>
  <int value="3" label="Not You?">
    User selects 'Not You?' in the upgrade bubble.
  </int>
</enum>

<enum name="ProfileOpen" type="int">
  <int value="0" label="Add new user"/>
  <int value="1" label="Add new user from icon menu"/>
  <int value="2" label="Add new user from title bar menu"/>
  <int value="3" label="Switch profile from icon menu"/>
  <int value="4" label="Switch profile from title bar menu"/>
  <int value="5" label="Opened the avatar bubble menu from NTP"/>
  <int value="6" label="Opened the avatar bubble menu from icon"/>
  <int value="7" label="Deleted a profile"/>
</enum>

<enum name="ProfileOpenMethod" type="int">
  <int value="0" label="Opened the avatar menu from NTP"/>
  <int value="1" label="Opened the avatar menu from avatar button"/>
  <int value="2" label="Switch to profile from icon menu"/>
  <int value="3" label="Switch to profile from title bar menu"/>
  <int value="4" label="Switch to profile from Mac OS X Dock menu"/>
  <int value="5" label="Opened the User Manager"/>
  <int value="6" label="Switch to profile via User Manager"/>
  <int value="7" label="Switch to locked profile via User Manager"/>
  <int value="8" label="Switch to Guest profile"/>
  <int value="9" label="Switch to profile from context menu"/>
</enum>

<enum name="ProfileResetRequestOriginEnum" type="int">
  <int value="0" label="Unspecified"/>
  <int value="1" label="Unknown"/>
  <int value="2" label="User click"/>
  <int value="3" label="CCT"/>
  <int value="4" label="Triggered reset"/>
</enum>

<enum name="ProfileSigninStatus" type="int">
  <int value="0" label="All profiles signed in"/>
  <int value="1" label="All profiles not signed in"/>
  <int value="2" label="Mixed signin status"/>
  <int value="3" label="Unknown signin status"/>
  <int value="4" label="Error getting signin status"/>
</enum>

<enum name="ProfileSync" type="int">
  <int value="0" label="Signed in to sync"/>
  <int value="1" label="Signed in to sync from original profile"/>
  <int value="2" label="Signed in to sync from secondary profile"/>
  <int value="3" label="Customized sync options"/>
  <int value="4" label="Chose what to sync"/>
  <int value="5" label="Encrypted all data"/>
  <int value="6" label="Selected a passphrase"/>
</enum>

<enum name="ProfileSyncCustomize" type="int">
  <int value="0" label="Customized sync options"/>
  <int value="1" label="Chose what to sync"/>
  <int value="2" label="Encrypted all data"/>
  <int value="3" label="Selected a passphrase"/>
</enum>

<enum name="ProfileType" type="int">
  <int value="0" label="Original (default) profile"/>
  <int value="1" label="Secondary (user-created) profile"/>
</enum>

<enum name="ProfileUpgradeEnrollment" type="int">
  <int value="0" label="User viewed the Upgrade promo card in the user menu."/>
  <int value="1" label="User selected to view the intro tutorial."/>
  <int value="2" label="User opted into New Profile Management by Promo card."/>
  <int value="3" label="User closed the Upgrade card."/>
  <int value="4" label="User disabled New Profiles Management."/>
  <int value="5" label="User elected to send feedback."/>
</enum>

<enum name="ProtectorError" type="int">
  <obsolete>
    Deprecated 8/2013. No longer generated.
  </obsolete>
  <summary>
    Codes for errors Protector detects about settings it protects. See
    chrome/browser/protector/histograms.h for the corresponding enum.
  </summary>
  <int value="0" label="Backup invalid"/>
  <int value="1" label="Value changed"/>
  <int value="2" label="Value valid"/>
  <int value="3" label="Value is valid and zero"/>
</enum>

<enum name="ProtocolVersion" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="HTTP 1.1"/>
  <int value="2" label="SPDY 2.0"/>
  <int value="3" label="SPDY 3.0"/>
  <int value="4" label="SPDY 3.1"/>
  <int value="5" label="SPDY 4.0"/>
</enum>

<enum name="ProvisionalLoadEvent" type="int">
  <int value="0" label="Stopped no error">
    This should represent the provisional load being stopped by the user, but
    should not occur pre-PlzNavigate.
  </int>
  <int value="1" label="Load failed: ERR_ABORTED">
    The provisional load failed with net::ERR_ABORTED. Note that ERR_ABORTED
    includes downloads, 204s, and other non user-initiated abort conditions
    (crbug.com/542369)
  </int>
  <int value="2" label="Load failed: not ERR_ABORTED">
    The provisional load failed with an error other than net::ERR_ABORTED
  </int>
  <int value="3" label="Load successfully committed"/>
</enum>

<enum name="ProvisionalSaveFailure" type="int">
  <int value="0" label="SAVING_DISABLED"/>
  <int value="1" label="EMPTY_PASSWORD"/>
  <int value="2" label="NO_MATCHING_FORM"/>
  <int value="3" label="MATCHING_NOT_COMPLETE"/>
  <int value="4" label="FORM_BLACKLISTED"/>
  <int value="5" label="INVALID_FORM"/>
  <int value="6" label="AUTOCOMPLETE_OFF"/>
  <int value="7" label="SYNC_CREDENTIALS"/>
</enum>

<enum name="ProxyStatus" type="int">
  <int value="0" label="PROXY_STATUS_IGNORED"/>
  <int value="1" label="PROXY_UNINITIALIZED"/>
  <int value="2" label="PROXY_NOT_USED"/>
  <int value="3" label="PROXY_PAC_RESOLVER"/>
  <int value="4" label="PROXY_HAS_RULES"/>
</enum>

<enum name="PublicKeyPinFailedDomain" type="int">
  <int value="0" label="DOMAIN_NOT_PINNED"/>
  <int value="1" label="DOMAIN_GOOGLE_COM"/>
  <int value="2" label="DOMAIN_ANDROID_COM"/>
  <int value="3" label="DOMAIN_GOOGLE_ANALYTICS_COM"/>
  <int value="4" label="DOMAIN_GOOGLEPLEX_COM"/>
  <int value="5" label="DOMAIN_YTIMG_COM"/>
  <int value="6" label="DOMAIN_GOOGLEUSERCONTENT_COM"/>
  <int value="7" label="DOMAIN_YOUTUBE_COM"/>
  <int value="8" label="DOMAIN_GOOGLEAPIS_COM"/>
  <int value="9" label="DOMAIN_GOOGLEADSERVICES_COM"/>
  <int value="10" label="DOMAIN_GOOGLECODE_COM"/>
  <int value="11" label="DOMAIN_APPSPOT_COM"/>
  <int value="12" label="DOMAIN_GOOGLESYNDICATION_COM"/>
  <int value="13" label="DOMAIN_DOUBLECLICK_NET"/>
  <int value="14" label="DOMAIN_GSTATIC_COM"/>
  <int value="15" label="DOMAIN_GMAIL_COM"/>
  <int value="16" label="DOMAIN_GOOGLEMAIL_COM"/>
  <int value="17" label="DOMAIN_GOOGLEGROUPS_COM"/>
  <int value="18" label="DOMAIN_TORPROJECT_ORG"/>
  <int value="19" label="DOMAIN_TWITTER_COM"/>
  <int value="20" label="DOMAIN_TWIMG_COM"/>
  <int value="21" label="DOMAIN_AKAMAIHD_NET"/>
  <int value="22" label="DOMAIN_TOR2WEB_ORG"/>
  <int value="23" label="DOMAIN_YOUTU_BE"/>
  <int value="24" label="DOMAIN_GOOGLECOMMERCE_COM"/>
  <int value="25" label="DOMAIN_URCHIN_COM"/>
  <int value="26" label="DOMAIN_GOO_GL"/>
  <int value="27" label="DOMAIN_G_CO"/>
  <int value="28" label="DOMAIN_GOOGLE_AC"/>
  <int value="29" label="DOMAIN_GOOGLE_AD"/>
  <int value="30" label="DOMAIN_GOOGLE_AE"/>
  <int value="31" label="DOMAIN_GOOGLE_AF"/>
  <int value="32" label="DOMAIN_GOOGLE_AG"/>
  <int value="33" label="DOMAIN_GOOGLE_AM"/>
  <int value="34" label="DOMAIN_GOOGLE_AS"/>
  <int value="35" label="DOMAIN_GOOGLE_AT"/>
  <int value="36" label="DOMAIN_GOOGLE_AZ"/>
  <int value="37" label="DOMAIN_GOOGLE_BA"/>
  <int value="38" label="DOMAIN_GOOGLE_BE"/>
  <int value="39" label="DOMAIN_GOOGLE_BF"/>
  <int value="40" label="DOMAIN_GOOGLE_BG"/>
  <int value="41" label="DOMAIN_GOOGLE_BI"/>
  <int value="42" label="DOMAIN_GOOGLE_BJ"/>
  <int value="43" label="DOMAIN_GOOGLE_BS"/>
  <int value="44" label="DOMAIN_GOOGLE_BY"/>
  <int value="45" label="DOMAIN_GOOGLE_CA"/>
  <int value="46" label="DOMAIN_GOOGLE_CAT"/>
  <int value="47" label="DOMAIN_GOOGLE_CC"/>
  <int value="48" label="DOMAIN_GOOGLE_CD"/>
  <int value="49" label="DOMAIN_GOOGLE_CF"/>
  <int value="50" label="DOMAIN_GOOGLE_CG"/>
  <int value="51" label="DOMAIN_GOOGLE_CH"/>
  <int value="52" label="DOMAIN_GOOGLE_CI"/>
  <int value="53" label="DOMAIN_GOOGLE_CL"/>
  <int value="54" label="DOMAIN_GOOGLE_CM"/>
  <int value="55" label="DOMAIN_GOOGLE_CN"/>
  <int value="56" label="DOMAIN_CO_AO"/>
  <int value="57" label="DOMAIN_CO_BW"/>
  <int value="58" label="DOMAIN_CO_CK"/>
  <int value="59" label="DOMAIN_CO_CR"/>
  <int value="60" label="DOMAIN_CO_HU"/>
  <int value="61" label="DOMAIN_CO_ID"/>
  <int value="62" label="DOMAIN_CO_IL"/>
  <int value="63" label="DOMAIN_CO_IM"/>
  <int value="64" label="DOMAIN_CO_IN"/>
  <int value="65" label="DOMAIN_CO_JE"/>
  <int value="66" label="DOMAIN_CO_JP"/>
  <int value="67" label="DOMAIN_CO_KE"/>
  <int value="68" label="DOMAIN_CO_KR"/>
  <int value="69" label="DOMAIN_CO_LS"/>
  <int value="70" label="DOMAIN_CO_MA"/>
  <int value="71" label="DOMAIN_CO_MZ"/>
  <int value="72" label="DOMAIN_CO_NZ"/>
  <int value="73" label="DOMAIN_CO_TH"/>
  <int value="74" label="DOMAIN_CO_TZ"/>
  <int value="75" label="DOMAIN_CO_UG"/>
  <int value="76" label="DOMAIN_CO_UK"/>
  <int value="77" label="DOMAIN_CO_UZ"/>
  <int value="78" label="DOMAIN_CO_VE"/>
  <int value="79" label="DOMAIN_CO_VI"/>
  <int value="80" label="DOMAIN_CO_ZA"/>
  <int value="81" label="DOMAIN_CO_ZM"/>
  <int value="82" label="DOMAIN_CO_ZW"/>
  <int value="83" label="DOMAIN_COM_AF"/>
  <int value="84" label="DOMAIN_COM_AG"/>
  <int value="85" label="DOMAIN_COM_AI"/>
  <int value="86" label="DOMAIN_COM_AR"/>
  <int value="87" label="DOMAIN_COM_AU"/>
  <int value="88" label="DOMAIN_COM_BD"/>
  <int value="89" label="DOMAIN_COM_BH"/>
  <int value="90" label="DOMAIN_COM_BN"/>
  <int value="91" label="DOMAIN_COM_BO"/>
  <int value="92" label="DOMAIN_COM_BR"/>
  <int value="93" label="DOMAIN_COM_BY"/>
  <int value="94" label="DOMAIN_COM_BZ"/>
  <int value="95" label="DOMAIN_COM_CN"/>
  <int value="96" label="DOMAIN_COM_CO"/>
  <int value="97" label="DOMAIN_COM_CU"/>
  <int value="98" label="DOMAIN_COM_CY"/>
  <int value="99" label="DOMAIN_COM_DO"/>
  <int value="100" label="DOMAIN_COM_EC"/>
  <int value="101" label="DOMAIN_COM_EG"/>
  <int value="102" label="DOMAIN_COM_ET"/>
  <int value="103" label="DOMAIN_COM_FJ"/>
  <int value="104" label="DOMAIN_COM_GE"/>
  <int value="105" label="DOMAIN_COM_GH"/>
  <int value="106" label="DOMAIN_COM_GI"/>
  <int value="107" label="DOMAIN_COM_GR"/>
  <int value="108" label="DOMAIN_COM_GT"/>
  <int value="109" label="DOMAIN_COM_HK"/>
  <int value="110" label="DOMAIN_COM_IQ"/>
  <int value="111" label="DOMAIN_COM_JM"/>
  <int value="112" label="DOMAIN_COM_JO"/>
  <int value="113" label="DOMAIN_COM_KH"/>
  <int value="114" label="DOMAIN_COM_KW"/>
  <int value="115" label="DOMAIN_COM_LB"/>
  <int value="116" label="DOMAIN_COM_LY"/>
  <int value="117" label="DOMAIN_COM_MT"/>
  <int value="118" label="DOMAIN_COM_MX"/>
  <int value="119" label="DOMAIN_COM_MY"/>
  <int value="120" label="DOMAIN_COM_NA"/>
  <int value="121" label="DOMAIN_COM_NF"/>
  <int value="122" label="DOMAIN_COM_NG"/>
  <int value="123" label="DOMAIN_COM_NI"/>
  <int value="124" label="DOMAIN_COM_NP"/>
  <int value="125" label="DOMAIN_COM_NR"/>
  <int value="126" label="DOMAIN_COM_OM"/>
  <int value="127" label="DOMAIN_COM_PA"/>
  <int value="128" label="DOMAIN_COM_PE"/>
  <int value="129" label="DOMAIN_COM_PH"/>
  <int value="130" label="DOMAIN_COM_PK"/>
  <int value="131" label="DOMAIN_COM_PL"/>
  <int value="132" label="DOMAIN_COM_PR"/>
  <int value="133" label="DOMAIN_COM_PY"/>
  <int value="134" label="DOMAIN_COM_QA"/>
  <int value="135" label="DOMAIN_COM_RU"/>
  <int value="136" label="DOMAIN_COM_SA"/>
  <int value="137" label="DOMAIN_COM_SB"/>
  <int value="138" label="DOMAIN_COM_SG"/>
  <int value="139" label="DOMAIN_COM_SL"/>
  <int value="140" label="DOMAIN_COM_SV"/>
  <int value="141" label="DOMAIN_COM_TJ"/>
  <int value="142" label="DOMAIN_COM_TN"/>
  <int value="143" label="DOMAIN_COM_TR"/>
  <int value="144" label="DOMAIN_COM_TW"/>
  <int value="145" label="DOMAIN_COM_UA"/>
  <int value="146" label="DOMAIN_COM_UY"/>
  <int value="147" label="DOMAIN_COM_VC"/>
  <int value="148" label="DOMAIN_COM_VE"/>
  <int value="149" label="DOMAIN_COM_VN"/>
  <int value="150" label="DOMAIN_GOOGLE_CV"/>
  <int value="151" label="DOMAIN_GOOGLE_CZ"/>
  <int value="152" label="DOMAIN_GOOGLE_DE"/>
  <int value="153" label="DOMAIN_GOOGLE_DJ"/>
  <int value="154" label="DOMAIN_GOOGLE_DK"/>
  <int value="155" label="DOMAIN_GOOGLE_DM"/>
  <int value="156" label="DOMAIN_GOOGLE_DZ"/>
  <int value="157" label="DOMAIN_GOOGLE_EE"/>
  <int value="158" label="DOMAIN_GOOGLE_ES"/>
  <int value="159" label="DOMAIN_GOOGLE_FI"/>
  <int value="160" label="DOMAIN_GOOGLE_FM"/>
  <int value="161" label="DOMAIN_GOOGLE_FR"/>
  <int value="162" label="DOMAIN_GOOGLE_GA"/>
  <int value="163" label="DOMAIN_GOOGLE_GE"/>
  <int value="164" label="DOMAIN_GOOGLE_GG"/>
  <int value="165" label="DOMAIN_GOOGLE_GL"/>
  <int value="166" label="DOMAIN_GOOGLE_GM"/>
  <int value="167" label="DOMAIN_GOOGLE_GP"/>
  <int value="168" label="DOMAIN_GOOGLE_GR"/>
  <int value="169" label="DOMAIN_GOOGLE_GY"/>
  <int value="170" label="DOMAIN_GOOGLE_HK"/>
  <int value="171" label="DOMAIN_GOOGLE_HN"/>
  <int value="172" label="DOMAIN_GOOGLE_HR"/>
  <int value="173" label="DOMAIN_GOOGLE_HT"/>
  <int value="174" label="DOMAIN_GOOGLE_HU"/>
  <int value="175" label="DOMAIN_GOOGLE_IE"/>
  <int value="176" label="DOMAIN_GOOGLE_IM"/>
  <int value="177" label="DOMAIN_GOOGLE_INFO"/>
  <int value="178" label="DOMAIN_GOOGLE_IQ"/>
  <int value="179" label="DOMAIN_GOOGLE_IS"/>
  <int value="180" label="DOMAIN_GOOGLE_IT"/>
  <int value="181" label="DOMAIN_IT_AO"/>
  <int value="182" label="DOMAIN_GOOGLE_JE"/>
  <int value="183" label="DOMAIN_GOOGLE_JO"/>
  <int value="184" label="DOMAIN_GOOGLE_JOBS"/>
  <int value="185" label="DOMAIN_GOOGLE_JP"/>
  <int value="186" label="DOMAIN_GOOGLE_KG"/>
  <int value="187" label="DOMAIN_GOOGLE_KI"/>
  <int value="188" label="DOMAIN_GOOGLE_KZ"/>
  <int value="189" label="DOMAIN_GOOGLE_LA"/>
  <int value="190" label="DOMAIN_GOOGLE_LI"/>
  <int value="191" label="DOMAIN_GOOGLE_LK"/>
  <int value="192" label="DOMAIN_GOOGLE_LT"/>
  <int value="193" label="DOMAIN_GOOGLE_LU"/>
  <int value="194" label="DOMAIN_GOOGLE_LV"/>
  <int value="195" label="DOMAIN_GOOGLE_MD"/>
  <int value="196" label="DOMAIN_GOOGLE_ME"/>
  <int value="197" label="DOMAIN_GOOGLE_MG"/>
  <int value="198" label="DOMAIN_GOOGLE_MK"/>
  <int value="199" label="DOMAIN_GOOGLE_ML"/>
  <int value="200" label="DOMAIN_GOOGLE_MN"/>
  <int value="201" label="DOMAIN_GOOGLE_MS"/>
  <int value="202" label="DOMAIN_GOOGLE_MU"/>
  <int value="203" label="DOMAIN_GOOGLE_MV"/>
  <int value="204" label="DOMAIN_GOOGLE_MW"/>
  <int value="205" label="DOMAIN_GOOGLE_NE"/>
  <int value="206" label="DOMAIN_NE_JP"/>
  <int value="207" label="DOMAIN_GOOGLE_NET"/>
  <int value="208" label="DOMAIN_GOOGLE_NL"/>
  <int value="209" label="DOMAIN_GOOGLE_NO"/>
  <int value="210" label="DOMAIN_GOOGLE_NR"/>
  <int value="211" label="DOMAIN_GOOGLE_NU"/>
  <int value="212" label="DOMAIN_OFF_AI"/>
  <int value="213" label="DOMAIN_GOOGLE_PK"/>
  <int value="214" label="DOMAIN_GOOGLE_PL"/>
  <int value="215" label="DOMAIN_GOOGLE_PN"/>
  <int value="216" label="DOMAIN_GOOGLE_PS"/>
  <int value="217" label="DOMAIN_GOOGLE_PT"/>
  <int value="218" label="DOMAIN_GOOGLE_RO"/>
  <int value="219" label="DOMAIN_GOOGLE_RS"/>
  <int value="220" label="DOMAIN_GOOGLE_RU"/>
  <int value="221" label="DOMAIN_GOOGLE_RW"/>
  <int value="222" label="DOMAIN_GOOGLE_SC"/>
  <int value="223" label="DOMAIN_GOOGLE_SE"/>
  <int value="224" label="DOMAIN_GOOGLE_SH"/>
  <int value="225" label="DOMAIN_GOOGLE_SI"/>
  <int value="226" label="DOMAIN_GOOGLE_SK"/>
  <int value="227" label="DOMAIN_GOOGLE_SM"/>
  <int value="228" label="DOMAIN_GOOGLE_SN"/>
  <int value="229" label="DOMAIN_GOOGLE_SO"/>
  <int value="230" label="DOMAIN_GOOGLE_ST"/>
  <int value="231" label="DOMAIN_GOOGLE_TD"/>
  <int value="232" label="DOMAIN_GOOGLE_TG"/>
  <int value="233" label="DOMAIN_GOOGLE_TK"/>
  <int value="234" label="DOMAIN_GOOGLE_TL"/>
  <int value="235" label="DOMAIN_GOOGLE_TM"/>
  <int value="236" label="DOMAIN_GOOGLE_TN"/>
  <int value="237" label="DOMAIN_GOOGLE_TO"/>
  <int value="238" label="DOMAIN_GOOGLE_TP"/>
  <int value="239" label="DOMAIN_GOOGLE_TT"/>
  <int value="240" label="DOMAIN_GOOGLE_US"/>
  <int value="241" label="DOMAIN_GOOGLE_UZ"/>
  <int value="242" label="DOMAIN_GOOGLE_VG"/>
  <int value="243" label="DOMAIN_GOOGLE_VU"/>
  <int value="244" label="DOMAIN_GOOGLE_WS"/>
  <int value="245" label="DOMAIN_CHROMIUM_ORG"/>
  <int value="246" label="DOMAIN_CRYPTO_CAT"/>
  <int value="247" label="DOMAIN_LAVABIT_COM"/>
  <int value="248" label="DOMAIN_GOOGLETAGMANAGER_COM"/>
  <int value="249" label="DOMAIN_GOOGLETAGSERVICES_COM"/>
  <int value="250" label="DOMAIN_DROPBOX_COM"/>
  <int value="251" label="DOMAIN_YOUTUBE_NOCOOKIE_COM"/>
  <int value="252" label="DOMAIN_2MDN_NET"/>
  <int value="253" label="DOMAIN_FACEBOOK_COM"/>
  <int value="254" label="DOMAIN_SPIDEROAK_COM"/>
</enum>

<enum name="PushDeliveryStatus" type="int">
  <int value="0" label="Successful"/>
  <int value="1" label="Message was invalid"/>
  <int value="2" label="App id was unknown"/>
  <int value="3" label="Origin no longer has permission"/>
  <int value="4" label="Service Worker not found"/>
  <int value="5" label="Service Worker error"/>
  <int value="6" label="event.waitUntil promise rejected"/>
  <int value="7" label="Service Worker timeout while processing event"/>
</enum>

<enum name="PushGetRegistrationStatus" type="int">
  <int value="0" label="Successful"/>
  <int value="1" label="No push service"/>
  <int value="2" label="Storage error"/>
  <int value="3" label="Registration not found"/>
  <int value="4" label="Registration not found (no incognito push service)"/>
  <int value="5" label="Unable to retrieve the public key"/>
  <int value="6" label="Storage corrupt"/>
  <int value="7" label="Renderer shutdown"/>
</enum>

<enum name="PushRegistrationStatus" type="int">
  <int value="0" label="Successful - from push service"/>
  <int value="1" label="Service Worker not found"/>
  <int value="2" label="No push service"/>
  <int value="3" label="Registration limit reached"/>
  <int value="4" label="Permission denied"/>
  <int value="5" label="Push service error"/>
  <int value="6" label="No sender id provided"/>
  <int value="7" label="Storage error"/>
  <int value="8" label="Successful - from cache"/>
  <int value="9" label="Network error"/>
  <int value="10" label="Permission denied (no incognito push service)"/>
  <int value="11" label="Unable to retrieve the public key"/>
  <int value="12" label="Empty or missing manifest"/>
  <int value="13" label="Mismatched sender id"/>
  <int value="14" label="Storage corrupt"/>
  <int value="15" label="Renderer shutdown"/>
</enum>

<enum name="PushUnregistrationReason" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="unsubscribe() JavaScript API"/>
  <int value="2" label="Permission revoked"/>
  <int value="3" label="Incoming message app id was unknown"/>
  <int value="4" label="Incoming message origin no longer has permission"/>
  <int value="5" label="Incoming message Service Worker not found"/>
  <int value="6" label="GCM Store reset due to corruption"/>
  <int value="7" label="Service Worker unregistered"/>
  <int value="8" label="subscribe() storage corrupt"/>
  <int value="9" label="getSubscription() storage corrupt"/>
</enum>

<enum name="PushUnregistrationStatus" type="int">
  <int value="0" label="Successful - from push service"/>
  <int value="1" label="Successful - was not registered"/>
  <int value="2" label="Pending - will retry network error"/>
  <int value="3" label="Service Worker not found"/>
  <int value="4" label="No push service"/>
  <int value="5" label="Pending - will retry push service error"/>
  <int value="6" label="Storage error"/>
  <int value="7" label="Network error"/>
</enum>

<enum name="PushUserVisibleStatus" type="int">
  <int value="0" label="Required and shown"/>
  <int value="1" label="Not required but shown"/>
  <int value="2" label="Not required and not shown"/>
  <int value="3" label="Required but not shown - used grace"/>
  <int value="4" label="Required but not shown - grace exceeded"/>
</enum>

<enum name="QuicAddressMismatch" type="int">
  <int value="0" label="Address mismatch: IPv4 IPv4"/>
  <int value="1" label="Address mismatch: IPv6 IPv6"/>
  <int value="2" label="Address mismatch: IPv4 IPv6"/>
  <int value="3" label="Address mismatch: IPv6 IPv4"/>
  <int value="4" label="Port mismatch: IPv4 IPv4"/>
  <int value="5" label="Port mismatch: IPv6 IPv6"/>
  <int value="6" label="Address and port match: IPv4 IPv4"/>
  <int value="7" label="Address and port match: IPv6 IPv6"/>
</enum>

<enum name="QuicAlternativeProxyUsage" type="int">
  <int value="0" label="ALTERNATIVE_PROXY_USAGE_NO_RACE"/>
  <int value="1" label="ALTERNATIVE_PROXY_USAGE_WON_RACE"/>
  <int value="2" label="ALTERNATIVE_PROXY_USAGE_LOST_RACE"/>
</enum>

<enum name="QuicBadPacketLossEvents" type="int">
  <int value="1" label="ONE_PACKET_LOST"/>
  <int value="2" label="TWO_PACKETS_LOST"/>
  <int value="3" label="THREE_PACKETS_LOST"/>
  <int value="4" label="FOUR_PACKETS_LOST"/>
  <int value="5" label="FIVE_PACKETS_LOST"/>
</enum>

<enum name="QuicConnectionMigrationStatus" type="int">
  <int value="0" label="NO_MIGRATABLE_STREAMS"/>
  <int value="1" label="ALREADY_MIGRATED"/>
  <int value="2" label="INTERNAL_ERROR"/>
  <int value="3" label="TOO_MANY_CHANGES"/>
  <int value="4" label="SUCCESS"/>
  <int value="5" label="NON_MIGRATABLE_STREAM"/>
  <int value="6" label="DISABLED"/>
  <int value="7" label="MIGRATION_STATUS_NO_ALTERNATE_NETWORK"/>
</enum>

<enum name="QuicDisabledReason" type="int">
  <int value="1" label="Public reset post handshake"/>
  <int value="2" label="Timeout with open streams"/>
  <int value="3" label="Bad packet loss rate"/>
</enum>

<enum name="QuicDiskCacheAPICall" type="int">
  <int value="0" label="Start"/>
  <int value="1" label="WaitForDataReady"/>
  <int value="2" label="Parse"/>
  <int value="3" label="WaitForDataReadyCancel"/>
  <int value="4" label="ReadyToPersist"/>
  <int value="5" label="Persist"/>
  <int value="6" label="ExternalCacheHit"/>
  <int value="7" label="ResetWaitForDataReady"/>
</enum>

<enum name="QuicDiskCacheEntryState" type="int">
  <int value="0" label="Opened"/>
  <int value="1" label="Closed"/>
</enum>

<enum name="QuicDiskCacheFailureReason" type="int">
  <int value="0" label="WAIT_FOR_DATA_READY_INVALID_ARGUMENT_FAILURE"/>
  <int value="1" label="GET_BACKEND_FAILURE"/>
  <int value="2" label="OPEN_FAILURE"/>
  <int value="3" label="CREATE_OR_OPEN_FAILURE"/>
  <int value="4" label="PARSE_NO_DATA_FAILURE"/>
  <int value="5" label="PARSE_FAILURE"/>
  <int value="6" label="READ_FAILURE"/>
  <int value="7" label="READY_TO_PERSIST_FAILURE"/>
  <int value="8" label="PERSIST_NO_BACKEND_FAILURE"/>
  <int value="9" label="WRITE_FAILURE"/>
  <int value="10" label="NO_FAILURE"/>
  <int value="11" label="PARSE_DATA_DECODE_FAILURE"/>
</enum>

<enum name="QuicErrorCodes" type="int">
  <int value="0" label="NO_ERROR"/>
  <int value="1" label="INTERNAL_ERROR"/>
  <int value="2" label="STREAM_DATA_AFTER_TERMINATION"/>
  <int value="3" label="INVALID_PACKET_HEADER"/>
  <int value="4" label="INVALID_FRAME_DATA"/>
  <int value="5" label="INVALID_FEC_DATA"/>
  <int value="6" label="INVALID_RST_STREAM_DATA"/>
  <int value="7" label="INVALID_CONNECTION_CLOSE_DATA"/>
  <int value="8" label="INVALID_GOAWAY_DATA"/>
  <int value="9" label="INVALID_ACK_DATA"/>
  <int value="10" label="INVALID_VERSION_NEGOTIATION_PACKET"/>
  <int value="11" label="INVALID_PUBLIC_RST_PACKET"/>
  <int value="12" label="DECRYPTION_FAILURE"/>
  <int value="13" label="ENCRYPTION_FAILURE"/>
  <int value="14" label="PACKET_TOO_LARGE"/>
  <int value="15" label="PACKET_FOR_NONEXISTENT_STREAM"/>
  <int value="16" label="PEER_GOING_AWAY"/>
  <int value="17" label="INVALID_STREAM_ID"/>
  <int value="18" label="TOO_MANY_OPEN_STREAMS"/>
  <int value="19" label="PUBLIC_RESET"/>
  <int value="20" label="INVALID_VERSION"/>
  <int value="21" label="STREAM_RST_BEFORE_HEADERS_DECOMPRESSED"/>
  <int value="22" label="INVALID_HEADER_ID"/>
  <int value="23" label="INVALID_NEGOTIATED_VALUE"/>
  <int value="24" label="DECOMPRESSION_FAILURE"/>
  <int value="25" label="NETWORK_IDLE_TIMEOUT"/>
  <int value="26" label="ERROR_MIGRATING_ADDRESS"/>
  <int value="27" label="PACKET_WRITE_ERROR"/>
  <int value="28" label="HANDSHAKE_FAILED"/>
  <int value="29" label="CRYPTO_TAGS_OUT_OF_ORDER"/>
  <int value="30" label="CRYPTO_TOO_MANY_ENTRIES"/>
  <int value="31" label="CRYPTO_INVALID_VALUE_LENGTH"/>
  <int value="32" label="CRYPTO_MESSAGE_AFTER_HANDSHAKE_COMPLETE"/>
  <int value="33" label="INVALID_CRYPTO_MESSAGE_TYPE"/>
  <int value="34" label="INVALID_CRYPTO_MESSAGE_PARAMETER"/>
  <int value="35" label="CRYPTO_MESSAGE_PARAMETER_NOT_FOUND"/>
  <int value="36" label="CRYPTO_MESSAGE_PARAMETER_NO_OVERLAP"/>
  <int value="37" label="CRYPTO_MESSAGE_INDEX_NOT_FOUND"/>
  <int value="38" label="CRYPTO_INTERNAL_ERROR"/>
  <int value="39" label="CRYPTO_VERSION_NOT_SUPPORTED"/>
  <int value="40" label="CRYPTO_NO_SUPPORT"/>
  <int value="41" label="CRYPTO_TOO_MANY_REJECTS"/>
  <int value="42" label="PROOF_INVALID"/>
  <int value="43" label="CRYPTO_DUPLICATE_TAG"/>
  <int value="44" label="CRYPTO_ENCRYPTION_LEVEL_INCORRECT"/>
  <int value="45" label="CRYPTO_SERVER_CONFIG_EXPIRED"/>
  <int value="46" label="INVALID_STREAM_DATA"/>
  <int value="47" label="INVALID_CONGESTION_FEEDBACK_DATA"/>
  <int value="48" label="MISSING_PAYLOAD"/>
  <int value="49" label="INVALID_PRIORITY"/>
  <int value="50" label="INVALID_STREAM_FRAME"/>
  <int value="51" label="PACKET_READ_ERROR"/>
  <int value="52" label="INVALID_CHANNEL_ID_SIGNATURE"/>
  <int value="53" label="CRYPTO_SYMMETRIC_KEY_SETUP_FAILED"/>
  <int value="54" label="CRYPTO_MESSAGE_WHILE_VALIDATING_CLIENT_HELLO"/>
  <int value="55" label="VERSION_NEGOTIATION_MISMATCH"/>
  <int value="56" label="INVALID_HEADERS_STREAM_DATA"/>
  <int value="57" label="INVALID_WINDOW_UPDATE_DATA"/>
  <int value="58" label="INVALID_BLOCKED_DATA"/>
  <int value="59" label="FLOW_CONTROL_ERROR"/>
  <int value="60" label="INVALID_STOP_WAITING_DATA"/>
  <int value="61" label="UNENCRYPTED_STREAM_DATA"/>
  <int value="62" label="CONNECTION_IP_POOLED"/>
  <int value="63" label="FLOW_CONTROL_SENT_TOO_MUCH_DATA"/>
  <int value="64" label="FLOW_CONTROL_INVALID_WINDOW"/>
  <int value="65" label="CRYPTO_UPDATE_BEFORE_HANDSHAKE_COMPLETE"/>
  <int value="66" label="TOO_MANY_UNFINISHED_STREAMS"/>
  <int value="67" label="HANDSHAKE_TIMEOUT"/>
  <int value="68" label="TOO_MANY_OUTSTANDING_SENT_PACKETS"/>
  <int value="69" label="TOO_MANY_OUTSTANDING_RECEIVED_PACKETS"/>
  <int value="70" label="CONNECTION_CANCELLED"/>
  <int value="71" label="BAD_PACKET_LOSS_RATE"/>
  <int value="72" label="CRYPTO_HANDSHAKE_STATELESS_REJECT"/>
  <int value="73" label="PUBLIC_RESETS_POST_HANDSHAKE"/>
  <int value="74" label="TIMEOUTS_WITH_OPEN_STREAMS"/>
  <int value="75" label="FAILED_TO_SERIALIZE_PACKET"/>
  <int value="76" label="TOO_MANY_AVAILABLE_STREAMS"/>
  <int value="77" label="UNENCRYPTED_FEC_DATA"/>
  <int value="78" label="INVALID_PATH_CLOSE_DATA"/>
  <int value="79" label="BAD_MULTIPATH_FLAG"/>
  <int value="80" label="IP_ADDRESS_CHANGED"/>
  <int value="81" label="CONNECTION_MIGRATION_NO_MIGRATABLE_STREAMS"/>
  <int value="82" label="CONNECTION_MIGRATION_TOO_MANY_CHANGES"/>
  <int value="83" label="CONNECTION_MIGRATION_NO_NEW_NETWORK"/>
  <int value="84" label="CONNECTION_MIGRATION_NON_MIGRATABLE_STREAM"/>
  <int value="85" label="TOO_MANY_RTOS"/>
  <int value="86" label="ERROR_MIGRATING_PORT"/>
  <int value="87" label="OVERLAPPING_STREAM_DATA"/>
  <int value="88" label="ATTEMPT_TO_SEND_UNENCRYPTED_STREAM_DATA"/>
  <int value="89" label="MAYBE_CORRUPTED_MEMORY"/>
  <int value="90" label="CRYPTO_CHLO_TOO_LARGE"/>
  <int value="91" label="MULTIPATH_PATH_DOES_NOT_EXIST"/>
  <int value="92" label="MULTIPATH_PATH_NOT_ACTIVE"/>
  <int value="93" label="TOO_MANY_FRAME_GAPS"/>
  <int value="94" label="UNSUPPORTED_PROOF_DEMAND"/>
  <int value="95" label="STREAM_SEQUENCER_INVALID_STATE"/>
  <int value="96" label="TOO_MANY_SESSIONS_ON_SERVER"/>
  <int value="97" label="HEADERS_STREAM_DATA_DECOMPRESS_FAILURE"/>
</enum>

<enum name="QuicHandshakeFailureReason" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="BLACK_HOLE"/>
  <int value="2" label="PUBLIC_RESET"/>
</enum>

<enum name="QuicHandshakeState" type="int">
  <int value="0" label="STARTED"/>
  <int value="1" label="ENCRYPTION_ESTABLISHED"/>
  <int value="2" label="HANDSHAKE_CONFIRMED"/>
  <int value="3" label="FAILED"/>
</enum>

<enum name="QuickofficeErrorTypes" type="int">
  <int value="0" label="doc uncaught js exception"/>
  <int value="1" label="docx uncaught js exception"/>
  <int value="2" label="docm uncaught js exception"/>
  <int value="3" label="xls uncaught js exception"/>
  <int value="4" label="xlsx uncaught js exception"/>
  <int value="5" label="xlsm uncaught js exception"/>
  <int value="6" label="ppt uncaught js exception"/>
  <int value="7" label="pptx uncaught js exception"/>
  <int value="8" label="pptm uncaught js exception"/>
  <int value="9" label="pps uncaught js exception"/>
  <int value="10" label="ppsx uncaught js exception"/>
  <int value="11" label="ppsm uncaught js exception"/>
  <int value="12" label="doc suspected corrupt file"/>
  <int value="13" label="docx suspected corrupt file"/>
  <int value="14" label="docm suspected corrupt file"/>
  <int value="15" label="xls suspected corrupt file"/>
  <int value="16" label="xlsx suspected corrupt file"/>
  <int value="17" label="xlsm suspected corrupt file"/>
  <int value="18" label="ppt suspected corrupt file"/>
  <int value="19" label="pptx suspected corrupt file"/>
  <int value="20" label="pptm suspected corrupt file"/>
  <int value="21" label="pps suspected corrupt file"/>
  <int value="22" label="ppsx suspected corrupt file"/>
  <int value="23" label="ppsm suspected corrupt file"/>
  <int value="24" label="doc qowt ui warning"/>
  <int value="25" label="docx qowt ui warning"/>
  <int value="26" label="docm qowt ui warning"/>
  <int value="27" label="xls qowt ui warning"/>
  <int value="28" label="xlsx qowt ui warning"/>
  <int value="29" label="xlsm qowt ui warning"/>
  <int value="30" label="ppt qowt ui warning"/>
  <int value="31" label="pptx qowt ui warning"/>
  <int value="32" label="pptm qowt ui warning"/>
  <int value="33" label="pps qowt ui warning"/>
  <int value="34" label="ppsx qowt ui warning"/>
  <int value="35" label="ppsm qowt ui warning"/>
  <int value="36" label="doc nacl error"/>
  <int value="37" label="docx nacl error"/>
  <int value="38" label="docm nacl error"/>
  <int value="39" label="xls nacl error"/>
  <int value="40" label="xlsx nacl error"/>
  <int value="41" label="xlsm nacl error"/>
  <int value="42" label="ppt nacl error"/>
  <int value="43" label="pptx nacl error"/>
  <int value="44" label="pptm nacl error"/>
  <int value="45" label="pps nacl error"/>
  <int value="46" label="ppsx nacl error"/>
  <int value="47" label="ppsm nacl error"/>
  <int value="48" label="doc nacl crash"/>
  <int value="49" label="docx nacl crash"/>
  <int value="50" label="docm nacl crash"/>
  <int value="51" label="xls nacl crash"/>
  <int value="52" label="xlsx nacl crash"/>
  <int value="53" label="xlsm nacl crash"/>
  <int value="54" label="ppt nacl crash"/>
  <int value="55" label="pptx nacl crash"/>
  <int value="56" label="pptm nacl crash"/>
  <int value="57" label="pps nacl crash"/>
  <int value="58" label="ppsx nacl crash"/>
  <int value="59" label="ppsm nacl crash"/>
  <int value="60" label="doc invalid file format"/>
  <int value="61" label="docx invalid file format"/>
  <int value="62" label="docm invalid file format"/>
  <int value="63" label="xls invalid file format"/>
  <int value="64" label="xlsx invalid file format"/>
  <int value="65" label="xlsm invalid file format"/>
  <int value="66" label="ppt invalid file format"/>
  <int value="67" label="pptx invalid file format"/>
  <int value="68" label="pptm invalid file format"/>
  <int value="69" label="pps invalid file format"/>
  <int value="70" label="ppsx invalid file format"/>
  <int value="71" label="ppsm invalid file format"/>
  <int value="72" label="doc editing dom sync error"/>
  <int value="73" label="docx editing dom sync error"/>
  <int value="74" label="docm editing dom sync error"/>
  <int value="75" label="xls editing dom sync error"/>
  <int value="76" label="xlsx editing dom sync error"/>
  <int value="77" label="xlsm editing dom sync error"/>
  <int value="78" label="ppt editing dom sync error"/>
  <int value="79" label="pptx editing dom sync error"/>
  <int value="80" label="pptm editing dom sync error"/>
  <int value="81" label="pps editing dom sync error"/>
  <int value="82" label="ppsx editing dom sync error"/>
  <int value="83" label="ppsm editing dom sync error"/>
</enum>

<enum name="QuickofficeFileFormat" type="int">
  <int value="0" label="doc"/>
  <int value="1" label="docx"/>
  <int value="2" label="docm"/>
  <int value="3" label="xls"/>
  <int value="4" label="xlsx"/>
  <int value="5" label="xlsm"/>
  <int value="6" label="ppt"/>
  <int value="7" label="pptx"/>
  <int value="8" label="pptm"/>
  <int value="9" label="pps"/>
  <int value="10" label="ppsx"/>
  <int value="11" label="ppsm"/>
  <int value="12" label="csv"/>
</enum>

<enum name="QuicRejectReasons" type="int">
  <int value="1" label="CLIENT_NONCE_UNKNOWN_FAILURE"/>
  <int value="2" label="CLIENT_NONCE_INVALID_FAILURE"/>
  <int value="4" label="CLIENT_NONCE_NOT_UNIQUE_FAILURE"/>
  <int value="8" label="CLIENT_NONCE_INVALID_ORBIT_FAILURE"/>
  <int value="16" label="CLIENT_NONCE_INVALID_TIME_FAILURE"/>
  <int value="32" label="CLIENT_NONCE_STRIKE_REGISTER_TIMEOUT"/>
  <int value="64" label="CLIENT_NONCE_STRIKE_REGISTER_FAILURE"/>
  <int value="128" label="SERVER_NONCE_DECRYPTION_FAILURE"/>
  <int value="256" label="SERVER_NONCE_INVALID_FAILURE"/>
  <int value="512" label="SERVER_NONCE_NOT_UNIQUE_FAILURE"/>
  <int value="1024" label="SERVER_NONCE_INVALID_TIME_FAILURE"/>
  <int value="2048" label="SERVER_CONFIG_INCHOATE_HELLO_FAILURE"/>
  <int value="4096" label="SERVER_CONFIG_UNKNOWN_CONFIG_FAILURE"/>
  <int value="8192" label="SOURCE_ADDRESS_TOKEN_INVALID_FAILURE"/>
  <int value="16384" label="SOURCE_ADDRESS_TOKEN_DECRYPTION_FAILURE"/>
  <int value="16512"
      label="SERVER_NONCE_DECRYPTION_FAILURE+SOURCE_ADDRESS_TOKEN_DECRYPTION_FAILURE"/>
  <int value="32768" label="SOURCE_ADDRESS_TOKEN_PARSE_FAILURE"/>
  <int value="65536" label="SOURCE_ADDRESS_TOKEN_DIFFERENT_IP_ADDRESS_FAILURE"/>
  <int value="65664"
      label="SERVER_NONCE_DECRYPTION_FAILURE+SOURCE_ADDRESS_TOKEN_DIFFERENT_IP_ADDRESS_FAILURE"/>
  <int value="131072" label="SOURCE_ADDRESS_TOKEN_CLOCK_SKEW_FAILURE"/>
  <int value="262144" label="SOURCE_ADDRESS_TOKEN_EXPIRED_FAILURE"/>
  <int value="524288" label="SERVER_NONCE_REQUIRED_FAILURE"/>
  <int value="540672"
      label="SOURCE_ADDRESS_TOKEN_DECRYPTION_FAILURE+SERVER_NONCE_REQUIRED_FAILURE"/>
  <int value="589824"
      label="SOURCE_ADDRESS_TOKEN_DIFFERENT_IP_ADDRESS_FAILURE+SERVER_NONCE_REQUIRED_FAILURE"/>
  <int value="786432"
      label="SOURCE_ADDRESS_TOKEN_EXPIRED_FAILURE+SERVER_NONCE_REQUIRED_FAILURE"/>
  <int value="1048576" label="INVALID_EXPECTED_LEAF_CERTIFICATE"/>
  <int value="1064960"
      label="INVALID_EXPECTED_LEAF_CERTIFICATE+SOURCE_ADDRESS_TOKEN_DECRYPTION_FAILURE"/>
  <int value="1114112"
      label="SOURCE_ADDRESS_TOKEN_DIFFERENT_IP_ADDRESS_FAILURE+INVALID_EXPECTED_LEAF_CERTIFICATE"/>
  <int value="1310720"
      label="SOURCE_ADDRESS_TOKEN_EXPIRED_FAILURE+INVALID_EXPECTED_LEAF_CERTIFICATE"/>
  <int value="1572864"
      label="SERVER_NONCE_REQUIRED_FAILURE+INVALID_EXPECTED_LEAF_CERTIFICATE"/>
  <int value="1589248"
      label="INVALID_EXPECTED_LEAF_CERTIFICATE+SERVER_NONCE_REQUIRED_FAILURE+SOURCE_ADDRESS_TOKEN_DECRYPTION_FAILURE"/>
</enum>

<enum name="QuicRstStreamErrorCodes" type="int">
  <int value="0" label="NO_ERROR"/>
  <int value="1" label="ERROR_PROCESSING_STREAM"/>
  <int value="2" label="MULTIPLE_TERMINATION_OFFSETS"/>
  <int value="3" label="BAD_APPLICATION_PAYLOAD"/>
  <int value="4" label="CONNECTION_ERROR"/>
  <int value="5" label="PEER_GOING_AWAY"/>
  <int value="6" label="CANCELLED"/>
  <int value="7" label="RST_FLOW_CONTROL_ACCOUNTING"/>
  <int value="8" label="REFUSED"/>
  <int value="9" label="INVALID_PROMISE_URL"/>
  <int value="10" label="UNAUTHORIZED_PROMISE_URL"/>
  <int value="11" label="DUPLICATE_PROMISE_URL"/>
  <int value="12" label="PROMISE_VARY_MISMATCH"/>
  <int value="13" label="INVALID_PROMISE_METHOD"/>
  <int value="14" label="PUSH_STREAM_TIMED_OUT"/>
  <int value="15" label="HEADERS_TOO_LARGE"/>
</enum>

<enum name="QuicServerConfigState" type="int">
  <int value="0" label="SERVER_CONFIG_EMPTY"/>
  <int value="1" label="SERVER_CONFIG_INVALID"/>
  <int value="2" label="SERVER_CONFIG_CORRUPTED"/>
  <int value="3" label="SERVER_CONFIG_EXPIRED"/>
  <int value="4" label="SERVER_CONFIG_INVALID_EXPIRY"/>
  <int value="5" label="SERVER_CONFIG_VALID"/>
</enum>

<enum name="QuicSessionErrorCodes" type="int">
  <int value="0" label="CONNECTING_SOCKET"/>
  <int value="1" label="SETTING_RECEIVE_BUFFER"/>
  <int value="2" label="SETTING_SEND_BUFFER"/>
  <int value="3" label="SETTING_DO_NOT_FRAGMENT"/>
</enum>

<enum name="QuicSessionLocations" type="int">
  <int value="0" label="DESTRUCTOR"/>
  <int value="1" label="ADD_OBSERVER"/>
  <int value="2" label="TRY_CREATE_STREAM"/>
  <int value="3" label="CREATE_OUTGOING_RELIABLE_STREAM"/>
  <int value="4" label="NOTIFY_FACTORY_OF_SESSION_CLOSED_LATER"/>
  <int value="5" label="NOTIFY_FACTORY_OF_SESSION_CLOSED"/>
</enum>

<enum name="QuotaOriginTypes" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="None"/>
  <int value="2" label="google.com durable"/>
  <int value="3" label="non-google.com durable"/>
  <int value="4" label="google.com unlimitedStorage app/ext"/>
  <int value="5" label="non-google.com unlimitedStorage app/ext"/>
  <int value="6" label="In use"/>
</enum>

<enum name="RankerModelStatus" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Download Throttled"/>
  <int value="2" label="Download Failed"/>
  <int value="3" label="Parse Failed"/>
  <int value="4" label="Validation Failed"/>
  <int value="5" label="Incompatible"/>
</enum>

<enum name="RapporDiscardReason" type="int">
  <int value="0" label="Upload Success"/>
  <int value="1" label="Upload Rejected"/>
  <int value="2" label="Queue Overflowed"/>
</enum>

<enum name="RapporLoadResultType" type="int">
  <int value="0" label="LOAD_SUCCESS"/>
  <int value="1" label="LOAD_EMPTY_VALUE"/>
  <int value="2" label="LOAD_CORRUPT_VALUE"/>
</enum>

<enum name="ReadingListContextMenuActions" type="int">
  <int value="0" label="New Tab"/>
  <int value="1" label="New Incognito Tab"/>
  <int value="2" label="Copy Link"/>
  <int value="3" label="View Offline"/>
  <int value="4" label="Cancel"/>
</enum>

<enum name="ReadingListDownloadStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Failure"/>
  <int value="2" label="Will retry"/>
</enum>

<enum name="RecentTabsAction" type="int">
  <int value="0" label="Local Session Tab"/>
  <int value="1" label="Other Device Tab"/>
  <int value="2" label="Restore Window"/>
  <int value="3" label="Show More"/>
</enum>

<enum name="RecoveryComponentEvent" type="int">
  <int value="0" label="RunningNonElevated"/>
  <int value="1" label="ElevationNeeded"/>
  <int value="2" label="RunFailed"/>
  <int value="3" label="RunSucceeded"/>
  <int value="4" label="RunSkipped"/>
  <int value="5" label="RunningElevated"/>
  <int value="6" label="RunElevatedFailed"/>
  <int value="7" label="RunElevatedSucceeded"/>
  <int value="8" label="RunElevatedSkipped"/>
  <int value="9" label="DownloadError"/>
</enum>

<enum name="RefcountOperation" type="int">
  <int value="0" label="Decrement"/>
  <int value="1" label="Increment"/>
</enum>

<enum name="RemotePlaybackDeviceType" type="int">
  <int value="0" label="Cast Generic Media Player"/>
  <int value="1" label="Cast YouTube Player"/>
  <int value="2" label="Non-Cast YouTube Player"/>
</enum>

<enum name="RemotePlaybackUrlResolveResult" type="int">
  <int value="0" label="Successfully Resolved"/>
  <int value="1" label="Malformed or empty Url"/>
  <int value="2" label="No CORS header when required"/>
  <int value="3" label="CORS header incompatible with Chromecast"/>
  <int value="4" label="The response code indicated failure"/>
  <int value="5" label="IO exception while fetching the url"/>
  <int value="6" label="Unknown media type"/>
</enum>

<enum name="RemotingStartTrigger" type="int">
  <int value="0" label="Unknown start trigger"/>
  <int value="1" label="Entered fullscreen"/>
  <int value="2" label="Became dominant content"/>
  <int value="3" label="Re-allowed by page"/>
  <int value="4" label="Sink available"/>
  <int value="5" label="Play command"/>
  <int value="6" label="Supported audio codec"/>
  <int value="7" label="Supported video codec"/>
  <int value="8" label="Supported audio and video codec"/>
  <int value="9" label="CDM ready"/>
</enum>

<enum name="RemotingStopTrigger" type="int">
  <int value="0" label="Unknown stop trigger"/>
  <int value="1" label="Route terminated"/>
  <int value="2" label="Media element destroyed"/>
  <int value="3" label="Exited fullscreen"/>
  <int value="4" label="Became auxiliary content"/>
  <int value="5" label="Disallowed by page"/>
  <int value="6" label="Start race"/>
  <int value="7" label="Unsupported audio codec"/>
  <int value="8" label="Unsupported video codec"/>
  <int value="9" label="Unsupported audio and video codec"/>
  <int value="10" label="Decryption/CDM error"/>
  <int value="11" label="Receiver initialize failed"/>
  <int value="12" label="Receiver pipeline error"/>
  <int value="13" label="Frame drop rate high"/>
  <int value="14" label="Pacing too slowly"/>
  <int value="15" label="Peers out-of-sync"/>
  <int value="16" label="RPC invalid"/>
  <int value="17" label="Data pipe create error"/>
  <int value="18" label="Mojo pipe error"/>
</enum>

<enum name="RemotingTrackConfiguration" type="int">
  <int value="0" label="None"/>
  <int value="1" label="Audio only"/>
  <int value="2" label="Video only"/>
  <int value="3" label="Audio and video"/>
</enum>

<enum name="RendererSchedulerTaskQueueType" type="int">
  <int value="0" label="Control"/>
  <int value="1" label="Default"/>
  <int value="2" label="DefaultLoading"/>
  <int value="3" label="DefaultTimer"/>
  <int value="4" label="Unthrottled"/>
  <int value="5" label="FrameLoading"/>
  <int value="6" label="FrameTimer"/>
  <int value="7" label="FrameUnthrottled"/>
  <int value="8" label="Compositor"/>
  <int value="9" label="Idle"/>
  <int value="10" label="Test"/>
</enum>

<enum name="RendererType" type="int">
  <int value="1" label="Normal renderer"/>
  <int value="2" label="Extension renderer"/>
</enum>

<enum name="RendererUnresponsiveType" type="int">
  <obsolete>
    Deprecated 3/2017.
  </obsolete>
  <int value="0" label="Unknown"/>
  <int value="1" label="Pending in-flight events"/>
  <int value="2" label="Waiting for dialog closed"/>
  <int value="3" label="Suppressed dialogs in unload events"/>
  <int value="4" label="During BeforeUnload"/>
  <int value="5" label="During Unload"/>
  <int value="6" label="While closing the page"/>
</enum>

<enum name="RenderViewContextMenuItem" type="int">
  <int value="0" label="IDC_CONTENT_CONTEXT_CUSTOM_FIRST"/>
  <int value="1" label="IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST"/>
  <int value="2" label="IDC_CONTENT_CONTEXT_PROTOCOL_HANDLER_FIRST"/>
  <int value="3" label="IDC_CONTENT_CONTEXT_OPENLINKNEWTAB"/>
  <int value="4" label="IDC_CONTENT_CONTEXT_OPENLINKNEWWINDOW"/>
  <int value="5" label="IDC_CONTENT_CONTEXT_OPENLINKOFFTHERECORD"/>
  <int value="6" label="IDC_CONTENT_CONTEXT_SAVELINKAS"/>
  <int value="7" label="IDC_CONTENT_CONTEXT_SAVEAVAS"/>
  <int value="8" label="IDC_CONTENT_CONTEXT_SAVEIMAGEAS"/>
  <int value="9" label="IDC_CONTENT_CONTEXT_COPYLINKLOCATION"/>
  <int value="10" label="IDC_CONTENT_CONTEXT_COPYIMAGELOCATION"/>
  <int value="11" label="IDC_CONTENT_CONTEXT_COPYAVLOCATION"/>
  <int value="12" label="IDC_CONTENT_CONTEXT_COPYIMAGE"/>
  <int value="13" label="IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB"/>
  <int value="14" label="IDC_CONTENT_CONTEXT_OPENAVNEWTAB"/>
  <int value="15" label="IDC_CONTENT_CONTEXT_PLAYPAUSE"/>
  <int value="16" label="IDC_CONTENT_CONTEXT_MUTE"/>
  <int value="17" label="IDC_CONTENT_CONTEXT_LOOP"/>
  <int value="18" label="IDC_CONTENT_CONTEXT_CONTROLS"/>
  <int value="19" label="IDC_CONTENT_CONTEXT_ROTATECW"/>
  <int value="20" label="IDC_CONTENT_CONTEXT_ROTATECCW"/>
  <int value="21" label="IDC_BACK"/>
  <int value="22" label="IDC_FORWARD"/>
  <int value="23" label="IDC_SAVE_PAGE"/>
  <int value="24" label="IDC_RELOAD"/>
  <int value="25" label="IDC_CONTENT_CONTEXT_RELOAD_PACKAGED_APP"/>
  <int value="26" label="IDC_CONTENT_CONTEXT_RESTART_PACKAGED_APP"/>
  <int value="27" label="IDC_PRINT"/>
  <int value="28" label="IDC_VIEW_SOURCE"/>
  <int value="29" label="IDC_CONTENT_CONTEXT_INSPECTELEMENT"/>
  <int value="30" label="IDC_CONTENT_CONTEXT_INSPECTBACKGROUNDPAGE"/>
  <int value="31" label="IDC_CONTENT_CONTEXT_VIEWPAGEINFO"/>
  <int value="32" label="IDC_CONTENT_CONTEXT_TRANSLATE"/>
  <int value="33" label="IDC_CONTENT_CONTEXT_RELOADFRAME"/>
  <int value="34" label="IDC_CONTENT_CONTEXT_VIEWFRAMESOURCE"/>
  <int value="35" label="IDC_CONTENT_CONTEXT_VIEWFRAMEINFO"/>
  <int value="36" label="IDC_CONTENT_CONTEXT_UNDO"/>
  <int value="37" label="IDC_CONTENT_CONTEXT_REDO"/>
  <int value="38" label="IDC_CONTENT_CONTEXT_CUT"/>
  <int value="39" label="IDC_CONTENT_CONTEXT_COPY"/>
  <int value="40" label="IDC_CONTENT_CONTEXT_PASTE"/>
  <int value="41" label="IDC_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE"/>
  <int value="42" label="IDC_CONTENT_CONTEXT_DELETE"/>
  <int value="43" label="IDC_CONTENT_CONTEXT_SELECTALL"/>
  <int value="44" label="IDC_CONTENT_CONTEXT_SEARCHWEBFOR"/>
  <int value="45" label="IDC_CONTENT_CONTEXT_GOTOURL"/>
  <int value="46" label="IDC_CONTENT_CONTEXT_LANGUAGE_SETTINGS"/>
  <int value="47" label="IDC_CONTENT_CONTEXT_PROTOCOL_HANDLER_SETTINGS"/>
  <int value="48" label="IDC_CONTENT_CONTEXT_ADDSEARCHENGINE"/>
  <int value="49" label="IDC_CONTENT_CONTEXT_SPEECH_INPUT_FILTER_PROFANITIES"/>
  <int value="50" label="IDC_CONTENT_CONTEXT_SPEECH_INPUT_ABOUT"/>
  <int value="51" label="IDC_SPEECH_INPUT_MENU"/>
  <int value="52" label="IDC_CONTENT_CONTEXT_OPENLINKWITH"/>
  <int value="53" label="IDC_CHECK_SPELLING_WHILE_TYPING"/>
  <int value="54" label="IDC_SPELLCHECK_MENU"/>
  <int value="55" label="IDC_CONTENT_CONTEXT_SPELLING_TOGGLE"/>
  <int value="56" label="IDC_SPELLCHECK_LANGUAGES_FIRST"/>
  <int value="57" label="IDC_CONTENT_CONTEXT_SEARCHWEBFORIMAGE"/>
  <int value="58" label="IDC_SPELLCHECK_SUGGESTION"/>
  <int value="59" label="IDC_SPELLCHECK_ADD_TO_DICTIONARY"/>
  <int value="60" label="IDC_SPELLPANEL_TOGGLE"/>
  <int value="61" label="IDC_CONTENT_CONTEXT_OPENORIGINALIMAGENEWTAB"/>
  <int value="62" label="IDC_WRITING_DIRECTION_MENU"/>
  <int value="63" label="IDC_WRITING_DIRECTION_DEFAULT"/>
  <int value="64" label="IDC_WRITING_DIRECTION_LTR"/>
  <int value="65" label="IDC_WRITING_DIRECTION_RTL"/>
  <int value="66" label="IDC_CONTENT_CONTEXT_LOAD_ORIGINAL_IMAGE"/>
  <int value="67" label="IDC_CONTENT_CONTEXT_FORCESAVEPASSWORD"/>
  <int value="68" label="IDC_ROUTE_MEDIA"/>
  <int value="69" label="IDC_CONTENT_CONTEXT_COPYLINKTEXT"/>
  <int value="70" label="IDC_CONTENT_CONTEXT_OPENLINKINPROFILE"/>
  <int value="71" label="IDC_OPEN_LINK_IN_PROFILE_FIRST"/>
  <int value="72" label="IDC_CONTENT_CONTEXT_GENERATEPASSWORD"/>
  <int value="73" label="IDC_SPELLCHECK_MULTI_LINGUAL"/>
  <int value="74" label="IDC_CONTENT_CONTEXT_OPEN_WITH1"/>
  <int value="75" label="IDC_CONTENT_CONTEXT_OPEN_WITH2"/>
  <int value="76" label="IDC_CONTENT_CONTEXT_OPEN_WITH3"/>
  <int value="77" label="IDC_CONTENT_CONTEXT_OPEN_WITH4"/>
  <int value="78" label="IDC_CONTENT_CONTEXT_OPEN_WITH5"/>
  <int value="79" label="IDC_CONTENT_CONTEXT_OPEN_WITH6"/>
  <int value="80" label="IDC_CONTENT_CONTEXT_OPEN_WITH7"/>
  <int value="81" label="IDC_CONTENT_CONTEXT_OPEN_WITH8"/>
  <int value="82" label="IDC_CONTENT_CONTEXT_OPEN_WITH9"/>
  <int value="83" label="IDC_CONTENT_CONTEXT_OPEN_WITH10"/>
  <int value="84" label="IDC_CONTENT_CONTEXT_OPEN_WITH11"/>
  <int value="85" label="IDC_CONTENT_CONTEXT_OPEN_WITH12"/>
  <int value="86" label="IDC_CONTENT_CONTEXT_OPEN_WITH13"/>
  <int value="87" label="IDC_CONTENT_CONTEXT_OPEN_WITH14"/>
  <int value="88" label="IDC_CONTENT_CONTEXT_EXIT_FULLSCREEN"/>
</enum>

<enum name="ReportProcessingResult" type="int">
  <int value="0" label="Success">A report was created and uploaded</int>
  <int value="1" label="Suppressed">
    A report was not uploaded because the CSD Whitelist killswitch was present
  </int>
  <int value="2" label="InvalidRequest">
    A report was not uploaded because it could not be serialized
  </int>
  <int value="3" label="Cancelled">
    A report upload was cancelled due to service shutdown
  </int>
  <int value="4" label="RequestFailed">A report upload failed</int>
  <int value="5" label="InvalidResponse">
    The response from a report upload was invalid
  </int>
  <int value="6" label="NoDownload">
    A report was not uploaded because no binary download was found to report
  </int>
</enum>

<enum name="RequestAction" type="int">
  <int value="0" label="CANCEL"/>
  <int value="1" label="REDIRECT"/>
  <int value="2" label="MODIFY_REQUEST_HEADERS"/>
  <int value="3" label="MODIFY_RESPONSE_HEADERS"/>
  <int value="4" label="SET_AUTH_CREDENTIALS"/>
</enum>

<enum name="RequestedImageMimeType" type="int">
  <int value="0" label="Png"/>
  <int value="1" label="Jpeg"/>
  <int value="2" label="Webp"/>
  <int value="3" label="Gif"/>
  <int value="4" label="Bmp"/>
  <int value="5" label="Ico"/>
  <int value="6" label="Tiff"/>
  <int value="7" label="Unknown"/>
</enum>

<enum name="RequestedWindowState" type="int">
  <int value="0" label="Invalid"/>
  <int value="1" label="Normal window state"/>
  <int value="2" label="Minimized window state"/>
  <int value="3" label="Maximized window state"/>
  <int value="4" label="Fullscreen window state"/>
  <int value="5" label="Docked window state"/>
</enum>

<enum name="RequestMediaKeySystemAccessStatus" type="int">
  <int value="0" label="Requested"/>
  <int value="1" label="Supported"/>
</enum>

<enum name="ResolutionCategory" type="int">
  <int value="0" label="RESOLVE_SUCCESS"/>
  <int value="1" label="RESOLVE_FAIL"/>
  <int value="2" label="RESOLVE_SPECULATIVE_SUCCESS"/>
  <int value="3" label="RESOLVE_SPECULATIVE_FAIL"/>
</enum>

<enum name="ResolutionUnspecWasteCategory" type="int">
  <int value="0" label="AF_WASTE_IPV4_ONLY">
    Running in a IPv4-only configuration.  No waste.
  </int>
  <int value="1" label="AF_WASTE_CACHE_IPV4">
    Cache contained an UNSPEC result for this IPv4 lookup.  Waste.
  </int>
  <int value="2" label="AF_WASTE_CACHE_UNSPEC">
    Cache contained an IPv4 result for this UNSPEC lookup.  Waste.
  </int>
  <int value="3" label="AF_WASTE_JOB_IPV4">
    Job pool contained an UNSPEC job for this IPv4 lookup.  Waste.
  </int>
  <int value="4" label="AF_WASTE_JOB_UNSPEC">
    Job pool contained an IPv4 job for this UNSPEC lookup.  Waste.
  </int>
  <int value="5" label="AF_WASTE_NONE_IPV4">
    A new job was needed for this IPv4 lookup.  No waste.
  </int>
  <int value="6" label="AF_WASTE_NONE_UNSPEC">
    A new job was needed for this UNSPEC lookup.  No waste.
  </int>
</enum>

<enum name="ResourceHasClient" type="int">
  <int value="0" label="No client"/>
  <int value="1" label="Has client"/>
</enum>

<enum name="ResourceLoaderExpectedContentSizeResult" type="int">
  <int value="0" label="EQ_RESPONSE_BODY"/>
  <int value="1" label="EQ_RESPONSE_BODY_GT_EQ_BUFFER_SIZE"/>
  <int value="2" label="GT_EQ_BUFFER_SIZE"/>
  <int value="3" label="LT_RESPONSE_BODY"/>
  <int value="4" label="GT_RESPONSE_BODY"/>
  <int value="5" label="UNKNOWN"/>
</enum>

<enum name="ResourceLoaderInliningStatus" type="int">
  <int value="0" label="Applicable"/>
  <int value="1" label="EarlyAllocation"/>
  <int value="2" label="UnknownContentLength"/>
  <int value="3" label="LargeContent"/>
  <int value="4" label="HasTransferEncoding"/>
  <int value="5" label="HasContentEncoding"/>
</enum>

<enum name="ResourcePrefetchPredictorMainFrameRequestStats" type="int">
  <int value="0" label="MAIN_FRAME_REQUEST_STATS_TOTAL_REQUESTS"/>
  <int value="1" label="MAIN_FRAME_REQUEST_STATS_PROCESSED_REQUESTS"/>
  <int value="2" label="MAIN_FRAME_REQUEST_STATS_TOTAL_REDIRECTS"/>
  <int value="3" label="MAIN_FRAME_REQUEST_STATS_PROCESSED_REDIRECTS"/>
  <int value="4" label="MAIN_FRAME_REQUEST_STATS_TOTAL_RESPONSES"/>
  <int value="5" label="MAIN_FRAME_REQUEST_STATS_PROCESSED_RESPONSES"/>
</enum>

<enum name="ResourcePrefetchPredictorNavigationEvent" type="int">
  <int value="0" label="NAVIGATION_EVENT_REQUEST_STARTED"/>
  <int value="1" label="NAVIGATION_EVENT_REQUEST_REDIRECTED"/>
  <int value="2" label="NAVIGATION_EVENT_REQUEST_REDIRECTED_EMPTY_URL"/>
  <int value="3" label="NAVIGATION_EVENT_REQUEST_EXPIRED"/>
  <int value="4" label="NAVIGATION_EVENT_RESPONSE_STARTED"/>
  <int value="5" label="NAVIGATION_EVENT_ONLOAD"/>
  <int value="6" label="NAVIGATION_EVENT_ONLOAD_EMPTY_URL"/>
  <int value="7" label="NAVIGATION_EVENT_ONLOAD_UNTRACKED_URL"/>
  <int value="8" label="NAVIGATION_EVENT_ONLOAD_TRACKED_URL"/>
  <int value="9" label="NAVIGATION_EVENT_SHOULD_TRACK_URL"/>
  <int value="10" label="NAVIGATION_EVENT_SHOULD_NOT_TRACK_URL"/>
  <int value="11" label="NAVIGATION_EVENT_URL_TABLE_FULL"/>
  <int value="12" label="NAVIGATION_EVENT_HAVE_PREDICTIONS_FOR_URL"/>
  <int value="13" label="NAVIGATION_EVENT_NO_PREDICTIONS_FOR_URL"/>
</enum>

<enum name="ResourcePrefetchPredictorNavigationStatus" type="int">
  <int value="0" label="NAVIGATION_STATUS_COMPLETE"/>
  <int value="1" label="NAVIGATION_STATUS_COMPLETE_ABANDONED"/>
  <int value="2" label="NAVIGATION_STATUS_ABANDONED"/>
</enum>

<enum name="ResourcePrefetchPredictorNetworkType" type="int">
  <int value="-2" label="CONNECTION_ALL"/>
  <int value="-1" label="CONNECTION_CELLULAR"/>
  <int value="0" label="CONNECTION_UNKNOWN"/>
  <int value="1" label="CONNECTION_ETHERNET"/>
  <int value="2" label="CONNECTION_WIFI"/>
  <int value="3" label="CONNECTION_2G"/>
  <int value="4" label="CONNECTION_3G"/>
  <int value="5" label="CONNECTION_4G"/>
  <int value="6" label="CONNECTION_NONE"/>
  <int value="7" label="CONNECTION_BLUETOOTH"/>
</enum>

<enum name="ResourcePrefetchPredictorRedirectStatus" type="int">
  <int value="0" label="NO_REDIRECT"/>
  <int value="1" label="NO_REDIRECT_BUT_PREDICTED"/>
  <int value="2" label="REDIRECT_NOT_PREDICTED"/>
  <int value="3" label="REDIRECT_WRONG_PREDICTED"/>
  <int value="4" label="REDIRECT_CORRECTLY_PREDICTED"/>
</enum>

<enum name="ResourcePrefetchPredictorReportingEvent" type="int">
  <int value="0" label="REPORTING_EVENT_ALL_HISTORY_CLEARED"/>
  <int value="1" label="REPORTING_EVENT_PARTIAL_HISTORY_CLEARED"/>
</enum>

<enum name="ResourcePrefetchPredictorRequestStats" type="int">
  <int value="0" label="REQUEST_STATS_TOTAL_RESPONSES"/>
  <int value="1" label="REQUEST_STATS_TOTAL_PROCESSED_RESPONSES"/>
  <int value="2" label="REQUEST_STATS_NO_RESOURCE_REQUEST_INFO"/>
  <int value="3" label="REQUEST_STATS_NO_RENDER_VIEW_ID_FROM_REQUEST_INFO"/>
</enum>

<enum name="ResourcePrefetchPredictorResourceStatus" type="int">
  <int value="0" label="RESOURCE_STATUS_HANDLED"/>
  <int value="1" label="RESOURCE_STATUS_NOT_HTTP_PAGE"/>
  <int value="2" label="RESOURCE_STATUS_NOT_HTTP_RESOURCE"/>
  <int value="4" label="RESOURCE_STATUS_UNSUPPORTED_MIME_TYPE"/>
  <int value="8" label="RESOURCE_STATUS_NOT_GET"/>
  <int value="16" label="RESOURCE_STATUS_URL_TOO_LONG"/>
  <int value="32" label="RESOURCE_STATUS_NOT_CACHEABLE"/>
  <int value="64" label="RESOURCE_STATUS_HEADERS_MISSING"/>
</enum>

<enum name="ResourceReporterCpuUsage" type="int">
  <int value="0" label="0-10%"/>
  <int value="1" label="10%-30%"/>
  <int value="2" label="30%-60%"/>
  <int value="4" label="&gt;60%"/>
</enum>

<enum name="ResourceReporterMemoryUsage" type="int">
  <int value="0" label="0-200MB"/>
  <int value="1" label="200MB-400MB"/>
  <int value="2" label="400MB-600MB"/>
  <int value="4" label="600MB-800MB"/>
  <int value="8" label="800MB-1GB"/>
  <int value="16" label="&gt;1GB."/>
</enum>

<enum name="ResourceType" type="int">
  <int value="0" label="Main resource"/>
  <int value="1" label="Image"/>
  <int value="2" label="CSSS"/>
  <int value="3" label="Script"/>
  <int value="4" label="Font"/>
  <int value="5" label="Raw"/>
  <int value="6" label="SVG"/>
  <int value="7" label="XSL"/>
  <int value="8" label="Link prefetch"/>
  <int value="9" label="Link subresource"/>
  <int value="10" label="Text track"/>
  <int value="11" label="ImportResource"/>
  <int value="12" label="Media"/>
  <int value="13" label="Manifest"/>
</enum>

<enum name="RestoredCachedStyleSheet" type="int">
  <int value="0" label="No usable cache found"/>
  <int value="1" label="Cached StyleSheetContents was reused"/>
</enum>

<enum name="RevalidationPolicy" type="int">
  <int value="0" label="Use"/>
  <int value="1" label="Revalidate"/>
  <int value="2" label="Reload"/>
  <int value="3" label="Load"/>
</enum>

<enum name="RunningMode" type="int">
  <obsolete>
    Removed 9/2016.
  </obsolete>
  <int value="0" label="Document Mode"/>
  <int value="1" label="Tabbed Mode"/>
</enum>

<enum name="SadTabEvent" type="int">
  <int value="0" label="Displayed"/>
  <int value="1" label="Button clicked"/>
  <int value="2" label="Learn more clicked"/>
</enum>

<enum name="SadTabKind" type="int">
  <int value="0" label="Crash (Aw, Snap!)"/>
  <int value="1" label="Kill (He's dead, Jim!)"/>
</enum>

<enum name="SafeBrowsingAttributionResultTypes" type="int">
  <int value="1" label="SUCCESS"/>
  <int value="2" label="SUCCESS_LANDING_PAGE"/>
  <int value="3" label="SUCCESS_LANDING_REFERRER"/>
  <int value="4" label="INVALID_URL"/>
  <int value="5" label="NAVIGATION_EVENT_NOT_FOUND"/>
</enum>

<enum name="SafeBrowsingParseV4HashResult" type="int">
  <int value="0" label="PARSE_FROM_STRING_ERROR"/>
  <int value="1" label="UNEXPECTED_THREAT_ENTRY_TYPE_ERROR"/>
  <int value="2" label="UNEXPECTED_THREAT_TYPE_ERROR"/>
  <int value="3" label="UNEXPECTED_PLATFORM_TYPE_ERROR"/>
  <int value="4" label="NO_METADATA_ERROR"/>
  <int value="5" label="INCONSISTENT_THREAT_TYPE_ERROR"/>
  <int value="6" label="UNEXPECTED_METADATA_VALUE_ERROR"/>
  <int value="7" label="NO_THREAT_ERROR"/>
</enum>

<enum name="SafeBrowsingParseV4UpdateResult" type="int">
  <int value="0" label="PARSE_FROM_STRING_ERROR"/>
  <int value="1" label="NO_PLATFORM_TYPE_ERROR"/>
  <int value="2" label="NO_THREAT_ENTRY_TYPE_ERROR"/>
  <int value="3" label="NO_THREAT_TYPE_ERROR"/>
  <int value="4" label="NO_STATE_ERROR"/>
</enum>

<enum name="SafeBrowsingResponse" type="int">
  <int value="0" label="NOT_BLACKLISTED"/>
  <int value="1" label="TIMEOUT"/>
  <int value="2" label="BLACKLISTED"/>
</enum>

<enum name="SafeBrowsingV4ApplyUpdateResult" type="int">
  <int value="0" label="APPLY_UPDATE_SUCCESS"/>
  <int value="1" label="UNEXPECTED_APPLY_UPDATE_FAILURE"/>
  <int value="2" label="PREFIX_SIZE_TOO_SMALL_FAILURE"/>
  <int value="3" label="PREFIX_SIZE_TOO_LARGE_FAILURE"/>
  <int value="4" label="ADDITIONS_SIZE_UNEXPECTED_FAILURE"/>
  <int value="5" label="ADDITIONS_HAS_EXISTING_PREFIX_FAILURE"/>
  <int value="6" label="UNEXPECTED_RESPONSE_TYPE_FAILURE"/>
  <int value="7" label="REMOVALS_INDEX_TOO_LARGE_FAILURE"/>
  <int value="8" label="RICE_DECODING_FAILURE"/>
  <int value="9" label="UNEXPECTED_COMPRESSION_TYPE_ADDITIONS_FAILURE"/>
  <int value="10" label="UNEXPECTED_COMPRESSION_TYPE_REMOVALS_FAILURE"/>
  <int value="11" label="CHECKSUM_MISMATCH_FAILURE"/>
</enum>

<enum name="SafeBrowsingV4DecodeResult" type="int">
  <int value="0" label="DECODE_SUCCESS"/>
  <int value="1" label="DECODE_NO_MORE_ENTRIES_FAILURE"/>
  <int value="2" label="DECODE_REQUESTED_TOO_MANY_BITS_FAILURE"/>
  <int value="3" label="DECODE_RAN_OUT_OF_BITS_FAILURE"/>
  <int value="4" label="NUM_ENTRIES_NEGATIVE_FAILURE"/>
  <int value="5" label="RICE_PARAMETER_NON_POSITIVE_FAILURE"/>
  <int value="6" label="ENCODED_DATA_UNEXPECTED_EMPTY_FAILURE"/>
  <int value="7" label="DECODED_INTEGER_OVERFLOW_FAILURE"/>
</enum>

<enum name="SafeBrowsingV4FullHashCacheResult" type="int">
  <int value="0" label="FULL_HASH_CACHE_MISS"/>
  <int value="1" label="FULL_HASH_CACHE_HIT"/>
  <int value="2" label="FULL_HASH_NEGATIVE_CACHE_HIT"/>
</enum>

<enum name="SafeBrowsingV4GetHashCheckResult" type="int">
  <int value="0" label="GET_HASH_CHECK_EMPTY"/>
  <int value="1" label="GET_HASH_CHECK_HIT"/>
  <int value="2" label="GET_HASH_CHECK_MISS"/>
</enum>

<enum name="SafeBrowsingV4OperationResult" type="int">
  <int value="0" label="STATUS_200"/>
  <int value="1" label="PARSE_ERROR (subset of STATUS_200)"/>
  <int value="2" label="NETWORK_ERROR"/>
  <int value="3" label="HTTP_ERROR"/>
  <int value="4" label="BACKOFF_ERROR"/>
  <int value="5" label="MIN_WAIT_DURATION_ERROR"/>
  <int value="6" label="ALREADY_PENDING_ERROR"/>
</enum>

<enum name="SafeBrowsingV4StoreReadResult" type="int">
  <int value="0" label="READ_SUCCESS"/>
  <int value="1" label="UNEXPECTED_READ_FAILURE"/>
  <int value="2" label="FILE_UNREADABLE_FAILURE"/>
  <int value="3" label="FILE_EMPTY_FAILURE"/>
  <int value="4" label="PROTO_PARSING_FAILURE"/>
  <int value="5" label="UNEXPECTED_MAGIC_NUMBER_FAILURE"/>
  <int value="6" label="FILE_VERSION_TOO_LOW_FAILURE"/>
  <int value="7" label="HASH_PREFIX_INFO_MISSING_FAILURE"/>
  <int value="8" label="HASH_PREFIX_MAP_GENERATION_FAILURE"/>
</enum>

<enum name="SafeBrowsingV4StoreWriteResult" type="int">
  <int value="0" label="WRITE_SUCCESS"/>
  <int value="1" label="UNEXPECTED_WRITE_FAILURE"/>
  <int value="2" label="INVALID_RESPONSE_TYPE_FAILURE"/>
  <int value="3" label="UNEXPECTED_BYTES_WRITTEN_FAILURE"/>
  <int value="4" label="UNABLE_TO_RENAME_FAILURE"/>
</enum>

<enum name="SavePasswordPromptResponseType" type="int">
  <int value="0" label="NO_RESPONSE"/>
  <int value="1" label="REMEMBER_PASSWORD"/>
  <int value="2" label="DONT_REMEMBER_PASSWORD"/>
</enum>

<enum name="SB2BloomFailure" type="int">
  <obsolete>
    Bloom filter support deleted in October 2012.
  </obsolete>
  <int value="0" label="READ_OPEN"/>
  <int value="1" label="READ_VERSION"/>
  <int value="2" label="READ_NUM_KEYS"/>
  <int value="3" label="READ_KEY"/>
  <int value="4" label="READ_DATA_MINSIZE"/>
  <int value="5" label="READ_DATA_MAXSIZE"/>
  <int value="6" label="READ_DATA_SHORT"/>
  <int value="7" label="READ_DATA"/>
</enum>

<enum name="SB2BloomFilterFalsePositives" type="int">
  <obsolete>
    Bloom filter support deleted in October 2012.
  </obsolete>
  <int value="0" label="ALL_MISSES"/>
  <int value="1" label="FALSE_POSITIVE_MISSES"/>
</enum>

<enum name="SB2DatabaseFailure" type="int">
  <int value="0" label="FAILURE_DATABASE_CORRUPT"/>
  <int value="1" label="FAILURE_DATABASE_CORRUPT_HANDLER"/>
  <int value="2" label="FAILURE_BROWSE_DATABASE_UPDATE_BEGIN"/>
  <int value="3" label="FAILURE_BROWSE_DATABASE_UPDATE_FINISH"/>
  <int value="4" label="FAILURE_DATABASE_FILTER_MISSING_OBSOLETE"/>
  <int value="5" label="FAILURE_DATABASE_FILTER_READ_OBSOLETE"/>
  <int value="6" label="FAILURE_DATABASE_FILTER_WRITE_OBSOLETE"/>
  <int value="7" label="FAILURE_DATABASE_FILTER_DELETE"/>
  <int value="8" label="FAILURE_DATABASE_STORE_MISSING"/>
  <int value="9" label="FAILURE_DATABASE_STORE_DELETE"/>
  <int value="10" label="FAILURE_DOWNLOAD_DATABASE_UPDATE_BEGIN"/>
  <int value="11" label="FAILURE_DOWNLOAD_DATABASE_UPDATE_FINISH"/>
  <int value="12" label="FAILURE_WHITELIST_DATABASE_UPDATE_BEGIN"/>
  <int value="13" label="FAILURE_WHITELIST_DATABASE_UPDATE_FINISH"/>
  <int value="14" label="FAILURE_BROWSE_PREFIX_SET_READ"/>
  <int value="15" label="FAILURE_BROWSE_PREFIX_SET_WRITE"/>
  <int value="16" label="FAILURE_BROWSE_PREFIX_SET_DELETE"/>
  <int value="17" label="FAILURE_EXTENSION_BLACKLIST_UPDATE_BEGIN"/>
  <int value="18" label="FAILURE_EXTENSION_BLACKLIST_UPDATE_FINISH"/>
  <int value="19" label="FAILURE_EXTENSION_BLACKLIST_DELETE"/>
  <int value="20" label="FAILURE_SIDE_EFFECT_FREE_WHITELIST_UPDATE_BEGIN"/>
  <int value="21" label="FAILURE_SIDE_EFFECT_FREE_WHITELIST_UPDATE_FINISH"/>
  <int value="22" label="FAILURE_SIDE_EFFECT_FREE_WHITELIST_DELETE"/>
  <int value="23" label="FAILURE_SIDE_EFFECT_FREE_WHITELIST_PREFIX_SET_READ"/>
  <int value="24" label="FAILURE_SIDE_EFFECT_FREE_WHITELIST_PREFIX_SET_WRITE"/>
  <int value="25" label="FAILURE_SIDE_EFFECT_FREE_WHITELIST_PREFIX_SET_DELETE"/>
  <int value="26" label="FAILURE_IP_BLACKLIST_UPDATE_BEGIN"/>
  <int value="27" label="FAILURE_IP_BLACKLIST_UPDATE_FINISH"/>
  <int value="28" label="FAILURE_IP_BLACKLIST_UPDATE_INVALID"/>
  <int value="29" label="FAILURE_IP_BLACKLIST_DELETE"/>
  <int value="30" label="FAILURE_UNWANTED_SOFTWARE_DATABASE_UPDATE_BEGIN"/>
  <int value="31" label="FAILURE_UNWANTED_SOFTWARE_DATABASE_UPDATE_FINISH"/>
  <int value="32" label="FAILURE_UNWANTED_SOFTWARE_PREFIX_SET_READ"/>
  <int value="33" label="FAILURE_UNWANTED_SOFTWARE_PREFIX_SET_WRITE"/>
  <int value="34" label="FAILURE_UNWANTED_SOFTWARE_PREFIX_SET_DELETE"/>
  <int value="35" label="FAILURE_RESOURCE_BLACKLIST_UPDATE_BEGIN"/>
  <int value="36" label="FAILURE_RESOURCE_BLACKLIST_UPDATE_FINISH"/>
  <int value="37" label="FAILURE_RESOURCE_BLACKLIST_DELETE"/>
  <int value="38" label="FAILURE_MODULE_WHITELIST_DELETE"/>
</enum>

<enum name="SB2DownloadChecks" type="int">
  <int value="0" label="URL_CHECKS_TOTAL"/>
  <int value="1" label="URL_CHECKS_CANCELED"/>
  <int value="2" label="URL_CHECKS_MALWARE"/>
  <int value="3" label="HASH_CHECKS_TOTAL"/>
  <int value="4" label="HASH_CHECKS_MALWARE"/>
</enum>

<enum name="SB2FilterLoad" type="int">
  <int value="0" label="ALL"/>
  <int value="1" label="PREFIX_SET"/>
  <int value="2" label="BLOOM_FILTER"/>
</enum>

<enum name="SB2FormatEvent" type="int">
  <summary>
    Track information for various error cases in the safe-browsing store.
  </summary>
  <int value="0" label="FILE_CORRUPT">Store corruption detected</int>
  <int value="1" label="SQLITE_CORRUPT">
    SQLite store orruption detected (obsolete)
  </int>
  <int value="2" label="FOUND_SQLITE">SQLite store found (obsolete)</int>
  <int value="3" label="FOUND_UNKNOWN">Store format unknown at open</int>
  <int value="4" label="SQLITE_DELETED">
    Deleted SQLite-format store (obsolete)
  </int>
  <int value="5" label="SQLITE_DELETE_FAILED">
    Deletion of SQLite-format store failed (obsolete)
  </int>
  <int value="6" label="SQLITE_DELETED_ORIGINAL">
    Deleted pre-release SQLite store (obsolete)
  </int>
  <int value="7" label="SQLITE_DELETE_ORIGINAL_FAILED">
    Deletion of pre-release SQLite store failed (obsolete)
  </int>
  <int value="8" label="VALIDITY_CHECKSUM_FAILURE">
    Failed explicit checksum check on failed update from server
  </int>
  <int value="9" label="UPDATE_CHECKSUM_FAILURE">
    Failed checksum check while merging new data into store
  </int>
  <int value="10" label="HEADER_CHECKSUM_FAILURE">
    Failed header checksum check when opening store
  </int>
  <int value="11" label="FOUND_DEPRECATED">
    Store with valid magic number has deprecated version number
  </int>
</enum>

<enum name="SB2GetHashResult" type="int">
  <int value="0" label="STATUS_200"/>
  <int value="1" label="STATUS_204"/>
  <int value="2" label="FULL_HASH_EMPTY (sum of STATUS_204, *_ERROR)"/>
  <int value="3" label="FULL_HASH_HIT (subset of STATUS_200)"/>
  <int value="4" label="FULL_HASH_MISS (subset of STATUS_200)"/>
  <int value="5" label="PARSE_ERROR (subset of STATUS_200)"/>
  <int value="6" label="NETWORK_ERROR"/>
  <int value="7" label="HTTP_ERROR"/>
  <int value="8" label="BACKOFF_ERROR"/>
</enum>

<enum name="SB2InterstitialAction" type="int">
  <obsolete>
    Deprecated 9/2014.
  </obsolete>
  <int value="0" label="MALWARE_SHOW"/>
  <int value="1" label="MALWARE_DONT_PROCEED"/>
  <int value="2" label="MALWARE_FORCED_DONT_PROCEED"/>
  <int value="3" label="MALWARE_PROCEED"/>
  <int value="4" label="MULTIPLE_SHOW"/>
  <int value="5" label="MULTIPLE_DONT_PROCEED"/>
  <int value="6" label="MULTIPLE_FORCED_DONT_PROCEED"/>
  <int value="7" label="MULTIPLE_PROCEED"/>
  <int value="8" label="PHISHING_SHOW"/>
  <int value="9" label="PHISHING_DONT_PROCEED"/>
  <int value="10" label="PHISHING_FORCED_DONT_PROCEED"/>
  <int value="11" label="PHISHING_PROCEED"/>
  <int value="12" label="MALWARE_SHOW_ADVANCED"/>
  <int value="13" label="MULTIPLE_SHOW_ADVANCED"/>
  <int value="14" label="PHISHING_SHOW_ADVANCED"/>
</enum>

<enum name="SB2InterstitialActionDetails" type="int">
  <obsolete>
    Deprecated 9/2014.
  </obsolete>
  <int value="0" label="MALWARE_SHOW_NEW_SITE"/>
  <int value="1" label="MALWARE_PROCEED_NEW_SITE"/>
  <int value="2" label="MALWARE_SHOW_CROSS_SITE"/>
  <int value="3" label="MALWARE_PROCEED_CROSS_SITE"/>
  <int value="4" label="PHISHING_SHOW_NEW_SITE"/>
  <int value="5" label="PHISHING_PROCEED_NEW_SITE"/>
  <int value="6" label="PHISHING_SHOW_CROSS_SITE"/>
  <int value="7" label="PHISHING_PROCEED_CROSS_SITE"/>
</enum>

<enum name="SB2PrefixSetEvent" type="int">
  <obsolete>
    Deprecated 9/2012. No longer generated.
  </obsolete>
  <int value="0" label="PREFIX_SET_HIT"/>
  <int value="1" label="BLOOM_HIT"/>
  <int value="2" label="BLOOM_MISS_PREFIX_SET_HIT"/>
  <int value="3" label="BLOOM_MISS_PREFIX_HIT_INVALID"/>
  <int value="4" label="GETPREFIXES_BROKEN"/>
  <int value="5" label="GETPREFIXES_BROKEN_SIZE"/>
  <int value="6" label="GETPREFIXES_FIRST_BROKEN"/>
  <int value="7" label="SBPREFIX_WAS_BROKEN"/>
  <int value="8" label="GETPREFIXES_BROKEN_SORTING"/>
  <int value="9" label="GETPREFIXES_BROKEN_DUPLICATION"/>
  <int value="10" label="GETPREFIX_UNSORTED_IS_DELTA"/>
  <int value="11" label="GETPREFIX_UNSORTED_IS_INDEX"/>
  <int value="12" label="CREATE_PREFIX_SET_CHECKSUM"/>
  <int value="13" label="CREATE_BLOOM_FILTER_CHECKSUM"/>
  <int value="14" label="CREATE_ADD_PREFIXES_CHECKSUM"/>
  <int value="15" label="CREATE_PREFIXES_CHECKSUM"/>
  <int value="16" label="GET_PREFIXES_CHECKSUM"/>
  <int value="17" label="MISMATCH_PREFIX_SET_CHECKSUM"/>
  <int value="18" label="MISMATCH_BLOOM_FILTER_CHECKSUM"/>
  <int value="19" label="BLOOM_MISS_PREFIX_HIT"/>
</enum>

<enum name="SB2RemoteCallResult" type="int">
  <int value="0" label="INTERNAL_ERROR"/>
  <int value="1" label="TIMEOUT"/>
  <int value="2" label="SAFE"/>
  <int value="3" label="UNSAFE"/>
  <int value="4" label="JSON_EMPTY"/>
  <int value="5" label="JSON_FAILED_TO_PARSE"/>
  <int value="6" label="JSON_UNKNOWN_THREAT"/>
  <int value="7" label="UNSUPPORTED"/>
</enum>

<enum name="SB2RemoteCallThreatSubType" type="int">
  <int value="0" label="No subtype added"/>
  <int value="1" label="Potentially Harmful App Landing URL"/>
  <int value="2" label="Potentially Harmful App Distribution URL"/>
  <int value="3" label="Unknown"/>
  <int value="4" label="Social Engineering Ads URL"/>
  <int value="5" label="Social Engineering Landing URL"/>
  <int value="6" label="Phishing URL"/>
</enum>

<enum name="SB2SideEffectFreeWhitelistStatus" type="int">
  <int value="0" label="Enabled"/>
  <int value="1" label="Disabled"/>
</enum>

<enum name="SB2UpdateResult" type="int">
  <int value="0" label="FAIL"/>
  <int value="1" label="SUCCESS"/>
  <int value="2" label="BACKUP_CONNECT_FAIL"/>
  <int value="3" label="BACKUP_CONNECT_SUCCESS"/>
  <int value="4" label="BACKUP_HTTP_FAIL"/>
  <int value="5" label="BACKUP_HTTP_SUCCESS"/>
  <int value="6" label="BACKUP_NETWORK_FAIL"/>
  <int value="7" label="BACKUP_NETWORK_SUCCESS"/>
</enum>

<enum name="SBClientDetectionPreClassificationCheckFail" type="int">
  <int value="0" label="PROXY_FETCH"/>
  <int value="1" label="PRIVATE_IP"/>
  <int value="2" label="OFF_THE_RECORD"/>
  <int value="3" label="MATCH_CSD_WHITELIST"/>
  <int value="4" label="TOO_MANY_REPORTS"/>
  <int value="5" label="UNSUPPORTED_MIME_TYPE"/>
  <int value="6" label="NO_DATABASE_MANAGER"/>
  <int value="7" label="KILLSWITCH"/>
  <int value="8" label="CANCEL"/>
  <int value="9" label="RESULT_FROM_CACHE"/>
  <int value="10" label="NOT_HTTP_URL"/>
</enum>

<enum name="SBClientDownloadCheckDownloadStats" type="int">
  <int value="0" label="INVALID_URL"/>
  <int value="1" label="SB_DISABLED"/>
  <int value="2" label="WHITELISTED_URL"/>
  <int value="3" label="WHITELISTED_REFERRER"/>
  <int value="4" label="INVALID_REQUEST_PROTO"/>
  <int value="5" label="SERVER_PING_FAILED"/>
  <int value="6" label="INVALID_RESPONSE_PROTO"/>
  <int value="7" label="NOT_BINARY_FILE"/>
  <int value="8" label="REQUEST_CANCELED"/>
  <int value="9" label="DOWNLOAD_DANGEROUS"/>
  <int value="10" label="DOWNLOAD_SAFE"/>
  <int value="11" label="EMPTY_URL_CHAIN"/>
  <int value="12" label="HTTPS_URL (deprecated)"/>
  <int value="13" label="PING_DISABLED"/>
  <int value="14" label="TRUSTED_EXECUTABLE"/>
  <int value="15" label="OS_NOT_SUPPORTED"/>
  <int value="16" label="DOWNLOAD_UNCOMMON"/>
  <int value="17" label="DOWNLOAD_NOT_SUPPORTED"/>
  <int value="18" label="INVALID_RESPONSE_VERDICT"/>
  <int value="19" label="ARCHIVE_WITHOUT_BINARIES"/>
  <int value="20" label="DOWNLOAD_DANGEROUS_HOST"/>
  <int value="21" label="DOWNLOAD_POTENTIALLY_UNWANTED"/>
  <int value="22" label="UNSUPPORTED_URL_SCHEME"/>
  <int value="23" label="MANUAL_BLACKLIST"/>
  <int value="24" label="LOCAL_FILE"/>
  <int value="25" label="REMOTE_FILE"/>
  <int value="26" label="SAMPLED_UNSUPPORTED_FILE"/>
  <int value="27" label="VERDICT_UNKNOWN"/>
</enum>

<enum name="SBClientDownloadCheckResult" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="SAFE"/>
  <int value="2" label="DANGEROUS"/>
  <int value="3" label="UNCOMMON"/>
  <int value="4" label="DANGEROUS_HOST"/>
  <int value="5" label="POTENTIALLY_UNWANTED"/>
</enum>

<enum name="SBClientDownloadExtensions" type="int">
  <int value="-1" label="File extension not categorized"/>
  <int value="0" label="EXE"/>
  <int value="1" label="MSI"/>
  <int value="2" label="CAB"/>
  <int value="3" label="SYS"/>
  <int value="4" label="SCR"/>
  <int value="5" label="DRV"/>
  <int value="6" label="BAT"/>
  <int value="7" label="ZIP"/>
  <int value="8" label="RAR"/>
  <int value="9" label="DLL"/>
  <int value="10" label="PIF"/>
  <int value="11" label="COM"/>
  <int value="12" label="JAR"/>
  <int value="13" label="CLASS"/>
  <int value="14" label="PDF"/>
  <int value="15" label="VB"/>
  <int value="16" label="REG"/>
  <int value="17" label="GRP"/>
  <int value="18" label="OTHER"/>
  <int value="19" label="CRX"/>
  <int value="20" label="APK"/>
  <int value="21" label="DMG"/>
  <int value="22" label="PKG"/>
  <int value="23" label="TORRENT"/>
  <int value="24" label="WEBSITE"/>
  <int value="25" label="URL"/>
  <int value="26" label="VBE"/>
  <int value="27" label="VBS"/>
  <int value="28" label="JS"/>
  <int value="29" label="JSE"/>
  <int value="30" label="MHT"/>
  <int value="31" label="MHTML"/>
  <int value="32" label="MSC"/>
  <int value="33" label="MSP"/>
  <int value="34" label="MST"/>
  <int value="35" label="BAS"/>
  <int value="36" label="HTA"/>
  <int value="37" label="MSH"/>
  <int value="38" label="MSH1"/>
  <int value="39" label="MSH1XML"/>
  <int value="40" label="MSH2"/>
  <int value="41" label="MSH2XML"/>
  <int value="42" label="MSHXML"/>
  <int value="43" label="PS1"/>
  <int value="44" label="PS1XML"/>
  <int value="45" label="PS2"/>
  <int value="46" label="PS2XML"/>
  <int value="47" label="PSC1"/>
  <int value="48" label="PSC2"/>
  <int value="49" label="SCF"/>
  <int value="50" label="SCT"/>
  <int value="51" label="WSF"/>
  <int value="52" label="7Z"/>
  <int value="53" label="XZ"/>
  <int value="54" label="GZ"/>
  <int value="55" label="TGZ"/>
  <int value="56" label="BZ2"/>
  <int value="57" label="TAR"/>
  <int value="58" label="ARJ"/>
  <int value="59" label="LZH"/>
  <int value="60" label="LHA"/>
  <int value="61" label="WIM"/>
  <int value="62" label="Z"/>
  <int value="63" label="LZMA"/>
  <int value="64" label="CPIO"/>
  <int value="65" label="CMD"/>
  <int value="66" label="APP"/>
  <int value="67" label="OSX -- Not supported"/>
  <int value="68" label="SWF"/>
  <int value="69" label="SPL"/>
  <int value="70" label="APPLICATION"/>
  <int value="71" label="ASP"/>
  <int value="72" label="ASX"/>
  <int value="73" label="CFG"/>
  <int value="74" label="CHI"/>
  <int value="75" label="CHM"/>
  <int value="76" label="CPL"/>
  <int value="77" label="FXP"/>
  <int value="78" label="HLP"/>
  <int value="79" label="HTT"/>
  <int value="80" label="INF"/>
  <int value="81" label="INI"/>
  <int value="82" label="INS"/>
  <int value="83" label="ISP"/>
  <int value="84" label="LNK"/>
  <int value="85" label="LOCAL"/>
  <int value="86" label="MANIFEST"/>
  <int value="87" label="MAU"/>
  <int value="88" label="MMC"/>
  <int value="89" label="MOF"/>
  <int value="90" label="OCX"/>
  <int value="91" label="OPS"/>
  <int value="92" label="PCD"/>
  <int value="93" label="PLG"/>
  <int value="94" label="PRF"/>
  <int value="95" label="PRG"/>
  <int value="96" label="PST"/>
  <int value="97" label="CRT"/>
  <int value="98" label="ADE"/>
  <int value="99" label="ADP"/>
  <int value="100" label="MAD"/>
  <int value="101" label="MAF"/>
  <int value="102" label="MAG"/>
  <int value="103" label="MAM"/>
  <int value="104" label="MAQ"/>
  <int value="105" label="MAR"/>
  <int value="106" label="MAS"/>
  <int value="107" label="MAT"/>
  <int value="108" label="MAV"/>
  <int value="109" label="MAW"/>
  <int value="110" label="MDA"/>
  <int value="111" label="MDB"/>
  <int value="112" label="MDE"/>
  <int value="113" label="MDT"/>
  <int value="114" label="MDW"/>
  <int value="115" label="MDZ"/>
  <int value="116" label="SHB"/>
  <int value="117" label="SHS"/>
  <int value="118" label="VSD"/>
  <int value="119" label="VSMACROS"/>
  <int value="120" label="VSS"/>
  <int value="121" label="VST"/>
  <int value="122" label="VSW"/>
  <int value="123" label="WS"/>
  <int value="124" label="WSC"/>
  <int value="125" label="WSH"/>
  <int value="126" label="XBAP"/>
  <int value="127" label="XNK"/>
  <int value="128" label="JNLP"/>
  <int value="129" label="PL"/>
  <int value="130" label="PY"/>
  <int value="131" label="PYC"/>
  <int value="132" label="PYW"/>
  <int value="133" label="RB"/>
  <int value="134" label="BASH"/>
  <int value="135" label="CSH"/>
  <int value="136" label="KSH"/>
  <int value="137" label="SH"/>
  <int value="138" label="SHAR"/>
  <int value="139" label="TCSH"/>
  <int value="140" label="COMMAND"/>
  <int value="141" label="DEB"/>
  <int value="142" label="RPM"/>
  <int value="143" label="DEX"/>
  <int value="144" label="APPREF_MS"/>
  <int value="145" label="GADGET"/>
  <int value="146" label="EFI"/>
  <int value="147" label="FON"/>
  <int value="148" label="BZIP2"/>
  <int value="149" label="GZIP"/>
  <int value="150" label="TAZ"/>
  <int value="151" label="TBZ"/>
  <int value="152" label="TBZ2"/>
  <int value="153" label="PARTIAL"/>
  <int value="154" label="SVG"/>
  <int value="155" label="XML"/>
  <int value="156" label="XRM_MS"/>
  <int value="157" label="XSL"/>
  <int value="158" label="ACTION"/>
  <int value="159" label="BIN"/>
  <int value="160" label="INX"/>
  <int value="161" label="IPA -- Not supported"/>
  <int value="162" label="ISU"/>
  <int value="163" label="JOB"/>
  <int value="164" label="OUT"/>
  <int value="165" label="PAD -- Not supported"/>
  <int value="166" label="PAF"/>
  <int value="167" label="RGS"/>
  <int value="168" label="U3P"/>
  <int value="169" label="VBSCRIPT"/>
  <int value="170" label="WORKFLOW"/>
  <int value="171" label="001"/>
  <int value="172" label="ACE"/>
  <int value="173" label="ARC"/>
  <int value="174" label="B64"/>
  <int value="175" label="BALZ"/>
  <int value="176" label="BHX"/>
  <int value="177" label="BZ"/>
  <int value="178" label="FAT"/>
  <int value="179" label="HFS"/>
  <int value="180" label="HQX"/>
  <int value="181" label="ISO"/>
  <int value="182" label="LPAQ1"/>
  <int value="183" label="LPAQ5"/>
  <int value="184" label="LPAQ8"/>
  <int value="185" label="MIM"/>
  <int value="186" label="NTFS"/>
  <int value="187" label="PAQ8F"/>
  <int value="188" label="PAQ8JD"/>
  <int value="189" label="PAQ8L"/>
  <int value="190" label="PAQ8O"/>
  <int value="191" label="PEA"/>
  <int value="192" label="PET"/>
  <int value="193" label="PUP"/>
  <int value="194" label="QUAD"/>
  <int value="195" label="R00"/>
  <int value="196" label="R01"/>
  <int value="197" label="R02"/>
  <int value="198" label="R03"/>
  <int value="199" label="R04"/>
  <int value="200" label="R05"/>
  <int value="201" label="R06"/>
  <int value="202" label="R07"/>
  <int value="203" label="R08"/>
  <int value="204" label="R09"/>
  <int value="205" label="R10"/>
  <int value="206" label="R11"/>
  <int value="207" label="R12"/>
  <int value="208" label="R13"/>
  <int value="209" label="R14"/>
  <int value="210" label="R15"/>
  <int value="211" label="R16"/>
  <int value="212" label="R17"/>
  <int value="213" label="R18"/>
  <int value="214" label="R19"/>
  <int value="215" label="R20"/>
  <int value="216" label="R21"/>
  <int value="217" label="R22"/>
  <int value="218" label="R23"/>
  <int value="219" label="R24"/>
  <int value="220" label="R25"/>
  <int value="221" label="R26"/>
  <int value="222" label="R27"/>
  <int value="223" label="R28"/>
  <int value="224" label="R29"/>
  <int value="225" label="SLP"/>
  <int value="226" label="SQUASHFS"/>
  <int value="227" label="SWM"/>
  <int value="228" label="TPZ"/>
  <int value="229" label="TXZ"/>
  <int value="230" label="TZ"/>
  <int value="231" label="UDF"/>
  <int value="232" label="UU"/>
  <int value="233" label="UUE"/>
  <int value="234" label="VHD"/>
  <int value="235" label="VMDK"/>
  <int value="236" label="WRC"/>
  <int value="237" label="XAR"/>
  <int value="238" label="XXE"/>
  <int value="239" label="ZIPX"/>
  <int value="240" label="ZPAQ"/>
  <int value="241" label="RELS"/>
  <int value="242" label="MSG"/>
  <int value="243" label="EML"/>
  <int value="244" label="RTF"/>
  <int value="245" label="VHDX"/>
  <int value="246" label="SEARCH_MS"/>
  <int value="247" label="IMG"/>
  <int value="248" label="SMI"/>
  <int value="249" label="SPARSEBUNDLE"/>
  <int value="250" label="SPARSEIMAGE"/>
  <int value="251" label="CDR"/>
  <int value="252" label="DMGPART"/>
  <int value="253" label="DVDR"/>
  <int value="254" label="DART"/>
  <int value="255" label="DC42"/>
  <int value="256" label="DISKCOPY42"/>
  <int value="257" label="IMGPART"/>
  <int value="258" label="NDIF"/>
  <int value="259" label="UDIF"/>
  <int value="260" label="TOAST"/>
  <int value="261" label="RUN"/>
  <int value="262" label="AD"/>
  <int value="263" label="MPKG"/>
  <int value="264" label="AS"/>
  <int value="265" label="CPGZ"/>
  <int value="266" label="PAX"/>
  <int value="267" label="XIP"/>
  <int value="268" label="DOCX"/>
  <int value="269" label="DOCM"/>
  <int value="270" label="DOTT"/>
  <int value="271" label="DOTM"/>
  <int value="272" label="DOCB"/>
  <int value="273" label="XLSX"/>
  <int value="274" label="XLSM"/>
  <int value="275" label="XLTX"/>
  <int value="276" label="XLTM"/>
  <int value="277" label="PPTX"/>
  <int value="278" label="PPTM"/>
  <int value="279" label="POTX"/>
  <int value="280" label="PPAM"/>
  <int value="281" label="PPSX"/>
  <int value="282" label="SLDX"/>
  <int value="283" label="SLDM"/>
</enum>

<enum name="SBClientDownloadIsSignedBinary" type="int">
  <int value="0" label="Unsigned"/>
  <int value="1" label="Signed"/>
</enum>

<enum name="SBClientDownloadPPAPIDownloadRequestOutcome" type="int">
  <int value="0" label="(unknown)"/>
  <int value="1" label="Request destroyed before completion"/>
  <int value="2" label="Unsupported file type"/>
  <int value="3" label="Timed out"/>
  <int value="4" label="Whitelisted URL"/>
  <int value="5" label="Request was malformed"/>
  <int value="6" label="Network request failed"/>
  <int value="7" label="Response was malformed"/>
  <int value="8" label="Succeeded"/>
</enum>

<enum name="SBClientMalwareSentReports" type="int">
  <int value="0" label="Sent"/>
  <int value="1" label="Hit limit"/>
  <int value="2" label="Failed serialization"/>
</enum>

<enum name="SBClientPhishingCancelClassificationReason" type="int">
  <int value="0" label="NAVIGATE_AWAY"/>
  <int value="1" label="NAVIGATE_WITHIN_PAGE"/>
  <int value="2" label="PAGE_RECAPTURED"/>
  <int value="3" label="SHUTDOWN"/>
  <int value="4" label="NEW_PHISHING_SCORER"/>
</enum>

<enum name="SBClientPhishingClientModelStatus" type="int">
  <int value="0" label="MODEL_SUCCESS"/>
  <int value="1" label="MODEL_NOT_CHANGED"/>
  <int value="2" label="MODEL_FETCH_FAILED"/>
  <int value="3" label="MODEL_EMPTY"/>
  <int value="4" label="MODEL_TOO_LARGE"/>
  <int value="5" label="MODEL_PARSE_ERROR"/>
  <int value="6" label="MODEL_MISSING_FIELDS"/>
  <int value="7" label="MODEL_INVALID_VERSION_NUMBER"/>
  <int value="8" label="BAD_HASH_IDS"/>
</enum>

<enum name="SBClientPhishingScorerCreationStatus" type="int">
  <int value="0" label="SUCCESS"/>
  <int value="1" label="MODEL_OPEN_FAIL"/>
  <int value="2" label="MODEL_FILE_EMPTY"/>
  <int value="3" label="MODEL_FILE_TOO_LARGE"/>
  <int value="4" label="MODEL_PARSE_ERROR"/>
  <int value="5" label="MODEL_MISSING_FIELDS"/>
</enum>

<enum name="SBClientPhishingSkipClassificationReason" type="int">
  <int value="0" label="Not skipped"/>
  <int value="1" label="Skipped: HTTPS"/>
  <int value="2" label="Skipped: Not a GET request"/>
</enum>

<enum name="SBDownloadFeedbackUploadResult" type="int">
  <int value="0" label="SUCCESS"/>
  <int value="1" label="UPLOAD_SUCCESS"/>
  <int value="2" label="UPLOAD_CANCELLED"/>
  <int value="3" label="UPLOAD_METADATA_NET_ERROR"/>
  <int value="4" label="UPLOAD_METADATA_RESPONSE_ERROR"/>
  <int value="5" label="UPLOAD_FILE_NET_ERROR"/>
  <int value="6" label="UPLOAD_FILE_RESPONSE_ERROR"/>
  <int value="7" label="UPLOAD_COMPLETE_RESPONSE_ERROR"/>
</enum>

<enum name="SBFileTypeUpdateResult" type="int">
  <int value="1" label="SUCCESS"/>
  <int value="2" label="FAILED_EMPTY"/>
  <int value="3" label="FAILED_PROTO_PARSE"/>
  <int value="4" label="FAILED_DELTA_CHECK"/>
  <int value="5" label="FAILED_VERSION_CHECK"/>
  <int value="6" label="FAILED_DEFAULT_SETTING_SET"/>
  <int value="7" label="FAILED_WRONG_SETTINGS_COUNT"/>
  <int value="8" label="SKIPPED_VERSION_CHECK_EQUAL"/>
</enum>

<enum name="ScheduledNavigationType" type="int">
  <int value="0" label="(no gesture) ScheduledReload"/>
  <int value="1" label="(no gesture) ScheduledFormSubmission"/>
  <int value="2" label="(no gesture) ScheduledURLNavigation"/>
  <int value="3" label="(no gesture) ScheduledRedirect"/>
  <int value="4" label="(no gesture) ScheduledLocationChange"/>
  <int value="5" label="(no gesture) ScheduledPageBlock"/>
  <int value="6" label="(gesture) ScheduledReload"/>
  <int value="7" label="(gesture) ScheduledFormSubmission"/>
  <int value="8" label="(gesture) ScheduledURLNavigation"/>
  <int value="9" label="(gesture) ScheduledRedirect"/>
  <int value="10" label="(gesture) ScheduledLocationChange"/>
  <int value="11" label="(gesture) ScheduledPageBlock"/>
</enum>

<enum name="ScoutActiveExtendedReportingPref" type="int">
  <int value="0" label="Active pref is the legacy SBER pref"/>
  <int value="1" label="Active pref is the new Scout pref"/>
</enum>

<enum name="ScoutTransitionReason" type="int">
  <int value="0" label="Flag forced Scout Group to true"/>
  <int value="1" label="Flag forced Scout Group to false"/>
  <int value="2" label="User in OnlyShowScout group, enters Scout Group"/>
  <int value="3"
      label="User in CanShowScout group, enters Scout Group immediately"/>
  <int value="4"
      label="User in CanShowScout group, waiting for interstitial to enter
             Scout Group"/>
  <int value="5"
      label="User in CanShowScout group saw first interstitial and entered
             Scout Group"/>
  <int value="6" label="User in Control group"/>
  <int value="7" label="Rollback: SBER2 on on implies SBER1 can turn on"/>
  <int value="8" label="Rollback: SBER2 off so SBER1 must be turned off"/>
  <int value="9" label="Rollback: SBER2 absent so SBER1 must be cleared"/>
</enum>

<enum name="ScrollingThreadStatus" type="int">
  <int value="0" label="SCROLLING_ON_COMPOSITOR"/>
  <int value="1" label="SCROLLING_ON_COMPOSITOR_BLOCKED_ON_MAIN"/>
  <int value="2" label="SCROLLING_ON_MAIN"/>
</enum>

<enum name="ScrollThread" type="int">
  <int value="0" label="Scroll on impl-thread"/>
  <int value="1" label="Scroll on main-thread"/>
</enum>

<enum name="SCTCanBeChecked" type="int">
  <int value="0" label="No valid STH"/>
  <int value="1" label="Requires newer STH"/>
  <int value="2" label="Can be checked for inclusion"/>
</enum>

<enum name="SCTOrigin" type="int">
  <int value="0" label="SCT_EMBEDDED"/>
  <int value="1" label="SCT_FROM_TLS_EXTENSION"/>
  <int value="2" label="SCT_FROM_OCSP_RESPONSE"/>
</enum>

<enum name="SCTVerifyStatus" type="int">
  <int value="0" label="SCT_STATUS_NONE"/>
  <int value="1" label="SCT_STATUS_LOG_UNKNOWN"/>
  <int value="2" label="DEPRECATED: SCT_STATUS_INVALID"/>
  <int value="3" label="SCT_STATUS_OK"/>
  <int value="4" label="SCT_STATUS_INVALID_SIGNATURE"/>
  <int value="5" label="SCT_STATUS_INVALID_TIMESTAMP"/>
</enum>

<enum name="SdchDictionaryFate" type="int">
  <summary>
    Fate of an Sdch dictionary, on load and eviction. See
    net/sdch/sdch_owner.cc.
  </summary>
  <int value="1" label="GET_IGNORED"/>
  <int value="2" label="FETCH_FAILED"/>
  <int value="3" label="FETCH_IGNORED_NO_SPACE"/>
  <int value="4" label="FETCH_MANAGER_REFUSED"/>
  <int value="5" label="ADD_RESPONSE_TRIGGERRED"/>
  <int value="6" label="EVICT_FOR_DICT"/>
  <int value="7" label="EVICT_FOR_MEMORY"/>
  <int value="8" label="EVICT_FOR_DESTRUCTION"/>
  <int value="9" label="ADD_PERSISTENCE_TRIGGERRED"/>
  <int value="10" label="UNLOAD_FOR_DESTRUCTION"/>
</enum>

<enum name="SdchPersistenceFailureReason" type="int">
  <summary>
    Errors that can occur when reading in or writing out persisted dictionary
    information. See enum in net/sdch/sdch_owner.h for more information.
  </summary>
  <int value="1" label="NO_FILE"/>
  <int value="2" label="READ_FAILED"/>
  <int value="3" label="WRITE_FAILED"/>
  <int value="4" label="OTHER"/>
</enum>

<enum name="SdchProblemCode" type="int">
  <summary>
    SDCH problem codes, listed in net/base/sdch_problem_code_list.h
  </summary>
  <int value="1" label="ADDED_CONTENT_ENCODING"/>
  <int value="2" label="FIXED_CONTENT_ENCODING"/>
  <int value="3" label="FIXED_CONTENT_ENCODINGS"/>
  <int value="4" label="DECODE_HEADER_ERROR"/>
  <int value="5" label="DECODE_BODY_ERROR"/>
  <int value="6" label="OPTIONAL_GUNZIP_ENCODING_ADDED"/>
  <int value="7" label="BINARY_ADDED_CONTENT_ENCODING"/>
  <int value="8" label="BINARY_FIXED_CONTENT_ENCODING"/>
  <int value="9" label="BINARY_FIXED_CONTENT_ENCODINGS"/>
  <int value="10" label="DICTIONARY_FOUND_HAS_WRONG_DOMAIN"/>
  <int value="11" label="DICTIONARY_FOUND_HAS_WRONG_PORT_LIST"/>
  <int value="12" label="DICTIONARY_FOUND_HAS_WRONG_PATH"/>
  <int value="13" label="DICTIONARY_FOUND_HAS_WRONG_SCHEME"/>
  <int value="14" label="DICTIONARY_HASH_NOT_FOUND"/>
  <int value="15" label="DICTIONARY_HASH_MALFORMED"/>
  <int value="16" label="defunct (DICTIONARY_FOUND_EXPIRED)"/>
  <int value="20" label="DICTIONARY_HAS_NO_HEADER"/>
  <int value="21" label="DICTIONARY_HEADER_LINE_MISSING_COLON"/>
  <int value="22" label="DICTIONARY_MISSING_DOMAIN_SPECIFIER"/>
  <int value="23" label="DICTIONARY_SPECIFIES_TOP_LEVEL_DOMAIN"/>
  <int value="24" label="DICTIONARY_DOMAIN_NOT_MATCHING_SOURCE_URL"/>
  <int value="25" label="DICTIONARY_PORT_NOT_MATCHING_SOURCE_URL"/>
  <int value="26" label="DICTIONARY_HAS_NO_TEXT"/>
  <int value="27" label="DICTIONARY_REFERER_URL_HAS_DOT_IN_PREFIX"/>
  <int value="28" label="DICTIONARY_UNSUPPORTED_VERSION"/>
  <int value="30" label="DICTIONARY_LOAD_ATTEMPT_FROM_DIFFERENT_HOST"/>
  <int value="31" label="DICTIONARY_SELECTED_FOR_SSL"/>
  <int value="32" label="DICTIONARY_ALREADY_LOADED"/>
  <int value="33" label="DICTIONARY_SELECTED_FROM_NON_HTTP"/>
  <int value="34" label="defunct (DICTIONARY_IS_TOO_LARGE)">
    Recorded in separate histogram; see Sdch3.DictionaryFate.
  </int>
  <int value="35" label="defunct (DICTIONARY_COUNT_EXCEEDED)">
    Recorded in separate histogram; see Sdch3.DictionaryFate.
  </int>
  <int value="36" label="defunct">
    DICTIONARY_PREVIOUSLY_SCHEDULED_TO_DOWNLOAD used instead
  </int>
  <int value="37" label="defunct">
    DICTIONARY_PREVIOUSLY_SCHEDULED_TO_DOWNLOAD used instead
  </int>
  <int value="38" label="DICTIONARY_FETCH_READ_FAILED-defunct">
    Used to indicate a broken false return from URLRequest::Read(); no longer
    checking that return value.
  </int>
  <int value="39" label="DICTIONARY_PREVIOUSLY_SCHEDULED_TO_DOWNLOAD"/>
  <int value="40" label="ATTEMPT_TO_DECODE_NON_HTTP_DATA"/>
  <int value="44" label="DICTIONARY_NO_ROOM"/>
  <int value="50" label="MULTIENCODING_FOR_NON_SDCH_REQUEST"/>
  <int value="51" label="SDCH_CONTENT_ENCODE_FOR_NON_SDCH_REQUEST"/>
  <int value="52" label="UNADVERTISED_DICTIONARY_USED"/>
  <int value="53" label="UNADVERTISED_DICTIONARY_USED_CACHED"/>
  <int value="61" label="DOMAIN_BLACKLIST_INCLUDES_TARGET"/>
  <int value="70" label="META_REFRESH_RECOVERY"/>
  <int value="71" label="defunct">
    Almost the same as META_REFRESH_UNSUPPORTED
  </int>
  <int value="72" label="defunct">
    Almost the same as CACHED_META_REFRESH_UNSUPPORTED
  </int>
  <int value="73" label="defunct">
    PASSING_THROUGH_NON_SDCH plus DISCARD_TENTATIVE_SDCH
  </int>
  <int value="74" label="META_REFRESH_UNSUPPORTED"/>
  <int value="75" label="CACHED_META_REFRESH_UNSUPPORTED"/>
  <int value="76" label="PASSING_THROUGH_NON_SDCH"/>
  <int value="77" label="INCOMPLETE_SDCH_CONTENT"/>
  <int value="78" label="PASS_THROUGH_404_CODE"/>
  <int value="79" label="PASS_THROUGH_OLD_CACHED"/>
  <int value="80" label="META_REFRESH_CACHED_RECOVERY"/>
  <int value="81" label="defunct (DISCARD_TENTATIVE_SDCH)">
    Now tracked by ResponseCorruptionDetection.* histograms.
  </int>
  <int value="90" label="defunct (UNFLUSHED_CONTENT)"/>
  <int value="91" label="MISSING_TIME_STATS"/>
  <int value="92" label="CACHE_DECODED"/>
  <int value="93" label="defunct (OVER_10_MINUTES)"/>
  <int value="94" label="UNINITIALIZED"/>
  <int value="95" label="PRIOR_TO_DICTIONARY"/>
  <int value="96" label="DECODE_ERROR"/>
  <int value="100" label="LATENCY_TEST_DISALLOWED"/>
  <int value="105" label="defunct (DISABLED)">
    No longer centrally tracked, since SDCH is enabled or disabled per
    URLRequestContext.
  </int>
  <int value="106" label="defunct (SECURE_SCHEME_NOT_SUPPORTED)">
    SDCH support is now always enabled for secure schemes.
  </int>
  <int value="107" label="DICTIONARY_USED_AFTER_DELETION"/>
</enum>

<enum name="SdchResponseCorruptionDetectionCauses" type="int">
  <summary>
    SDCH decode corruption detection cases, listed in net/filter/sdch_filter.cc.
    See also comments in SdchFilter::ReadFilteredData in the same file.
  </summary>
  <int value="1" label="RESPONSE_404"/>
  <int value="2" label="RESPONSE_NOT_200"/>
  <int value="3" label="RESPONSE_OLD_UNENCODED"/>
  <int value="4" label="RESPONSE_TENTATIVE_SDCH"/>
  <int value="5" label="RESPONSE_NO_DICTIONARY"/>
  <int value="6" label="RESPONSE_CORRUPT_SDCH"/>
  <int value="7" label="RESPONSE_ENCODING_LIE"/>
</enum>

<enum name="SearchAccessPoint" type="int">
  <int value="0" label="Omnibox"/>
  <int value="1" label="Omnibox Instant"/>
  <int value="2" label="Direct Navigation"/>
  <int value="3" label="Direct Navigation Instant"/>
  <int value="4" label="Home Page"/>
  <int value="5" label="Home Page Instant"/>
  <int value="6" label="Search App"/>
  <int value="7" label="Search App Instant"/>
  <int value="8" label="Other"/>
  <int value="9" label="Other Instant"/>
</enum>

<enum name="SearchEngine" type="int">
  <obsolete>
    Deprecated 8/2013. No longer generated.
  </obsolete>
  <summary>
    Indices of most popular prepopulated search engines as defined in
    components/search_engines/search_engine_type.h.
  </summary>
  <int value="0" label="OTHER"/>
  <int value="1" label="GOOGLE"/>
  <int value="2" label="YAHOO"/>
  <int value="3" label="YAHOOJP"/>
  <int value="4" label="BING"/>
  <int value="5" label="ASK"/>
  <int value="6" label="YANDEX"/>
  <int value="7" label="SEZNAM"/>
  <int value="8" label="CENTRUM"/>
  <int value="9" label="NETSPRINT"/>
  <int value="10" label="VIRGILIO"/>
  <int value="11" label="MAILRU"/>
  <int value="12" label="ABCSOK"/>
  <int value="13" label="ALTAVISTA"/>
  <int value="14" label="BAIDU"/>
  <int value="15" label="DAUM"/>
  <int value="16" label="DELFI"/>
  <int value="17" label="DIRI"/>
  <int value="18" label="GOO"/>
  <int value="19" label="IN"/>
  <int value="20" label="NAJDI"/>
  <int value="21" label="NAVER"/>
  <int value="22" label="NETI"/>
  <int value="23" label="OK"/>
  <int value="24" label="POGODAK"/>
  <int value="25" label="POGODOK_MK"/>
  <int value="26" label="RAMBLER"/>
  <int value="27" label="SANOOK"/>
  <int value="28" label="SAPO"/>
  <int value="29" label="TUT"/>
  <int value="30" label="WALLA"/>
  <int value="31" label="ZOZNAM"/>
  <int value="32" label="YAHOOQC"/>
  <int value="33" label="NONE"/>
</enum>

<enum name="SecurityInterstitialDecision" type="int">
  <int value="0" label="SHOW"/>
  <int value="1" label="PROCEED"/>
  <int value="2" label="DONT_PROCEED"/>
  <int value="3" label="PROCEEDING_DISABLED"/>
</enum>

<enum name="SecurityInterstitialInteraction" type="int">
  <int value="0" label="TOTAL_VISITS"/>
  <int value="1" label="SHOW_ADVANCED"/>
  <int value="2" label="SHOW_PRIVACY"/>
  <int value="3" label="SHOW_DIAGNOSTIC"/>
  <int value="4" label="SHOW_LEARN_MORE"/>
  <int value="5" label="RELOAD"/>
  <int value="6" label="OPEN_TIME_SETTINGS"/>
  <int value="7" label="SET_EXTENDED_REPORTING_ENABLED"/>
  <int value="8" label="SET_EXTENDED_REPORTING_DISABLED"/>
  <int value="9" label="EXTENDED_REPORTING_IS_ENABLED"/>
  <int value="10" label="REPORT_PHISHING_ERROR"/>
  <int value="11" label="SHOW_WHITEPAPER"/>
</enum>

<enum name="SelectFileDialogScope" type="int">
  <int value="0" label="Generic files"/>
  <int value="1" label="Images"/>
  <int value="2" label="Videos"/>
  <int value="3" label="Images and videos"/>
</enum>

<enum name="ServiceProcessEventType" type="int">
  <int value="0" label="SERVICE_EVENT_INITIALIZE"/>
  <int value="1" label="SERVICE_EVENT_ENABLED_ON_LAUNCH"/>
  <int value="2" label="SERVICE_EVENT_ENABLE"/>
  <int value="3" label="SERVICE_EVENT_DISABLE"/>
  <int value="4" label="SERVICE_EVENT_DISABLE_BY_POLICY"/>
  <int value="5" label="SERVICE_EVENT_LAUNCH"/>
  <int value="6" label="SERVICE_EVENT_LAUNCHED"/>
  <int value="7" label="SERVICE_EVENT_LAUNCH_FAILED"/>
  <int value="8" label="SERVICE_EVENT_CHANNEL_CONNECTED"/>
  <int value="9" label="SERVICE_EVENT_CHANNEL_ERROR"/>
  <int value="10" label="SERVICE_EVENT_INFO_REQUEST"/>
  <int value="11" label="SERVICE_EVENT_INFO_REPLY"/>
  <int value="12" label="SERVICE_EVENT_HISTOGRAMS_REQUEST"/>
  <int value="13" label="SERVICE_EVENT_HISTOGRAMS_REPLY"/>
  <int value="14" label="SERVICE_PRINTERS_REQUEST"/>
  <int value="15" label="SERVICE_PRINTERS_REPLY"/>
</enum>

<enum name="ServicesCustomizationLoadResult" type="int">
  <int value="0" label="Manifest loaded successfully"/>
  <int value="1" label="Manifest not found on server"/>
  <int value="2" label="Manifest parsing error"/>
  <int value="3" label="Failed to load manifest after N retries"/>
</enum>

<enum name="ServiceUtilityProcessHostEventType" type="int">
  <int value="0" label="SERVICE_UTILITY_STARTED"/>
  <int value="1" label="SERVICE_UTILITY_DISCONNECTED"/>
  <int value="2" label="SERVICE_UTILITY_METAFILE_REQUEST"/>
  <int value="3" label="SERVICE_UTILITY_METAFILE_SUCCEEDED"/>
  <int value="4" label="SERVICE_UTILITY_METAFILE_FAILED"/>
  <int value="5" label="SERVICE_UTILITY_CAPS_REQUEST"/>
  <int value="6" label="SERVICE_UTILITY_CAPS_SUCCEEDED"/>
  <int value="7" label="SERVICE_UTILITY_CAPS_FAILED"/>
  <int value="8" label="SERVICE_UTILITY_SEMANTIC_CAPS_REQUEST"/>
  <int value="9" label="SERVICE_UTILITY_SEMANTIC_CAPS_SUCCEEDED"/>
  <int value="10" label="SERVICE_UTILITY_SEMANTIC_CAPS_FAILED"/>
  <int value="11" label="SERVICE_UTILITY_FAILED_TO_START"/>
</enum>

<enum name="ServiceWorkerCacheErrorType" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Exists Error"/>
  <int value="2" label="Storage Error"/>
  <int value="3" label="Not Found Error"/>
  <int value="4" label="Quota Exceeded Error"/>
</enum>

<enum name="ServiceWorkerCacheResponseType" type="int">
  <int value="0" label="Basic"/>
  <int value="1" label="CORS"/>
  <int value="2" label="Default"/>
  <int value="3" label="Error"/>
  <int value="4" label="Opaque"/>
  <int value="5" label="OpaqueRedirect"/>
</enum>

<enum name="ServiceWorkerContextRequestHandlerStatus" type="int">
  <summary>
    The result of ServiceWorkerContextHandler handling a request for a service
    worker script. From ServiceWorkerContextHandler::CreateJobStatus.
  </summary>
  <int value="0" label="Uninitialized"/>
  <int value="1" label="Created a write job"/>
  <int value="2" label="Created a write job with an incumbent"/>
  <int value="3" label="Created a read job"/>
  <int value="4" label="Created a read job for a duplicate script import"/>
  <int value="5" label="Error: no provider"/>
  <int value="6" label="Error: redundant version"/>
  <int value="7" label="Error: no context"/>
  <int value="8" label="Error: redirect"/>
  <int value="9"
      label="Error: fell back to network for an uninstalled script import"/>
  <int value="10" label="Error: out of resource ids"/>
</enum>

<enum name="ServiceWorkerDatabaseStatus" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Not Found Error"/>
  <int value="2" label="IO Error"/>
  <int value="3" label="Corruption Error"/>
  <int value="4" label="Operation Error"/>
  <int value="5" label="Not Supported Error"/>
</enum>

<enum name="ServiceWorkerDeleteAndStartOverResult" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Failed to delete ServiceWorkerDatabase"/>
  <int value="2" label="Failed to delete ServiceWorkerDiskCache"/>
</enum>

<enum name="ServiceWorkerDiskCacheMigrationResult" type="int">
  <obsolete>
    Deprecated because the migrator was removed as of 12/2015.
  </obsolete>
  <int value="0" label="MIGRATION_OK"/>
  <int value="1" label="MIGRATION_NOT_NECESSARY"/>
  <int value="2" label="MIGRATION_ERROR_MIGRATION_FAILED"/>
  <int value="3" label="MIGRATION_ERROR_UPDATE_DATABASE"/>
</enum>

<enum name="ServiceWorkerDiskCacheMigrationStatus" type="int">
  <obsolete>
    Deprecated because the migrator was removed as of 12/2015.
  </obsolete>
  <int value="0" label="MIGRATION_STATUS_OK"/>
  <int value="1" label="MIGRATION_ERROR_FAILED"/>
  <int value="2" label="MIGRATION_ERROR_MOVE_DISKCACHE"/>
  <int value="3" label="MIGRATION_ERROR_INIT_SRC_DISKCACHE"/>
  <int value="4" label="MIGRATION_ERROR_INIT_DEST_DISKCACHE"/>
  <int value="5" label="MIGRATION_ERROR_OPEN_NEXT_ENTRY"/>
  <int value="6" label="MIGRATION_ERROR_READ_ENTRY_KEY"/>
  <int value="7" label="MIGRATION_ERROR_READ_RESPONSE_INFO"/>
  <int value="8" label="MIGRATION_ERROR_WRITE_RESPONSE_INFO"/>
  <int value="9" label="MIGRATION_ERROR_WRITE_RESPONSE_METADATA"/>
  <int value="10" label="MIGRATION_ERROR_READ_RESPONSE_DATA"/>
  <int value="11" label="MIGRATION_ERROR_WRITE_RESPONSE_DATA"/>
</enum>

<enum name="ServiceWorkerEventHandleRatioType" type="int">
  <int value="0" label="None"/>
  <int value="1" label="Some"/>
  <int value="2" label="All"/>
</enum>

<enum name="ServiceWorkerMetrics.EventType" type="int">
  <int value="0" label="ACTIVATE"/>
  <int value="1" label="INSTALL"/>
  <int value="2" label="FETCH (unused)"/>
  <int value="3" label="SYNC"/>
  <int value="4" label="NOTIFICATION_CLICK"/>
  <int value="5" label="PUSH"/>
  <int value="6" label="GEOFENCING (unused)"/>
  <int value="7" label="SERVICE_PORT_CONNECT (unused)"/>
  <int value="8" label="MESSAGE"/>
  <int value="9" label="NOTIFICATION_CLOSE"/>
  <int value="10" label="FETCH_MAIN_FRAME"/>
  <int value="11" label="FETCH_SUB_FRAME"/>
  <int value="12" label="FETCH_SHARED_WORKER"/>
  <int value="13" label="FETCH_SUB_RESOURCE"/>
  <int value="14" label="UNKNOWN"/>
  <int value="15" label="FOREIGN_FETCH"/>
  <int value="16" label="FETCH_WAITUNTIL"/>
  <int value="17" label="FOREIGN_FETCH_WAITUNTIL"/>
  <int value="18" label="NAVIGATION_HINT_LINK_MOUSE_DOWN"/>
  <int value="19" label="NAVIGATION_HINT_LINK_TAP_UNCONFIRMED"/>
  <int value="20" label="NAVIGATION_HINT_LINK_TAP_DOWN"/>
  <int value="21" label="EXTERNAL_REQUEST"/>
  <int value="22" label="PAYMENT_REQUEST"/>
  <int value="23" label="BACKGROUND_FETCH_ABORT"/>
  <int value="24" label="BACKGROUND_FETCH_CLICK"/>
  <int value="25" label="BACKGROUND_FETCH_FAIL"/>
  <int value="26" label="BACKGROUND_FETCHED"/>
</enum>

<enum name="ServiceWorkerPreparationType" type="int">
  <summary>
    The type of preparation that was required for the browser to find and
    possibly start up a service worker to dispatch a fetch event to. From
    ServiceWorkerMetrics::WorkerPreparationType.
  </summary>
  <int value="0" label="Unknown"/>
  <int value="1"
      label="The worker was already starting up. The browser waited for it
             finish."/>
  <int value="2" label="The worker was already running."/>
  <int value="3"
      label="The worker was stopping. Once stopped, the browser started it up"/>
  <int value="4" label="The worker started up in a new process."/>
  <int value="5" label="The worker started up in an existing process."/>
  <int value="6" label="The worker started up during browser startup."/>
</enum>

<enum name="ServiceWorkerReadResponseResult" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Read headers error"/>
  <int value="2" label="Read data error"/>
</enum>

<enum name="ServiceWorkerResponseError" type="int">
  <int value="0" label="ErrorUnknown"/>
  <int value="1" label="ErrorPromiseRejected"/>
  <int value="2" label="ErrorDefaultPrevented"/>
  <int value="3" label="ErrorNoV8Instance"/>
  <int value="4" label="ErrorResponseTypeError"/>
  <int value="5" label="ErrorResponseTypeOpaque"/>
  <int value="6" label="ErrorResponseTypeNotBasicOrDefault"/>
  <int value="7" label="ErrorBodyUsed"/>
  <int value="8" label="ErrorResponseTypeOpaqueForClientRequest"/>
  <int value="9" label="ErrorResponseTypeOpaqueRedirect"/>
  <int value="10" label="ErrorBodyLocked"/>
  <int value="11" label="NoForeignFetchResponse"/>
  <int value="12" label="ForeignFetchHeadersWithoutOrigin"/>
  <int value="13" label="ForeignFetchMismatchedOrigin"/>
  <int value="14" label="RedirectedResponseForNotFollowRequest"/>
</enum>

<enum name="ServiceWorkerSite" type="int">
  <int value="0" label="Other (unused)"/>
  <int value="1" label="NewTabPage"/>
  <int value="2" label="WithFetchHandler"/>
  <int value="3" label="WithoutFetchHandler"/>
  <int value="4" label="Google+"/>
  <int value="5" label="Inbox"/>
  <int value="6" label="Google Docs and Drive"/>
</enum>

<enum name="ServiceWorkerStatusCode" type="int">
  <int value="0" label="SERVICE_WORKER_OK"/>
  <int value="1" label="SERVICE_WORKER_ERROR_FAILED"/>
  <int value="2" label="SERVICE_WORKER_ERROR_ABORT"/>
  <int value="3" label="SERVICE_WORKER_ERROR_START_WORKER_FAILED"/>
  <int value="4" label="SERVICE_WORKER_ERROR_PROCESS_NOT_FOUND"/>
  <int value="5" label="SERVICE_WORKER_ERROR_NOT_FOUND"/>
  <int value="6" label="SERVICE_WORKER_ERROR_EXISTS"/>
  <int value="7" label="SERVICE_WORKER_ERROR_INSTALL_WORKER_FAILED"/>
  <int value="8" label="SERVICE_WORKER_ERROR_ACTIVATE_WORKER_FAILED"/>
  <int value="9" label="SERVICE_WORKER_ERROR_IPC_FAILED"/>
  <int value="10" label="SERVICE_WORKER_ERROR_NETWORK"/>
  <int value="11" label="SERVICE_WORKER_ERROR_SECURITY"/>
  <int value="12" label="SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED"/>
  <int value="13" label="SERVICE_WORKER_ERROR_STATE"/>
  <int value="14" label="SERVICE_WORKER_ERROR_TIMEOUT"/>
  <int value="15" label="SERVICE_WORKER_ERROR_SCRIPT_EVALUATE_FAILED"/>
  <int value="16" label="SERVICE_WORKER_ERROR_DISK_CACHE"/>
  <int value="17" label="SERVICE_WORKER_ERROR_REDUNDANT"/>
  <int value="18" label="SERVICE_WORKER_ERROR_DISALLOWED"/>
  <int value="19" label="SERVICE_WORKER_ERROR_DISABLED_WORKER (unused)"/>
</enum>

<enum name="ServiceWorkerStoppedStatus" type="int">
  <int value="0" label="NORMAL"/>
  <int value="1" label="DETACH_BY_REGISTRY"/>
  <int value="2" label="TIMEOUT"/>
</enum>

<enum name="ServiceWorkerStopStatus" type="int">
  <obsolete>
    Deprecated Oct 2015. No longer generated in the code.
  </obsolete>
  <int value="0" label="STOP_STATUS_STOPPING"/>
  <int value="1" label="STOP_STATUS_STOPPED"/>
  <int value="2" label="STOP_STATUS_STALLED"/>
  <int value="3" label="STOP_STATUS_STALLED_THEN_STOPPED"/>
</enum>

<enum name="ServiceWorkerURLRequestJobResult" type="int">
  <int value="0" label="REQUEST_JOB_FALLBACK_RESPONSE"/>
  <int value="1" label="REQUEST_JOB_FALLBACK_FOR_CORS"/>
  <int value="2" label="REQUEST_JOB_HEADERS_ONLY_RESPONSE"/>
  <int value="3" label="REQUEST_JOB_STREAM_RESPONSE"/>
  <int value="4" label="REQUEST_JOB_BLOB_RESPONSE"/>
  <int value="5" label="REQUEST_JOB_ERROR_RESPONSE_STATUS_ZERO"/>
  <int value="6" label="REQUEST_JOB_ERROR_BAD_BLOB"/>
  <int value="7" label="REQUEST_JOB_ERROR_NO_PROVIDER_HOST"/>
  <int value="8" label="REQUEST_JOB_ERROR_NO_ACTIVE_VERSION"/>
  <int value="9" label="REQUEST_JOB_ERROR_NO_REQUEST"/>
  <int value="10" label="REQUEST_JOB_ERROR_FETCH_EVENT_DISPATCH"/>
  <int value="11" label="REQUEST_JOB_ERROR_BLOB_READ"/>
  <int value="12" label="REQUEST_JOB_ERROR_STREAM_ABORTED"/>
  <int value="13" label="REQUEST_JOB_ERROR_KILLED"/>
  <int value="14" label="REQUEST_JOB_ERROR_KILLED_WITH_BLOB"/>
  <int value="15" label="REQUEST_JOB_ERROR_KILLED_WITH_STREAM"/>
  <int value="16" label="REQUEST_JOB_ERROR_DESTROYED"/>
  <int value="17" label="REQUEST_JOB_ERROR_DESTROYED_WITH_BLOB"/>
  <int value="18" label="REQUEST_JOB_ERROR_DESTROYED_WITH_STREAM"/>
  <int value="19" label="REQUEST_JOB_ERROR_BAD_DELEGATE"/>
  <int value="20" label="REQUEST_JOB_ERROR_REQUEST_BODY_BLOB_FAILED"/>
</enum>

<enum name="ServiceWorkerWriteResponseResult" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Write headers error"/>
  <int value="2" label="Write data error"/>
</enum>

<enum name="SessionCrashedBubbleUserAction" type="int">
  <int value="0" label="The bubble was shown"/>
  <int value="1" label="There was an error when showing the bubble."/>
  <int value="2" label="The Restore button was clicked"/>
  <int value="3" label="User was already opted in to UMA"/>
  <int value="4" label="User chose to opt in to UMA"/>
  <int value="5" label="User clicked on the help button"/>
  <int value="6" label="User ignored or closed the bubble"/>
  <int value="7" label="The bar with UMA opt-in option was shown."/>
  <int value="8" label="The Startup pages button was clicked."/>
</enum>

<enum name="SessionRestoreActions" type="int">
  <int value="0" label="A session restore was started"/>
  <int value="1" label="A session restore deferred one or more tabs"/>
</enum>

<enum name="SessionRestoreTabActions" type="int">
  <int value="0" label="A tab was created"/>
  <int value="1" label="A tab's content was automatically loaded"/>
  <int value="2" label="The loading of a tab's content was deferred"/>
  <int value="3" label="A deferred tab's content was loaded via user action"/>
  <int value="4" label="A tab's content automatically started to load"/>
</enum>

<enum name="SessionStartupPref" type="int">
  <int value="0" label="Open home page (unused)"/>
  <int value="1" label="Continue from last opened pages"/>
  <int value="4" label="Open URLs"/>
  <int value="5" label="Open new tab page"/>
</enum>

<enum name="SessionStartupType" type="int">
  <obsolete>
    Deprecated 8/2013. No longer generated.
  </obsolete>
  <int value="0" label="New Tab page"/>
  <int value="1" label="Homepage (DEPRECATED)"/>
  <int value="2" label="Last session"/>
  <int value="3" label="Specified URLs"/>
</enum>

<enum name="SessionStorageDatabaseOpen" type="int">
  <int value="0" label="OK">Succesfully opened the database.</int>
  <int value="1" label="Recovered">
    Failed to open the existing db, deleted it, and created a new empty db.
  </int>
  <int value="2" label="Reopen: Total Fail">
    <obsolete>
      Deprecated 2016/11. Replaced by other &quot;Reopen:&quot; errors.
    </obsolete>
    Failed to open the database and also failed to delete and start over.
  </int>
  <int value="3" label="Reopen: not found">
    Reopen attempt failed with (not found) after successful database delete.
  </int>
  <int value="4" label="Reopen: not supported">
    Reopen attempt failed with (not supported) after successful database delete.
  </int>
  <int value="5" label="Reopen: corruption">
    Reopen attempt failed with (corruption) after successful database delete.
  </int>
  <int value="6" label="Reopen: invalid argument">
    Reopen attempt failed with (invalid argument) after successful database
    delete.
  </int>
  <int value="7" label="Reopen: I/O error">
    Reopen attempt failed with (I/O error) after successful database delete.
  </int>
</enum>

<enum name="SetDefaultAttemptResult" type="int">
  <obsolete>
    Deprecated 2016/03. Replaced by DefaultWebClientState.
  </obsolete>
  <int value="0" label="Success">Chrome was set as the default web client.</int>
  <int value="1" label="Already default">
    Chrome was already the default web client. This counts as a successful
    attempt.
  </int>
  <int value="2" label="Failure">
    Chrome was not set as the default web client.
  </int>
  <int value="3" label="Abandoned">
    The attempt was abandoned because the observer was destroyed.
  </int>
  <int value="4" label="Launch failure">
    Failed to launch the process to set Chrome as the default web client
    asynchronously.
  </int>
  <int value="5" label="Other worker">
    Another worker is already in progress to make Chrome the default web client.
  </int>
  <int value="6" label="Retry">
    The user initiated another attempt while the asynchronous operation was
    already in progress.
  </int>
  <int value="7" label="No errors, not default">
    No errors were encountered yet Chrome is still not the default web client.
  </int>
</enum>

<enum name="SettingsInteractionConcludeReason" type="int">
  <int value="0" label="Registry watcher">
    A change to the protocol registry key was detected.
  </int>
  <int value="1" label="Timeout">
    The timer fired before a change to the protocol registry key was detected.
  </int>
</enum>

<enum name="SettingsResetPromptConfigError" type="int">
  <int value="1" label="Config Ok"/>
  <int value="2" label="Missing domain_hashes param"/>
  <int value="3" label="Bad domain_hashes param"/>
  <int value="4" label="Bad domain hash"/>
  <int value="5" label="Bad domain id"/>
  <int value="6" label="Duplicate domain hash"/>
  <int value="7" label="Bad delay_before_prompt_seconds param"/>
  <int value="8" label="Bad prompt_wave param"/>
  <int value="9" label="Bad time_between_prompts_seconds param"/>
</enum>

<enum name="SettingsResetPromptResetState" type="int">
  <int value="1" label="Reset required"/>
  <int value="2" label="Domain not matched, no reset required"/>
  <int value="3" label="Already prompted for setting, no reset required"/>
  <int value="4" label="Recently prompted, no reset required"/>
  <int value="5" label="Other setting requires reset, no reset required"/>
  <int value="6" label="Policy detected, no reset required"/>
</enum>

<enum name="SettingsResetPromptSettingsReset" type="int">
  <int value="1" label="Homepage"/>
  <int value="2" label="Default search engine"/>
  <int value="3" label="Startup URLs"/>
</enum>

<enum name="SettingsSections" type="int">
  <summary>
    A collection of sections from chrome://settings. Used for metrics about
    searching within the settings options.
  </summary>
  <int value="0" label="No Match Found"/>
  <int value="1" label="Unknown Section"/>
  <int value="2" label="Network CROS"/>
  <int value="3" label="Proxy"/>
  <int value="4" label="Appearance"/>
  <int value="5" label="Device"/>
  <int value="6" label="Search"/>
  <int value="7" label="Sync Users"/>
  <int value="8" label="Set Default Browser"/>
  <int value="9" label="Date Time"/>
  <int value="10" label="Device Control"/>
  <int value="11" label="Privacy"/>
  <int value="12" label="Bluetooth Devices"/>
  <int value="13" label="Passwords and Autofill"/>
  <int value="14" label="Easy Unlock"/>
  <int value="15" label="Web Content"/>
  <int value="16" label="Network"/>
  <int value="17" label="Languages"/>
  <int value="18" label="Downloads"/>
  <int value="19" label="Certificates"/>
  <int value="20" label="Cloudprint Options"/>
  <int value="21" label="A11y"/>
  <int value="22" label="Factory Reset"/>
  <int value="23" label="System"/>
  <int value="24" label="Reset Profile"/>
  <int value="25" label="Sync"/>
  <int value="26" label="Startup"/>
  <int value="27" label="Mouselock"/>
  <int value="28" label="Page Zoom Levels"/>
  <int value="29" label="Status"/>
  <int value="30" label="Main"/>
  <int value="31" label="Pointer Touchpad"/>
  <int value="32" label="Pointer Mouse"/>
  <int value="33" label="Prefs Blocked Languages"/>
  <int value="34" label="Prefs Language Blacklist"/>
  <int value="35" label="Prefs Site Blacklist"/>
  <int value="36" label="Prefs Whitelists"/>
  <int value="37" label="Prefs Supported Languages"/>
  <int value="38" label="Prefs Cld Version"/>
  <int value="39" label="Prefs Cld Data Source"/>
  <int value="40" label="Prefs Dump"/>
</enum>

<enum name="SetupInstallResult" type="int">
  <int value="0" label="First install of Chrome succeeded."/>
  <int value="1" label="Same version reinstalled for repair."/>
  <int value="2" label="Chrome successfully updated to new version."/>
  <int value="3" label="No work done; launched existing Chrome."/>
  <int value="4" label="Higher version of Chrome already exists."/>
  <int value="5" label="User level install already exists."/>
  <int value="6" label="Machine level install already exists."/>
  <int value="7" label="Install/update failed."/>
  <int value="8" label="Failed to patch setup.exe."/>
  <int value="9" label="Current OS not supported."/>
  <int value="10" label="OS API call failed."/>
  <int value="11" label="Unable to get Temp directory."/>
  <int value="12" label="Failed to uncompress Chrome archive."/>
  <int value="13" label="Something wrong with the installer archive."/>
  <int value="14" label="User trying system level install is not Admin."/>
  <int value="15" label="Chrome not installed (during uninstall)."/>
  <int value="16" label="Chrome currently running (during uninstall)."/>
  <int value="17" label="User has confirmed Chrome uninstall."/>
  <int value="18" label="User okayed uninstall and profile deletion."/>
  <int value="19" label="Chrome successfully uninstalled."/>
  <int value="20" label="Chrome uninstallation failed."/>
  <int value="21" label="User cancelled Chrome uninstallation."/>
  <int value="22" label="Unknown status (this should never happen)."/>
  <int value="23" label="Rename of new_chrome.exe to chrome.exe worked."/>
  <int value="24" label="Rename of new_chrome.exe failed."/>
  <int value="25" label="EULA dialog was not accepted by user."/>
  <int value="26" label="EULA dialog was accepted by user."/>
  <int value="27" label="EULA accepted with the crash option selected."/>
  <int value="28" label="Installation directory is in use by another process."/>
  <int value="29" label="Uninstallation required a reboot."/>
  <int value="30" label="Chrome successfully updated but old version running."/>
  <int value="31" label="Chrome repair failed as Chrome was running."/>
  <int value="32" label="Setup has been re-launched as the interactive user."/>
  <int value="33"
      label="The chrome-sxs option provided does not work with other command
             line options."/>
  <int value="42" label="Failed to apply a diff patch."/>
  <int value="47"
      label="A non-install option was called with an invalid installer state."/>
  <int value="49"
      label="The arguments of --patch were missing or they were invalid for
             any reason."/>
  <int value="50"
      label="No previous version archive found for differential update."/>
  <int value="51"
      label="No multi-install products to update. The binaries will be
             uninstalled if they are not in use."/>
  <int value="52" label="The binaries were uninstalled."/>
  <int value="53" label="An unsupported legacy option was given."/>
  <int value="54" label="Current CPU not supported."/>
  <int value="55" label="Autoupdates are now enabled."/>
  <int value="56" label="Autoupdates could not be enabled."/>
  <int value="57"
      label="Unpacking the (possibly patched) uncompressed archive failed."/>
</enum>

<enum name="SetupSingletonAcquisitionResult" type="int">
  <int value="0" label="The setup singleton was acquired successfully."/>
  <int value="1" label="Acquisition of the exit event mutex timed out."/>
  <int value="2" label="Acquisition of the setup mutex timed out."/>
  <int value="3" label="Creation of the setup mutex failed."/>
  <int value="4" label="Creation of the exit event failed."/>
  <int value="5" label="Creation of the exit event mutex failed."/>
</enum>

<enum name="SHA1Status" type="int">
  <summary>
    Whether or not SHA-1 was present in a certificate chain and, if it was, when
    the leaf certificate expired.
  </summary>
  <int value="0" label="Not present"/>
  <int value="1" label="Expires after Jan 1, 2017"/>
  <int value="2" label="Expires between Jun 1, 2016 and Jan 1, 2017"/>
  <int value="3" label="Expires between Jan 1, 2016 and Jun 1, 2016"/>
  <int value="4" label="Expires before Jan 1, 2016"/>
</enum>

<enum name="ShaderModel" type="int">
  <summary>The GPU's Direct3D shader model version.</summary>
  <int value="0" label="SHADER_MODEL_UNKNOWN"/>
  <int value="1" label="SHADER_MODEL_2_0"/>
  <int value="2" label="SHADER_MODEL_3_0"/>
  <int value="3" label="SHADER_MODEL_4_0"/>
  <int value="4" label="SHADER_MODEL_4_1"/>
  <int value="5" label="SHADER_MODEL_5_0"/>
</enum>

<enum name="SharedMemoryCreateError" type="int">
  <int value="0" label="SUCCESS">
    The shared memory region was successfully created.
  </int>
  <int value="1" label="SIZE_ZERO">Failure because the size was zero.</int>
  <int value="2" label="SIZE_TOO_LARGE">
    Failure because the size was too large.
  </int>
  <int value="3" label="INITIALIZE_ACL_FAILURE">
    Failure to initialize an ACL.
  </int>
  <int value="4" label="INITIALIZE_SECURITY_DESC_FAILURE">
    Failure to initialize the security descriptor.
  </int>
  <int value="5" label="SET_SECURITY_DESC_FAILURE">
    Failure to set the security descriptor.
  </int>
  <int value="6" label="CREATE_FILE_MAPPING_FAILURE">
    Failure to create the file mapping.
  </int>
  <int value="7" label="REDUCE_PERMISSIONS_FAILURE">
    Failure to reduce the permissions on the file mapping.
  </int>
  <int value="8" label="ALREADY_EXISTS">
    The shared memory region already exists.
  </int>
</enum>

<enum name="ShelfAlignmentValue" type="int">
  <summary>
    The alignment of the shelf area (see ash/launcher/launcher_view.cc).
  </summary>
  <int value="0" label="Bottom"/>
  <int value="1" label="Left"/>
  <int value="2" label="Right"/>
</enum>

<enum name="ShillSuspendTerminationDarkResumeActionResult" type="int">
  <summary>
    The termination/suspend/dark resume action result types come from
    SuspendActionResult in shill/metrics.h
  </summary>
  <int value="0" label="Success"/>
  <int value="1" label="Failure"/>
</enum>

<enum name="ShouldAllowOpenURLFailureReason" type="int">
  <summary>
    Specifies the reason why the web-accessible resource check in
    ShouldAllowOpenURL fails.
  </summary>
  <int value="0" label="Request is to filesystem: URL with extension origin"/>
  <int value="1" label="Request is to blob: URL with extension origin"/>
  <int value="2"
      label="Resource is not web-accessible and site URL has scheme that used
             to be allowed"/>
  <int value="3" label="Resource is not web-accessible (most common)"/>
</enum>

<enum name="ShouldAllowOpenURLFailureScheme" type="int">
<!-- Generated from chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc -->

  <int value="0" label="SCHEME_UNKNOWN"/>
  <int value="1" label="SCHEME_EMPTY"/>
  <int value="2" label="SCHEME_HTTP"/>
  <int value="3" label="SCHEME_HTTPS"/>
  <int value="4" label="SCHEME_FILE"/>
  <int value="5" label="SCHEME_FTP"/>
  <int value="6" label="SCHEME_DATA"/>
  <int value="7" label="SCHEME_JAVASCRIPT"/>
  <int value="8" label="SCHEME_ABOUT"/>
  <int value="9" label="SCHEME_CHROME"/>
  <int value="10" label="SCHEME_DEVTOOLS"/>
  <int value="11" label="SCHEME_GUEST"/>
  <int value="12" label="SCHEME_VIEWSOURCE"/>
  <int value="13" label="SCHEME_CHROME_SEARCH"/>
  <int value="14" label="SCHEME_CHROME_NATIVE"/>
  <int value="15" label="SCHEME_DOM_DISTILLER"/>
  <int value="16" label="SCHEME_CHROME_EXTENSION"/>
  <int value="17" label="SCHEME_CONTENT"/>
  <int value="18" label="SCHEME_BLOB"/>
  <int value="19" label="SCHEME_FILESYSTEM"/>
</enum>

<enum name="ShutdownReason" type="int">
  <summary>
    The reason that the Chrome OS power manager shut down or rebooted the
    system.
  </summary>
  <int value="0" label="User request"/>
  <int value="1" label="State transition"/>
  <int value="2" label="Low battery"/>
  <int value="3" label="Suspend failures"/>
  <int value="4" label="Dark resume"/>
  <int value="5" label="System update"/>
  <int value="6" label="Dark resume failed"/>
</enum>

<enum name="ShutdownType" type="int">
  <int value="0" label="Not valid">Invalid value.</int>
  <int value="1" label="Window close">The last browser window was closed.</int>
  <int value="2" label="Browser exit">User clicked on the Exit menu item.</int>
  <int value="3" label="End session">OS is logging off or shutting down.</int>
</enum>

<enum name="SideloadUIEvents" type="int">
  <int value="0" label="Extension installed"/>
  <int value="1" label="Extension ignored"/>
  <int value="2" label="Extension re-enabled"/>
  <int value="3" label="Extension uninstalled"/>
</enum>

<enum name="SideloadWipeoutBubble" type="int">
  <int value="0" label="Learn more"/>
  <int value="1" label="Settings page"/>
  <int value="2" label="Dismiss"/>
</enum>

<enum name="SigninAccessPoint" type="int">
  <int value="0" label="Start page"/>
  <int value="1" label="NTP Link"/>
  <int value="2" label="Menu"/>
  <int value="3" label="Settings"/>
  <int value="4" label="Supervised user"/>
  <int value="5" label="Extension install bubble"/>
  <int value="6" label="Extensions"/>
  <int value="7" label="Apps page link"/>
  <int value="8" label="Bookmark bubble"/>
  <int value="9" label="Bookmark manager"/>
  <int value="10" label="Avatar bubble sign in"/>
  <int value="11" label="User manager"/>
  <int value="12" label="Devices page"/>
  <int value="13" label="Cloud print"/>
  <int value="14" label="Content area"/>
  <int value="15" label="Signin promo"/>
  <int value="16" label="Recent tabs"/>
  <int value="17" label="Typed URL with unknown access point"/>
  <int value="18" label="Password bubble"/>
  <int value="19" label="Autofill dropdown"/>
  <int value="20" label="NTP Content Suggestions"/>
  <int value="21" label="Re-signin infobar"/>
  <int value="22" label="Tab switcher"/>
</enum>

<enum name="SigninAccountEquality" type="int">
  <int value="0" label="Both Equal"/>
  <int value="1" label="Both Different"/>
  <int value="2" label="Only Same Email"/>
  <int value="3" label="Only Same Id"/>
  <int value="4" label="Email Fallback"/>
</enum>

<enum name="SigninAccountReconcilorState" type="int">
  <int value="0" label="OK">
    The account reconcilor has finished running and is up-to-date.
  </int>
  <int value="1" label="Running">
    The account reconcilor is running and gathering informations.
  </int>
  <int value="2" label="Error">
    The account reconcilor has encountered an error and stopped.
  </int>
</enum>

<enum name="SigninChoice" type="int">
  <int value="0" label="Cancel"/>
  <int value="1" label="Continue"/>
  <int value="2" label="New Profile"/>
</enum>

<enum name="SigninFlowConfirmations" type="int">
  <int value="0" label="Shown"/>
  <int value="1" label="OK"/>
  <int value="2" label="Return"/>
  <int value="3" label="Advanced"/>
  <int value="4" label="Close"/>
  <int value="5" label="Escape"/>
  <int value="6" label="Undo"/>
  <int value="7" label="Learn more"/>
  <int value="8" label="Learn more ok"/>
  <int value="9" label="Learn more return"/>
  <int value="10" label="Learn more advanced"/>
  <int value="11" label="Learn more close"/>
  <int value="12" label="Learn more escape"/>
  <int value="13" label="Learn more undo"/>
</enum>

<enum name="SigninHelperFlow" type="int">
  <int value="0" label="Shown">The signin flow was shown to the user.</int>
  <int value="1" label="Accepted">The user pressed accept to sign in.</int>
  <int value="2" label="Rejected">The user pressed the reject to sign in.</int>
  <int value="3" label="Dismissed">
    The user pressed the X button to dismiss the signin promo.
  </int>
  <int value="4" label="Ignored">
    The user completely ignored the signin promo. Either they navigated away, or
    they used the page as is.
  </int>
  <int value="5" label="Learn More">
    The user clicked on the learn more link in the signin promo.
  </int>
  <int value="6" label="Accept with Defaults">
    The sync was started with default settings.
  </int>
  <int value="7" label="Accept with Advanced">
    The sync was started with advanced settings.
  </int>
  <int value="8" label="Auto-Accept with Defaults">
    The sync was started through auto-accept with default settings.
  </int>
  <int value="9" label="Auto-Accept with Advanced">
    The sync was started through auto-accept with advanced settings.
  </int>
  <int value="10" label="Undo">The sync was aborted with an undo button.</int>
</enum>

<enum name="SigninInvestigatedScenario" type="int">
  <int value="0" label="Upgrade low risk"/>
  <int value="1" label="Upgrade high risk"/>
  <int value="2" label="Same account"/>
  <int value="3" label="Different account"/>
</enum>

<enum name="SigninReason" type="int">
  <int value="0" label="Signin primary account"/>
  <int value="1" label="Add secondary account"/>
  <int value="2" label="Reauthentication"/>
  <int value="3" label="Unlock profile"/>
  <int value="4" label="Typed URL with unknown reason"/>
</enum>

<enum name="SigninReauthStates" type="int">
  <int value="0" label="Account mismatch"/>
  <int value="1" label="Reauth Shown"/>
</enum>

<enum name="SigninSignoutProfile" type="int">
  <int value="0" label="Preference changed">
    The preference or policy controlling if signin is valid has changed.
  </int>
  <int value="1" label="Google service pattern changed">
    The valid username pattern for signing in to the Google service changed.
  </int>
  <int value="2" label="Signin preference changed during signin">
    The preference or policy controlling if signin is valid changed during the
    signin process.
  </int>
  <int value="3" label="User clicked signout">User clicked to signout.</int>
  <int value="4" label="Signin aborted">
    The signin process was aborted, but signin had succeeded, so signout. This
    may be due to a server response, policy definition or user action.
  </int>
  <int value="5" label="Server forced">
    The sync server caused the profile to be signed out.
  </int>
  <int value="6" label="Credentials transfered">
    The credentials are being transfered to a new profile, so the old one is
    signed out.
  </int>
  <int value="7" label="Authentication failed with force signin">
    Signed out because credentials are invalid and force-sign-in is enabled.
  </int>
</enum>

<enum name="SigninSource" type="int">
  <int value="0" label="Start page"/>
  <int value="1" label="NTP Link"/>
  <int value="2" label="Menu"/>
  <int value="3" label="Settings"/>
  <int value="4" label="Extension install bubble"/>
  <int value="5" label="App launcher"/>
  <int value="6" label="Apps page link"/>
  <int value="7" label="Bookmark bubble"/>
  <int value="8" label="Avatar bubble sign in"/>
  <int value="9" label="Avatar bubble add account"/>
  <int value="10" label="Devices page"/>
  <int value="11" label="Reauth"/>
  <int value="12" label="Unknown"/>
</enum>

<enum name="SigninTokenTableReadTokenFromDBResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Decrypt failed"/>
  <int value="2" label="Read DB failed (bad entry)"/>
</enum>

<enum name="SigninXDevicePromoEligibility" type="int">
  <int value="0" label="Eligible">The user is eligible for the promo.</int>
  <int value="1" label="Opted Out">
    The profile has previously opted out of the promo.
  </int>
  <int value="2" label="Signed In">The profile is already signed in.</int>
  <int value="3" label="Not Single GAIA Account">
    The profile does not have a single, peristent GAIA cookie.
  </int>
  <int value="4" label="Unknown count of devices">
    Yet to determine how many devices the user has.
  </int>
  <int value="5" label="Error fetching device activity">
    An error was returned trying to determine the account's devices.
  </int>
  <int value="6" label="Throttled fetching device activity">
    The call to get device activity was throttled, and never executed.
  </int>
  <int value="7" label="Zero devices found">The user has no devices.</int>
  <int value="8" label="No devices active">
    The user has no device that was recently active.
  </int>
</enum>

<enum name="SigninXDevicePromoInitialized" type="int">
  <int value="0" label="Initialized">
    The promo was initialized successfully.
  </int>
  <int value="1" label="Opted Out">
    The profile is opted out, so the promo didn't initialize.
  </int>
  <int value="2" label="No variations config">
    Unable to read the variations configuration.
  </int>
</enum>

<enum name="SimpleCache.EntryCreatedAndStream2Omitted" type="int">
  <int value="0" label="Stream 2 file was present"/>
  <int value="1" label="Empty stream 2 file was omitted"/>
</enum>

<enum name="SimpleCache.EntryOpenedAndStream2Removed" type="int">
  <int value="0" label="Stream 2 file was already omitted or not empty"/>
  <int value="1" label="Empty stream 2 file removed"/>
</enum>

<enum name="SimpleCache.FileDescriptorLimitStatus" type="int">
  <int value="0" label="Unsupported"/>
  <int value="1" label="Supported but failed"/>
  <int value="2" label="Succeeded"/>
</enum>

<enum name="SimpleCacheHeaderSizeChange" type="int">
  <int value="0" label="Written for the first time"/>
  <int value="1" label="Rewritten with same size"/>
  <int value="2" label="Rewritten with larger size"/>
  <int value="3" label="Rewritten with smaller size"/>
  <int value="4" label="Unexpected header stream write"/>
</enum>

<enum name="SimpleCacheIndexInitializeMethod" type="int">
  <int value="0" label="Directory Scan"/>
  <int value="1" label="Index File"/>
  <int value="2" label="New Cache"/>
</enum>

<enum name="SimpleCacheIndexWriteReason" type="int">
  <int value="0" label="Shutdown"/>
  <int value="1" label="Startup Merge"/>
  <int value="2" label="Saved While Idle"/>
  <int value="3" label="Stopped (Android only)"/>
</enum>

<enum name="SimpleCacheOpenEntryIndexState" type="int">
  <int value="0" label="No index"/>
  <int value="1" label="Hit"/>
  <int value="2" label="Miss"/>
</enum>

<enum name="SimpleCacheReadParallelizable" type="int">
  <int value="0" label="Standalone Read (obsolete)"/>
  <int value="1" label="Follows read"/>
  <int value="2" label="Follows conflicting write"/>
  <int value="3" label="Follows non conflicting write"/>
  <int value="4" label="Follows other operation"/>
  <int value="5" label="Read alone in queue"/>
</enum>

<enum name="SimpleCacheReadResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Invalid Argument"/>
  <int value="2" label="Nonblocking Empty Return"/>
  <int value="3" label="Invalid State"/>
  <int value="4" label="Fast Empty Return"/>
  <int value="5" label="Synchronous Read Failure"/>
  <int value="6" label="Synchronous Checksum Failure"/>
</enum>

<enum name="SimpleCacheStaleIndexQuality" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="Missed Entries"/>
  <int value="2" label="Extra Entries"/>
  <int value="3" label="Both"/>
</enum>

<enum name="SimpleCacheSyncCheckEOFResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Read Failure"/>
  <int value="2" label="Magic Number Mismatch"/>
  <int value="3" label="CRC Mismatch"/>
</enum>

<enum name="SimpleCacheSyncCloseResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Write Failure"/>
</enum>

<enum name="SimpleCacheSyncCreateResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Platform File Error"/>
  <int value="2" label="Can't Write Header"/>
  <int value="3" label="Can't Write Key"/>
</enum>

<enum name="SimpleCacheSyncOpenResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Platform File Error"/>
  <int value="2" label="Can't Read Header"/>
  <int value="3" label="Bad Magic Number"/>
  <int value="4" label="Bad Version"/>
  <int value="5" label="Can't Read Key"/>
  <int value="6" label="Key Mismatch"/>
  <int value="7" label="Hash Mismatch"/>
  <int value="8" label="Sparse Open Failed"/>
</enum>

<enum name="SimpleCacheSyncSHA256Result" type="int">
  <int value="0" label="Not Present"/>
  <int value="1" label="Matched"/>
  <int value="2" label="Did Not Match"/>
</enum>

<enum name="SimpleCacheSyncWriteResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Pretruncate Failure"/>
  <int value="2" label="Write Failure"/>
  <int value="3" label="Truncate Failure"/>
  <int value="4" label="Lazy Stream Entry Doomed"/>
  <int value="5" label="Lazy Create Failure"/>
  <int value="6" label="Lazy Initialization Failure"/>
</enum>

<enum name="SimpleCacheWriteDependencyType" type="int">
  <int value="0" label="First operation in the queue (Optimistic)"/>
  <int value="1" label="Follows conflicting optimistic write"/>
  <int value="2" label="Follows non conflicting optimistic write"/>
  <int value="3" label="Follows conflicting conservative write"/>
  <int value="4" label="Follows non conflicting conservative write"/>
  <int value="5" label="Follows conflicting read"/>
  <int value="6" label="Follows non conflicting read"/>
  <int value="7" label="Follows other operation"/>
</enum>

<enum name="SimpleCacheWriteResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Invalid Argument"/>
  <int value="2" label="Over Max Size"/>
  <int value="3" label="Bad State"/>
  <int value="4" label="Synchronous Write Failure"/>
  <int value="5" label="Fast Empty Return (Success)"/>
</enum>

<enum name="SimpleGeolocationRequestEvent" type="int">
  <int value="0" label="Request start"/>
  <int value="1" label="Response success"/>
  <int value="2" label="Response not OK"/>
  <int value="3" label="Response empty"/>
  <int value="4" label="Response malformed"/>
</enum>

<enum name="SimpleGeolocationRequestHasCellTowers" type="int">
  <int value="0" label="No cell tower data in request."/>
  <int value="1" label="Cell tower data present."/>
</enum>

<enum name="SimpleGeolocationRequestHasWiFiAccessPoints" type="int">
  <int value="0" label="No WiFi data in request."/>
  <int value="1" label="WiFi data present."/>
</enum>

<enum name="SimpleGeolocationRequestResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Failure"/>
  <int value="2" label="Server error"/>
  <int value="3" label="Request is cancelled."/>
</enum>

<enum name="SimpleIndexState" type="int">
  <int value="0" label="Corrupt"/>
  <int value="1" label="Stale"/>
  <int value="2" label="Fresh"/>
  <int value="3" label="Fresh index with cache updated since backend start"/>
</enum>

<enum name="SiteEngagementServiceEngagementType" type="int">
  <int value="0" label="Navigation"/>
  <int value="1" label="Keypress"/>
  <int value="2" label="Mouse down"/>
  <int value="3" label="Tap gesture"/>
  <int value="4" label="Scroll (mouse wheel or touch)"/>
  <int value="5" label="Media (background tab)"/>
  <int value="6" label="Media (foreground tab)"/>
  <int value="7" label="Webapp shortcut launch"/>
  <int value="8" label="First daily engagement"/>
  <int value="9" label="Notification interaction"/>
</enum>

<enum name="SiteIsolationMimeType" type="int">
  <int value="0" label="HTML"/>
  <int value="1" label="XML"/>
  <int value="2" label="JSON"/>
  <int value="3" label="Plain"/>
  <int value="4" label="Others"/>
</enum>

<enum name="SkiaFilterQuality" type="int">
  <int value="0" label="None"/>
  <int value="1" label="Low"/>
  <int value="2" label="Medium"/>
  <int value="3" label="High"/>
</enum>

<enum name="SkiaLockTexturePath" type="int">
  <int value="0" label="Failure"/>
  <int value="1" label="Pre-Existing"/>
  <int value="2" label="Native"/>
  <int value="3" label="Compressed"/>
  <int value="4" label="YUV"/>
  <int value="5" label="RGBA"/>
</enum>

<enum name="SkiaScaleFactor" type="int">
  <int value="0" label="Upscale"/>
  <int value="1" label="No Scale"/>
  <int value="2" label="Downscale"/>
  <int value="3" label="Large Downscale"/>
</enum>

<enum name="SnackbarIdentifier" type="int">
  <int value="-2" label="TEST_SNACKBAR"/>
  <int value="-1" label="UNKNOWN"/>
  <int value="0" label="BOOKMARK_ADDED"/>
  <int value="1" label="BOOKMARK_DELETE_UNDO"/>
  <int value="2" label="NTP_MOST_VISITED_DELETE_UNDO"/>
  <int value="3" label="OFFLINE_PAGE_RELOAD"/>
  <int value="4" label="AUTO_LOGIN"/>
  <int value="5" label="OMNIBOX_GEOLOCATION"/>
  <int value="6" label="LOFI"/>
  <int value="7" label="DATA_USE_STARTED"/>
  <int value="8" label="DATA_USE_ENDED"/>
  <int value="9" label="DOWNLOAD_SUCCEEDED"/>
  <int value="10" label="DOWNLOAD_FAILED"/>
  <int value="11" label="TAB_CLOSE_UNDO"/>
  <int value="12" label="TAB_CLOSE_ALL_UNDO"/>
  <int value="13" label="DOWNLOAD_DELETE_UNDO"/>
  <int value="14" label="SPECIAL_LOCALE"/>
  <int value="15" label="BLIMP"/>
  <int value="16" label="DATA_REDUCTION_PROMO"/>
  <int value="17" label="HISTORY_LINK_COPIED"/>
</enum>

<enum name="SnippetOpenMethod" type="int">
  <int value="0" label="Plain click"/>
  <int value="1" label="New Window"/>
  <int value="2" label="New Tab"/>
  <int value="3" label="Incognito Tab"/>
  <int value="4" label="Save for Offline"/>
</enum>

<enum name="SnippetsInteractions" type="int">
  <int value="0" label="Snippets were shown to the user"/>
  <int value="1" label="User scrolled through the snippets"/>
  <int value="2" label="User clicked on a snippet into the host website"/>
  <int value="3" label="User swiped a snippet away (obsolete)"/>
  <int value="4" label="User swiped a snippet away after visiting"/>
  <int value="5" label="User swiped a snippet away without visiting"/>
  <int value="6"
      label="User scrolled below the fold (max once per NTP load). Obsolete."/>
</enum>

<enum name="SocketErrorCode" type="int">
  <int value="0" label="ERR_MSG_TOO_BIG"/>
  <int value="1" label="ERR_ADDRESS_UNREACHABLE"/>
  <int value="2" label="ERR_ADDRESS_INVALID"/>
  <int value="3" label="ERR_INTERNET_DISCONNECTED"/>
  <int value="4" label="ERR_TIMED_OUT"/>
  <int value="5" label="ERR_INSUFFICIENT_RESOURCES"/>
  <int value="6" label="ERR_OUT_OF_MEMORY"/>
  <int value="7" label="ERR_OTHER"/>
</enum>

<enum name="SocketStreamConnectionType" type="int">
  <int value="0" label="None"/>
  <int value="1" label="All"/>
  <int value="2" label="Tunnel"/>
  <int value="3" label="SOCKS"/>
  <int value="4" label="SSL"/>
  <int value="5" label="Secure proxy"/>
</enum>

<enum name="SocketStreamProtocolType" type="int">
  <int value="0" label="unknown"/>
  <int value="1" label="ws"/>
  <int value="2" label="wss"/>
</enum>

<enum name="SoftwareImageDecodeState" type="int">
  <int value="0" label="Wasted"/>
  <int value="1" label="Used"/>
  <int value="2" label="Used, relock failed"/>
  <int value="3" label="Wasted, relocked"/>
  <int value="4" label="Used, relocked"/>
</enum>

<enum name="SoftwareReporterExperimentError" type="int">
  <int value="1" label="Bad tag"/>
  <int value="2" label="Bad parameters"/>
</enum>

<enum name="SoftwareReporterLogsUploadEnabled" type="int">
  <int value="0" label="Enabled"/>
  <int value="1" label="SBER Disabled"/>
  <int value="2" label="Recently sent logs"/>
</enum>

<enum name="SoftwareReporterLogsUploadResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Request failed"/>
  <int value="2" label="Invalid response"/>
  <int value="3" label="Timed out"/>
  <int value="4" label="Internal error"/>
  <int value="5" label="Report too large"/>
  <int value="6" label="No network"/>
</enum>

<enum name="SoftwareReporterLogsUploadResultRegistryError" type="int">
  <int value="0" label="No error"/>
  <int value="1" label="Invalid registry key"/>
  <int value="2" label="Value not found"/>
  <int value="3" label="Value out of bounds"/>
</enum>

<enum name="SpdyFrameFlowControlState" type="int">
  <int value="0" label="Send not stalled"/>
  <int value="1" label="Send stalled by stream"/>
  <int value="2" label="Send stalled by session"/>
  <int value="3" label="Send stalled by stream and session"/>
</enum>

<enum name="SpdyIPPoolDomainMatch" type="int">
  <int value="0" label="mismatch"/>
  <int value="1" label="match"/>
</enum>

<!-- Replaced by SpdyProtocolErrorDetails2 on 2013-04-19. -->

<enum name="SpdyProtocolErrorDetails" type="int">
  <int value="0" label="No error"/>
  <int value="1" label="Invalid Control Frame"/>
  <int value="2" label="Control Frame Payload Too Large"/>
  <int value="3" label="Zlib Init Failure"/>
  <int value="4" label="Unsupported Version"/>
  <int value="5" label="Decompress Failure"/>
  <int value="6" label="Compress Failure"/>
  <int value="7" label="Credential Frame Corrupt"/>
  <int value="8" label="Invalid Data Frame Flags"/>
<!-- r181910 added an enum value here, so don't trust the counts for
     the values below for Chrome builds after that revision. -->

  <int value="9" label="Invalid Status Code"/>
  <int value="10" label="Protocol Error"/>
  <int value="11" label="Invalid Stream"/>
  <int value="12" label="Refused Stream"/>
  <int value="13" label="Unsupported Version"/>
  <int value="14" label="Cancel"/>
  <int value="15" label="Internal Error"/>
  <int value="16" label="Flow Control Error"/>
  <int value="17" label="Stream In Use"/>
  <int value="18" label="Stream Already Closed"/>
  <int value="19" label="Invalid Credentials"/>
  <int value="20" label="Frame Too Large"/>
  <int value="21" label="Unexpected Ping"/>
  <int value="22" label="Rst Stream For Non Active Stream"/>
  <int value="23" label="Spdy Compression Failure"/>
  <int value="24" label="Request For Secure Content Over Insecure Session"/>
  <int value="25" label="Protocol Error Syn Reply Not Received"/>
  <int value="26" label="Num Spdy Protocol Error Details"/>
</enum>

<enum name="SpdyProtocolErrorDetails2" type="int">
<!-- SpdyFramer::SpdyErrors -->

  <int value="0" label="No error"/>
  <int value="1" label="Invalid Control Frame"/>
  <int value="2" label="Control Frame Payload Too Large"/>
  <int value="3" label="Zlib Init Failure"/>
  <int value="4" label="Unsupported Version"/>
  <int value="5" label="Decompress Failure"/>
  <int value="6" label="Compress Failure"/>
  <int value="7" label="Credential Frame Corrupt"/>
  <int value="8" label="Invalid Data Frame Flags"/>
  <int value="9" label="Invalid Control Frame Flags"/>
<!-- SpdyRstStreamStatus -->

  <int value="10" label="(Unused)"/>
  <int value="11" label="Protocol Error"/>
  <int value="12" label="Closed Stream"/>
  <int value="13" label="Refused Stream"/>
  <int value="14" label="Unsupported Version"/>
  <int value="15" label="Cancel"/>
  <int value="16" label="Internal Error"/>
  <int value="17" label="Flow Control Error"/>
  <int value="18" label="Stream In Use"/>
  <int value="19" label="Stream Already Closed"/>
  <int value="20" label="Invalid Credentials"/>
  <int value="21" label="Frame Too Large"/>
<!-- SpdySession errors -->

  <int value="22" label="Unexpected Ping"/>
  <int value="23" label="Rst Stream For Non Active Stream"/>
  <int value="24" label="Spdy Compression Failure"/>
  <int value="25" label="Request For Secure Content Over Insecure Session"/>
  <int value="26" label="Syn Reply Not Received"/>
  <int value="27" label="Invalid Window Update Size"/>
  <int value="28" label="Receive Window Size Violation"/>
<!-- More SpdyFramer::SpdyErrors -->

  <int value="29" label="GoAway Frame Corrupt"/>
  <int value="30" label="RstStream Frame Corrupt"/>
  <int value="31" label="Unexpected Frame (Expected Continuation)"/>
<!-- More SpdyRstStreamStatus -->

  <int value="32" label="Timeout waiting for settings acknowledgement"/>
  <int value="33"
      label="Connection established in response to CONNECT request was
             abnormally closed"/>
  <int value="34" label="Peer exhibiting suspect behavior."/>
  <int value="35" label="Inadequate security."/>
  <int value="36" label="HTTP/1.1 required."/>
<!-- More SpdyFramer::SpdyErrors -->

  <int value="37" label="Invalid control frame size."/>
  <int value="38" label="Invalid stream ID."/>
  <int value="39" label="Invalid padding length."/>
  <int value="40" label="Oversized payload."/>
<!-- More SpdyRstStreamStatus -->

  <int value="41" label="No error."/>
  <int value="42" label="Compression error."/>
</enum>

<enum name="SpdyProtocolVersion" type="int">
  <summary>
    SPDY protocol version identifier, including major and minor protocol
    numbers, and draft versions where appropriate.
  </summary>
  <int value="0" label="SPDY 2.0"/>
  <int value="1" label="SPDY 3.0"/>
  <int value="2" label="SPDY 3.1"/>
  <int value="3" label="HTTP/2 draft-14"/>
  <int value="4" label="HTTP/2 draft-15"/>
  <int value="5" label="HTTP/2 draft-16"/>
  <int value="6" label="HTTP/2 draft-17"/>
  <int value="7" label="HTTP/2"/>
</enum>

<enum name="SpdySessionGet" type="int">
  <int value="0" label="created new"/>
  <int value="1" label="found existing"/>
  <int value="2" label="found existing from IP Pool"/>
  <int value="3" label="imported from socket"/>
</enum>

<enum name="SpdySettingsReceived" type="int">
  <int value="0" label="not received"/>
  <int value="1" label="received"/>
</enum>

<enum name="SpdySettingsSent" type="int">
  <int value="0" label="not sent"/>
  <int value="1" label="sent"/>
</enum>

<enum name="SpecialLocalePromoAction" type="int">
  <int value="0" label="Use Sogou"/>
  <int value="1" label="Keep Google"/>
  <int value="2" label="Settings"/>
  <int value="3" label="Back key"/>
</enum>

<enum name="SpecialShFileOperationCodes" type="int">
  <summary>Legacy error codes still returned by |ShFileOperation()|</summary>
  <int value="5" label="Access denied (Win32)"/>
  <int value="32" label="Sharing violation (Win32)"/>
  <int value="87" label="Invalid parameter (Win32)"/>
  <int value="113" label="Source and Destination are same file"/>
  <int value="114" label="Multiple source mapped to single destination"/>
  <int value="115" label="Rename to different directory"/>
  <int value="116" label="Source root"/>
  <int value="117" label="Canceled by user"/>
  <int value="118" label="Destination is subtree of source"/>
  <int value="120" label="Denied by security settings"/>
  <int value="121" label="Path length exceeded MAX_PATH"/>
  <int value="122" label="Multiple destination paths"/>
  <int value="124" label="Path invalid"/>
  <int value="125" label="Source and destination have same parent"/>
  <int value="126" label="Destination exists"/>
  <int value="128" label="Destination exists as folder"/>
  <int value="129" label="Name length exceeded MAX_PATH"/>
  <int value="130" label="Destination read-only CD-ROM"/>
  <int value="131" label="Destination read-only DVD"/>
  <int value="132" label="Destination writable CD-ROM"/>
  <int value="133" label="File too large"/>
  <int value="134" label="Source read-only CD-ROM"/>
  <int value="135" label="Source read-only DVD"/>
  <int value="136" label="Source writable CD-ROM"/>
  <int value="183" label="Operation exceeded MAX_PATH"/>
  <int value="1026" label="Invalid path / unknown"/>
  <int value="65536" label="Unspecified destination error"/>
  <int value="65652" label="Destination root"/>
</enum>

<enum name="SpeculativeRestoreApplicability" type="int">
  <int value="0" label="Applicable"/>
  <int value="1" label="Not applicable (tablet)"/>
  <int value="2" label="Not applicable (low-memory device)"/>
  <int value="3" label="Not applicable (bandwidth management)"/>
</enum>

<enum name="SpeculativeRestorePredictionAccuracy" type="int">
  <int value="0" label="Hit"/>
  <int value="1" label="Miss (different tab)"/>
  <int value="2" label="Miss (tab not switched)"/>
</enum>

<enum name="SpeculativeRestoreTabStatus" type="int">
  <int value="0" label="Already loaded"/>
  <int value="1" label="Needs restore"/>
</enum>

<enum name="SplashscreenColorStatus" type="int">
  <int value="0" label="Default color"/>
  <int value="1" label="Custom color"/>
</enum>

<enum name="SplashscreenHidesReason" type="int">
  <int value="0" label="First Paint"/>
  <int value="1" label="Page Load Finished"/>
  <int value="2" label="Page Load Failed"/>
  <int value="3" label="Crash"/>
</enum>

<enum name="SplashscreenIconType" type="int">
  <int value="0" label="No splashscreen icon"/>
  <int value="1" label="Fallback icon"/>
  <int value="2" label="Custom icon"/>
  <int value="3" label="Small custom icon"/>
</enum>

<enum name="SqliteErrorCode" type="int">
  <summary>Error codes returned by SQLite - see sqlite3.h</summary>
  <int value="0" label="SQLITE_OK">Successful result</int>
  <int value="1" label="SQLITE_ERROR">SQL error or missing database</int>
  <int value="2" label="SQLITE_INTERNAL">
    NOT USED. Internal logic error in SQLite
  </int>
  <int value="3" label="SQLITE_PERM">Access permission denied</int>
  <int value="4" label="SQLITE_ABORT">Callback routine requested an abort</int>
  <int value="5" label="SQLITE_BUSY">The database file is locked</int>
  <int value="6" label="SQLITE_LOCKED">A table in the database is locked</int>
  <int value="7" label="SQLITE_NOMEM">A malloc() failed</int>
  <int value="8" label="SQLITE_READONLY">
    Attempt to write a readonly database
  </int>
  <int value="9" label="SQLITE_INTERRUPT">
    Operation terminated by sqlite3_interrupt()
  </int>
  <int value="10" label="SQLITE_IOERR">
    Some kind of disk I/O error occurred
  </int>
  <int value="11" label="SQLITE_CORRUPT">
    The database disk image is malformed
  </int>
  <int value="12" label="SQLITE_NOTFOUND">
    NOT USED. Table or record not found
  </int>
  <int value="13" label="SQLITE_FULL">
    Insertion failed because database is full
  </int>
  <int value="14" label="SQLITE_CANTOPEN">Unable to open the database file</int>
  <int value="15" label="SQLITE_PROTOCOL">
    NOT USED. Database lock protocol error
  </int>
  <int value="16" label="SQLITE_EMPTY">Database is empty</int>
  <int value="17" label="SQLITE_SCHEMA">The database schema changed</int>
  <int value="18" label="SQLITE_TOOBIG">String or BLOB exceeds size limit</int>
  <int value="19" label="SQLITE_CONSTRAINT">
    Abort due to contraint violation
  </int>
  <int value="20" label="SQLITE_MISMATCH">Data type mismatch</int>
  <int value="21" label="SQLITE_MISUSE">Library used incorrectly</int>
  <int value="22" label="SQLITE_NOLFS">
    Uses OS features not supported on host
  </int>
  <int value="23" label="SQLITE_AUTH">Authorization denied</int>
  <int value="24" label="SQLITE_FORMAT">Auxiliary database format error</int>
  <int value="25" label="SQLITE_RANGE">
    2nd parameter to sqlite3_bind() out of range
  </int>
  <int value="26" label="SQLITE_NOTADB">
    File opened that is not a database file
  </int>
  <int value="27" label="SQLITE_NOTICE">Notifications from sqlite3_log()</int>
  <int value="28" label="SQLITE_WARNING">Warnings from sqlite3_log()</int>
  <int value="100" label="SQLITE_ROW">sqlite3_step() has another row ready</int>
  <int value="101" label="SQLITE_DONE">
    sqlite3_step() has finished executing
  </int>
  <int value="261" label="SQLITE_BUSY_RECOVERY">TBD</int>
  <int value="262" label="SQLITE_LOCKED_SHAREDCACHE">TBD</int>
  <int value="264" label="SQLITE_READONLY_RECOVERY">TBD</int>
  <int value="266" label="SQLITE_IOERR_READ">Error reading from file</int>
  <int value="267" label="SQLITE_CORRUPT_VTAB">TBD</int>
  <int value="270" label="SQLITE_CANTOPEN_NOTEMPDIR">TBD</int>
  <int value="275" label="SQLITE_CONSTRAINT_CHECK">TBD</int>
  <int value="279" label="SQLITE_AUTH_USER">TBD</int>
  <int value="283" label="SQLITE_NOTICE_RECOVER_WAL">TBD</int>
  <int value="284" label="SQLITE_WARNING_AUTOINDEX">TBD</int>
  <int value="516" label="SQLITE_ABORT_ROLLBACK">TBD</int>
  <int value="517" label="SQLITE_BUSY_SNAPSHOT">TBD</int>
  <int value="520" label="SQLITE_READONLY_CANTLOCK">TBD</int>
  <int value="522" label="SQLITE_IOERR_SHORT_READ">Short read from file</int>
  <int value="526" label="SQLITE_CANTOPEN_ISDIR">
    Database file is directory
  </int>
  <int value="531" label="SQLITE_CONSTRAINT_COMMITHOOK">TBD</int>
  <int value="539" label="SQLITE_NOTICE_RECOVER_ROLLBACK">TBD</int>
  <int value="776" label="SQLITE_READONLY_ROLLBACK">
    Cannot rollback due to readonly file
  </int>
  <int value="778" label="SQLITE_IOERR_WRITE">
    Error writing to file (other than SQLITE_FULL)
  </int>
  <int value="782" label="SQLITE_CANTOPEN_FULLPATH">TBD</int>
  <int value="787" label="SQLITE_CONSTRAINT_FOREIGNKEY">
    Constraint failure due to foreign key violation
  </int>
  <int value="1032" label="SQLITE_READONLY_DBMOVED">
    Readonly because database file was moved or unlinked while open
  </int>
  <int value="1034" label="SQLITE_IOERR_FSYNC">Error syncing to disk</int>
  <int value="1038" label="SQLITE_CANTOPEN_CONVPATH">TBD</int>
  <int value="1043" label="SQLITE_CONSTRAINT_FUNCTION">TBD</int>
  <int value="1290" label="SQLITE_IOERR_DIR_FSYNC">
    Error syncing directory changes to disk
  </int>
  <int value="1299" label="SQLITE_CONSTRAINT_NOTNULL">
    NOTNULL constraint violated
  </int>
  <int value="1546" label="SQLITE_IOERR_TRUNCATE">Error truncating file</int>
  <int value="1555" label="SQLITE_CONSTRAINT_PRIMARYKEY">
    Primary key not unique
  </int>
  <int value="1802" label="SQLITE_IOERR_FSTAT">Error reading file metadata</int>
  <int value="1811" label="SQLITE_CONSTRAINT_TRIGGER">
    Constraint failed due to trigger raise
  </int>
  <int value="2058" label="SQLITE_IOERR_UNLOCK">Error unlocking file</int>
  <int value="2067" label="SQLITE_CONSTRAINT_UNIQUE">
    Unique constraint failed
  </int>
  <int value="2314" label="SQLITE_IOERR_RDLOCK">
    Error getting read lock - should not be possible
  </int>
  <int value="2323" label="SQLITE_CONSTRAINT_VTAB">TBD</int>
  <int value="2570" label="SQLITE_IOERR_DELETE">Error deleting file</int>
  <int value="2579" label="SQLITE_CONSTRAINT_ROWID">Rowid not unique</int>
  <int value="2826" label="SQLITE_IOERR_BLOCKED">
    Deadlock due to other process access to SQLite files
  </int>
  <int value="3082" label="SQLITE_IOERR_NOMEM">Error mapping shared memory</int>
  <int value="3338" label="SQLITE_IOERR_ACCESS">
    Error getting file attributes (other than not found)
  </int>
  <int value="3594" label="SQLITE_IOERR_CHECKRESERVEDLOCK">
    Error while querying lock status
  </int>
  <int value="3850" label="SQLITE_IOERR_LOCK">Error acquiring lock</int>
  <int value="4106" label="SQLITE_IOERR_CLOSE">Error closing file</int>
  <int value="4362" label="SQLITE_IOERR_DIR_CLOSE">Unused</int>
  <int value="4618" label="SQLITE_IOERR_SHMOPEN">Error mmapping file</int>
  <int value="4874" label="SQLITE_IOERR_SHMSIZE">
    Error in stat while mmapping file
  </int>
  <int value="5130" label="SQLITE_IOERR_SHMLOCK">Unused</int>
  <int value="5386" label="SQLITE_IOERR_SHMMAP">TBD</int>
  <int value="5642" label="SQLITE_IOERR_SEEK">TBD</int>
  <int value="5898" label="SQLITE_IOERR_DELETE_NOENT">TBD</int>
  <int value="6154" label="SQLITE_IOERR_MMAP">TBD</int>
  <int value="6410" label="SQLITE_IOERR_GETTEMPPATH">TBD</int>
  <int value="6666" label="SQLITE_IOERR_CONVPATH">TBD</int>
</enum>

<enum name="SqliteIOERRCode" type="int">
  <obsolete>
    Replaced 5/14/2013 by expanded Sqlite.Error histogram.
  </obsolete>
  <summary>Extended error codes returned by SQLite - see sqlite3.h</summary>
  <int value="0" label="SQLITE_IOERR">No extended code given</int>
  <int value="1" label="SQLITE_IOERR_READ">Error reading from file</int>
  <int value="2" label="SQLITE_IOERR_SHORT_READ">Short read from file</int>
  <int value="3" label="SQLITE_IOERR_WRITE">
    Error writing to file (other than SQLITE_FULL)
  </int>
  <int value="4" label="SQLITE_IOERR_FSYNC">Error syncing to disk</int>
  <int value="5" label="SQLITE_IOERR_DIR_FSYNC">
    Error syncing directory changes to disk
  </int>
  <int value="6" label="SQLITE_IOERR_TRUNCATE">Error truncating file</int>
  <int value="7" label="SQLITE_IOERR_FSTAT">Error reading file metadata</int>
  <int value="8" label="SQLITE_IOERR_UNLOCK">Error unlocking file</int>
  <int value="9" label="SQLITE_IOERR_RDLOCK">
    Error getting read lock - should not be possible
  </int>
  <int value="10" label="SQLITE_IOERR_DELETE">Error deleting file</int>
  <int value="11" label="SQLITE_IOERR_BLOCKED">
    Deadlock due to other process access to SQLite files
  </int>
  <int value="12" label="SQLITE_IOERR_NOMEM">Error mapping shared memory</int>
  <int value="13" label="SQLITE_IOERR_ACCESS">
    Error getting file attributes (other than not found)
  </int>
  <int value="14" label="SQLITE_IOERR_CHECKRESERVEDLOCK">
    Error while querying lock status
  </int>
  <int value="15" label="SQLITE_IOERR_LOCK">Error acquiring lock</int>
  <int value="16" label="SQLITE_IOERR_CLOSE">Error closing file</int>
  <int value="17" label="SQLITE_IOERR_DIR_CLOSE">Unused</int>
  <int value="18" label="SQLITE_IOERR_SHMOPEN">Error mmapping file</int>
  <int value="19" label="SQLITE_IOERR_SHMSIZE">
    Error in stat while mmapping file
  </int>
  <int value="20" label="SQLITE_IOERR_SHMLOCK">Unused</int>
</enum>

<enum name="SqliteRecoveryEventEnum" type="int">
  <summary>
    Track successful completion or failure of sql::Recovery implementation.
  </summary>
  <int value="0" label="RECOVERY_SUCCESS_BEGIN">
    sql::Recovery::Init() (helper for Begin()) completely successfully.
  </int>
  <int value="1" label="RECOVERY_FAILED_OPEN_TEMPORARY">
    Failed to open temporary database to recover into.
  </int>
  <int value="2" label="RECOVERY_FAILED_VIRTUAL_TABLE_INIT">
    Failed to initialize recover vtable subsystem for connection.
  </int>
  <int value="3" label="RECOVERY_FAILED_VIRTUAL_TABLE_SYSTEM_SQLITE">
    USE_SYSTEM_SQLITE in force, recovery virtual table not available.
  </int>
  <int value="4" label="RECOVERY_FAILED_WRITABLE_SCHEMA">
    Failed to enable writable_schema.
  </int>
  <int value="5" label="RECOVERY_FAILED_ATTACH">
    Failed to attach corrupt database to recovery database.
  </int>
  <int value="6" label="RECOVERY_SUCCESS_BACKUP">
    sql::Recovery::Backup() (helper for Recovered()) completely successfully.
  </int>
  <int value="7" label="RECOVERY_FAILED_BACKUP_INIT">
    Failed sqlite3_backup_init().  Error code in Sqlite.RecoveryHandle.
  </int>
  <int value="8" label="RECOVERY_FAILED_BACKUP_STEP">
    Failed sqlite3_backup_step().  Error code in Sqlite.RecoveryStep.
  </int>
  <int value="9" label="RECOVERY_SUCCESS_AUTORECOVER">
    sql::Recovery::AutoRecoverTable() completed successfully.
  </int>
  <int value="10" label="RECOVERY_FAILED_AUTORECOVER_UNRECOGNIZED_TYPE">
    Failed sqlite3_backup_step().  Error code in Sqlite.RecoveryStep.
  </int>
  <int value="11" label="RECOVERY_FAILED_AUTORECOVER_MISSING_TABLE">
    AutoRecoverTable() could not find the target table.
  </int>
  <int value="12" label="RECOVERY_FAILED_AUTORECOVER_CREATE">
    AutoRecoverTable() failed creating recovery vtable.
  </int>
  <int value="13" label="RECOVERY_FAILED_AUTORECOVER_INSERT">
    AutoRecoverTable() failed copying data from recovery to target table.
  </int>
  <int value="14" label="RECOVERY_FAILED_AUTORECOVER_DROP">
    AutoRecoverTable() failed to drop recovery table.
  </int>
  <int value="15" label="RECOVERY_SUCCESS_SETUP_META">
    sql::Recovery::SetupMeta() completed successfully.
  </int>
  <int value="16" label="RECOVERY_FAILED_META_CREATE">
    SetupMeta() failed to create meta recovery table.
  </int>
  <int value="17" label="RECOVERY_SUCCESS_META_VERSION">
    GetMetaVersionNumber() found no version row in meta table.
  </int>
  <int value="18" label="RECOVERY_FAILED_META_QUERY">
    GetMetaVersionNumber() failed querying recovery meta table.
  </int>
  <int value="19" label="RECOVERY_FAILED_META_NO_VERSION">
    GetMetaVersionNumber() found no version row in meta table.
  </int>
  <int value="20" label="RECOVERY_SUCCESS_AUTORECOVERDB">
    sql::Recovery::RecoverDatabaseOrRaze() completed successfully.
  </int>
  <int value="21" label="RECOVERY_FAILED_AUTORECOVERDB_BEGIN">
    Autorecover could not setup the database for recovery attempt.
  </int>
  <int value="22" label="RECOVERY_FAILED_AUTORECOVERDB_SCHEMASELECT">
    Autorecover could not read corrupt db schema.
  </int>
  <int value="23" label="RECOVERY_FAILED_AUTORECOVERDB_SCHEMACREATE">
    Autorecover could not create new db schema.
  </int>
  <int value="24" label="RECOVERY_FAILED_AUTORECOVERDB_NAMESELECT">
    Autorecover could not read table names from corrupt db.
  </int>
  <int value="25" label="RECOVERY_FAILED_AUTORECOVERDB_TABLE">
    Autorecover failed when recovering a table.
  </int>
  <int value="26" label="RECOVERY_FAILED_AUTORECOVERDB_SEQUENCE">
    Autorecover failed when recovering sequence table.
  </int>
  <int value="27" label="RECOVERY_FAILED_AUTORECOVERDB_AUX">
    Autorecover failed when recovering triggers, views, or virtual tables.
  </int>
  <int value="28" label="RECOVERY_FAILED_AUTORECOVERDB_NOTADB_DELETE">
    Autorecover failed setup with NOTADB, then failed deleting the db.
  </int>
  <int value="29" label="RECOVERY_FAILED_AUTORECOVERDB_NOTADB_REOPEN">
    Autorecover failed setup with NOTADB, then failed to re-open the db after
    deleting it.
  </int>
  <int value="30" label="RECOVERY_FAILED_AUTORECOVERDB_NOTADB_QUERY">
    Autorecover failed setup with NOTADB, then failed to query the db after
    deleting it.
  </int>
  <int value="31" label="RECOVERY_SUCCESS_AUTORECOVERDB_NOTADB_DELETE">
    Autorecover failed setup with NOTADB, then successfully deleted the
    unrecoverable db and verified that it now works.
  </int>
  <int value="32" label="RECOVERY_FAILED_AUTORECOVERDB_META_VERSION">
    Autorecover failed because required version information was missing from the
    [meta] table.
  </int>
</enum>

<enum name="SqliteStatsEnum" type="int">
  <summary/>
  <int value="0" label="EVENT_STATEMENT_RUN">
    Count statements initiated by Step(), Run(), or Execute*().
  </int>
  <int value="1" label="EVENT_STATEMENT_ROWS">
    Count steps which returned SQLITE_ROW.
  </int>
  <int value="2" label="EVENT_STATEMENT_SUCCESS">
    Count statements which ran to completion with no errors.
  </int>
  <int value="3" label="EVENT_EXECUTE">Count calls to Execute*().</int>
  <int value="4" label="EVENT_CHANGES_AUTOCOMMIT">
    Count rows changed without an explicit transaction.
  </int>
  <int value="5" label="EVENT_CHANGES">
    Count rows changed in an explicit transaction.
  </int>
  <int value="6" label="EVENT_BEGIN">Explicit transactions begun.</int>
  <int value="7" label="EVENT_COMMIT">Explicit transactions committed.</int>
  <int value="8" label="EVENT_ROLLBACK">Explicit transactions rolled back.</int>
  <int value="9" label="EVENT_MMAP_META_MISSING">
    No meta table in mmap probe.
  </int>
  <int value="10" label="EVENT_MMAP_META_FAILURE_READ">
    Failed to read meta table in mmap probe.
  </int>
  <int value="11" label="EVENT_MMAP_META_FAILURE_UPDATE">
    Failed to update meta table in mmap probe.
  </int>
  <int value="12" label="EVENT_MMAP_VFS_FAILURE">
    Failed to access SQLite vfs in mmap probe.
  </int>
  <int value="13" label="EVENT_MMAP_FAILED">
    Found cached failure status in mmap probe.
  </int>
  <int value="14" label="EVENT_MMAP_FAILED_NEW">
    Error while reading database in mmap probe.
  </int>
  <int value="15" label="EVENT_MMAP_SUCCESS_NEW">
    Successfully read to end of database in mmap probe.
  </int>
  <int value="16" label="EVENT_MMAP_SUCCESS_PARTIAL">
    Successfully read some of database in mmap probe.
  </int>
  <int value="17" label="EVENT_MMAP_SUCCESS_NO_PROGRESS">
    Exhausted read quota in mmap probe.
  </int>
  <int value="18" label="EVENT_MMAP_STATUS_FAILURE_READ">
    Failed to read status view in mmap probe.
  </int>
  <int value="19" label="EVENT_MMAP_STATUS_FAILURE_UPDATE">
    Failed to update status view in mmap probe.
  </int>
</enum>

<enum name="SqliteVersionDeprecation" type="int">
  <summary>Sqlite database version deprecation status</summary>
  <int value="0" label="DEPRECATION_DATABASE_NOT_EMPTY">
    Database has tables, but no meta table.
  </int>
  <int value="1" label="DEPRECATION_DATABASE_UNKNOWN">
    Failure figuring out if database has tables.
  </int>
  <int value="2" label="DEPRECATION_FAILED_VERSION">
    Failed querying meta table.
  </int>
  <int value="3" label="DEPRECATION_NO_VERSION">
    No version row in meta table.
  </int>
  <int value="4" label="DEPRECATION_RAZED">Raze succeeded.</int>
  <int value="5" label="DEPRECATION_RAZE_FAILED">Raze failed.</int>
</enum>

<enum name="SqliteVfsEvents" type="int">
  <summary>I/O events from browser-process SQLite VFS wrapper.</summary>
  <int value="0" label="VFS_OPEN">Calls to xOpen().</int>
  <int value="1" label="VFS_DELETE">Calls to xDelete().</int>
  <int value="2" label="VFS_ACCESS">Calls to xAccess().</int>
  <int value="3" label="VFS_FULLPATHNAME">Calls to xFullPath().</int>
  <int value="4" label="VFS_IO_CLOSE">Calls to xClose().</int>
  <int value="5" label="VFS_IO_READ">Calls to xRead().</int>
  <int value="6" label="VFS_IO_WRITE">Calls to xWrite().</int>
  <int value="7" label="VFS_IO_TRUNCATE">Calls to xTruncate().</int>
  <int value="8" label="VFS_IO_SYNC">Calls to xSync().</int>
  <int value="9" label="VFS_IO_FILESIZE">Calls to xFileSize().</int>
  <int value="10" label="VFS_IO_FETCH">Calls to xFetch().</int>
</enum>

<enum name="SRIResourceIntegrityMismatchEvent" type="int">
  <int value="0" label="CHECKING_FOR_INTEGRITY_MISMATCH"/>
  <int value="1" label="REFETCH_DUE_TO_INTEGRITY_MISMATCH"/>
</enum>

<enum name="SRTCompleted" type="int">
  <int value="0" label="Not Completed"/>
  <int value="1" label="Completed"/>
  <int value="2" label="Completed Later"/>
</enum>

<enum name="SRTPromptUsage" type="int">
  <int value="0" label="Shown"/>
  <int value="1" label="Accepted"/>
  <int value="2" label="Denied"/>
  <int value="3" label="Fell back to download page."/>
  <int value="4" label="SRT download unavailable, no prompt shown."/>
  <int value="5" label="Closed"/>
  <int value="6" label="Shown from menu."/>
</enum>

<enum name="SSLAuthRootConsistency" type="int">
  <summary>
    The results of comparing the built-in list of known Windows roots against
    programatically detecting the built-in status.
  </summary>
  <int value="0" label="Not AuthRoot, not built-in">
    Not detected as from AuthRoot, nor built-in
    (BUILT_IN_PROPERTY_NOT_FOUND_BUILTIN_NOT_SET)
  </int>
  <int value="1" label="Not AuthRoot, but built-in">
    Not detected as from AuthRoot, but built-in
    (BUILT_IN_PROPERTY_NOT_FOUND_BUILTIN_SET)
  </int>
  <int value="2" label="AuthRoot, not built-in">
    Detected as from AuthRoot, but not built-in
    (BUILT_IN_PROPERTY_FOUND_BUILTIN_NOT_SET)
  </int>
  <int value="3" label="AuthRoot, built-in">
    Detected as from AuthRoot and also built-in
    (BUILT_IN_PROPERTY_FOUND_BUILTIN_SET)
  </int>
</enum>

<enum name="SSLCaptivePortal" type="int">
  <int value="0" label="All captive portal events (CAPTIVE_PORTAL_ALL)"/>
  <int value="1"
      label="Chrome captive portal detection enabled
             (CAPTIVE_PORTAL_DETECTION_ENABLED)"/>
  <int value="2"
      label="Chrome captive portal detection enabled on an overridable SSL
             error page (CAPTIVE_PORTAL_DETECTION_ENABLED_OVERRIDABLE)">
    This is a subset of CAPTIVE_PORTAL_DETECTION_ENABLED (bucket 1), the only
    difference is that it is for overridable errors.
  </int>
  <int value="3"
      label="Received a captive portal probe result.
             (CAPTIVE_PORTAL_PROBE_COMPLETED)">
    Was the captive portal probe completed before the interstitial was closed?
    Captive Portal won't be detected unless ::Observe is triggered which might
    be a few seconds later.
  </int>
  <int value="4"
      label="Received a captive portal result on an overridable SSL error page
             (CAPTIVE_PORTAL_PROBE_COMPLETED_OVERRIDABLE)">
    This is a subset of CAPTIVE_PORTAL_PROBE_COMPLETED (bucket 3), the only
    difference is that it is for overridable errors.
  </int>
  <int value="5"
      label="Received no response or Non-HTTP login page
             (CAPTIVE_PORTAL_NO_RESPONSE)"/>
  <int value="6"
      label="Received no response or Non-HTTP login page on an overridable
             SSL error page (CAPTIVE_PORTAL_NO_RESPONSE_OVERRIDABLE)"/>
  <int value="7" label="Detected captive portal (CAPTIVE_PORTAL_DETECTED)"/>
  <int value="8"
      label="Detected captive portal on an overridable SSL error page
             (CAPTIVE_PORTAL_DETECTED_OVERRIDABLE)">
    This is a subset of CAPTIVE_PORTAL_DETECTED (bucket 7), the only difference
    is that it is for overridable errors.
  </int>
</enum>

<enum name="SSLCipherSuite" type="int">
  <summary>SSL/TLS cipher suites from the IANA registry</summary>
  <int value="10" label="TLS_RSA_WITH_3DES_EDE_CBC_SHA"/>
  <int value="22" label="TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA"/>
  <int value="47" label="TLS_RSA_WITH_AES_128_CBC_SHA"/>
  <int value="51" label="TLS_DHE_RSA_WITH_AES_128_CBC_SHA"/>
  <int value="53" label="TLS_RSA_WITH_AES_256_CBC_SHA"/>
  <int value="57" label="TLS_DHE_RSA_WITH_AES_256_CBC_SHA"/>
  <int value="60" label="TLS_RSA_WITH_AES_128_CBC_SHA256"/>
  <int value="61" label="TLS_RSA_WITH_AES_256_CBC_SHA256"/>
  <int value="103" label="TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"/>
  <int value="107" label="TLS_DHE_RSA_WITH_AES_256_CBC_SHA256"/>
  <int value="156" label="TLS_RSA_WITH_AES_128_GCM_SHA256"/>
  <int value="157" label="TLS_RSA_WITH_AES_256_GCM_SHA384"/>
  <int value="158" label="TLS_DHE_RSA_WITH_AES_128_GCM_SHA256"/>
  <int value="159" label="TLS_DHE_RSA_WITH_AES_256_GCM_SHA384"/>
  <int value="4865" label="TLS_AES_128_GCM_SHA256"/>
  <int value="4866" label="TLS_AES_256_GCM_SHA384"/>
  <int value="4867" label="TLS_CHACHA20_POLY1305_SHA256"/>
  <int value="5815"
      label="TLS_CECPQ1_RSA_WITH_CHACHA20_POLY1305_SHA256 (experimental)"/>
  <int value="5816"
      label="TLS_CECPQ1_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (experimental)"/>
  <int value="5817"
      label="TLS_CECPQ1_RSA_WITH_AES_256_GCM_SHA384 (experimental)"/>
  <int value="5818"
      label="TLS_CECPQ1_ECDSA_WITH_AES_256_GCM_SHA384 (experimental)"/>
  <int value="49159" label="TLS_ECDHE_ECDSA_WITH_RC4_128_SHA"/>
  <int value="49160" label="TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA"/>
  <int value="49161" label="TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA"/>
  <int value="49162" label="TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"/>
  <int value="49169" label="TLS_ECDHE_RSA_WITH_RC4_128_SHA"/>
  <int value="49170" label="TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA"/>
  <int value="49171" label="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"/>
  <int value="49172" label="TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"/>
  <int value="49187" label="TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"/>
  <int value="49188" label="TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"/>
  <int value="49191" label="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"/>
  <int value="49192" label="TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"/>
  <int value="49195" label="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"/>
  <int value="49196" label="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"/>
  <int value="49199" label="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"/>
  <int value="49200" label="TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"/>
  <int value="52243"
      label="TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 (non-standard)"/>
  <int value="52244"
      label="TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 (non-standard)"/>
  <int value="52245" label="TLS_DHE_RSA_WITH_CHACHA20_POLY1305 (non-standard)"/>
  <int value="52392" label="TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"/>
  <int value="52393" label="TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"/>
</enum>

<enum name="SSLErrorCauses" type="int">
  <int value="0" label="CLOCK_PAST: System clock set early">
    This cause is recorded if the SSL error is CERT_DATE_INVALID and Chrome had
    reason to believe that the system clock was behind.  Methods of detecting
    clock inaccuracy have changed over time.
  </int>
  <int value="1" label="CLOCK_FUTURE: System clock set late">
    This cause is recorded if the SSL error is CERT_DATE_INVALID and Chrome had
    reason to believe that the system clock was behind.  Methods of detecting
    clock inaccuracy have changed over time.
  </int>
  <int value="2" label="WWW_SUBDOMAIN_MATCH: (Deprecated)">
    (Deprecated in favor of WWW_SUBDOMAIN_MATCH2)
  </int>
  <int value="3" label="SUBDOMAIN_MATCH: (Deprecated)">
    (Deprecated in favor of SUBDOMAIN_MATCH2)
  </int>
  <int value="4" label="SUBDOMAIN_INVERSE_MATCH: (Deprecated)">
    (Deprecated in favor of SUBDOMAIN_INVERSE_MATCH2)
  </int>
  <int value="5" label="SUBDOMAIN_OUTSIDE_WILDCARD: (Deprecated)">
    (Deprecated in favor of SUBDOMAIN_OUTSIDE_WILDCARD2)
  </int>
  <int value="6"
      label="HOST_NAME_NOT_KNOWN_TLD: The host name is not a known TLD">
    This cause is recorded only for CERT_COMMON_NAME_INVALID errors.
  </int>
  <int value="7" label="LIKELY_MULTI_TENANT_HOSTING: (Deprecated)">
    (Deprecated in favor of LIKELY_MULTI_TENANT_HOSTING2)
  </int>
  <int value="8" label="LOCALHOST: The user is trying to connect to local host">
    This cause is recorded only for CERT_AUTHORITY_INVALID errors.
  </int>
  <int value="9" label="PRIVATE_URL: The user is trying to connect to a VPN">
    This cause is recorded only for CERT_AUTHORITY_INVALID errors. The user did
    not receive a certificate signed by a valid CA.
  </int>
  <int value="10"
      label="AUTHORTIY_ERROR_CAPTIVE_PORTAL: Captive portal was detected">
    This cause is recorded only for CERT_AUTHORITY_INVALID errors. (Deprecated
    in M47.)
  </int>
  <int value="11" label="SELF_SIGNED: The cert is self-signed">
    This cause is recorded only for CERT_AUTHORITY_INVALID errors.
  </int>
  <int value="12" label="EXPIRED_RECENTLY: Cert expired within last 28 days.">

  </int>
  <int value="13" label="LIKELY_SAME_DOMAIN: (Deprecated)">
    (Deprecated in favor of LIKELY_SAME_DOMAIN2)
  </int>
  <int value="14" label="NO_SUBJECT_ALT_NAME: Cert lacks SubjectAltName">
    This case is recorded if the SSL error is CERT_COMMON_NAME_INVALID error and
    the certificate does not specify any DNS names in a SubjectAltName
    extension. (Chrome 58 deprecated matching hostnames to the SubjectCN Field.)
  </int>
  <int value="15"
      label="WWW_SUBDOMAIN_MATCH2: Difference between the URL and the DNS is
             www">
    This cause is recorded if the SSL error is CERT_COMMON_NAME_INVALID and the
    hostname differs from one of the DNS names in the certificate (SANs) only by
    the presence or absence of the single-label prefix &quot;www&quot;. This
    case is not recorded if the host name is not a known TLD.
  </int>
  <int value="16" label="SUBDOMAIN_MATCH2: The URL is a subdomain of the DNS">
    This cause is recorded if the SSL error is CERT_COMMON_NAME_INVALID, the URL
    hostname is a subdomain of a DNS name in the certificate, and the difference
    between the URL and the DNS name is not &quot;www&quot;. This case is not
    recorded if the host name is not a known TLD.
  </int>
  <int value="17"
      label="SUBDOMAIN_INVERSE_MATCH2: The DNS is a subdomain of the URL">
    This cause is recorded if the SSL error is CERT_COMMON_NAME_INVALID, a DNS
    name in the certificate is a subdomain of the URL hostname, and the
    difference between the DNS name and the URL is not &quot;www&quot;. This
    case is not recorded if the host name is not a known TLD.
  </int>
  <int value="18"
      label="SUBDOMAIN_OUTSIDE_WILDCARD2: The URL is outside the scope of the
             wildcard certificate">
    This cause is recorded only if the SSL error is CERT_COMMON_NAME_INVALID, we
    have received a wildcard certificate and the scope of a wildcard certificate
    is too narrow for the hostname. This case is not recorded if the host name
    is not a known TLD.
  </int>
  <int value="19"
      label="LIKELY_MULTI_TENANT_HOSTING2: The certificate is a shared
             certificate">
    This cause is recorded only for CERT_COMMON_NAME_INVALID errors where the
    certificate contains numerous unrelated DNS names. This case is not recorded
    if the host name is not a known TLD.
  </int>
  <int value="20"
      label="LIKELY_SAME_DOMAIN2: Cert likely belongs to the same domain">
    This case is recorded if the SSL error is CERT_COMMON_NAME_INVALID error and
    the hostname in request URL has the same domain (effective TLD + 1 label) as
    a SubjectAltName in the certificate. This case is not recorded if the host
    name is not a known TLD.
  </int>
</enum>

<enum name="SSLErrorHandlerEvent" type="int">
  <int value="0" label="HANDLE_ALL"/>
  <int value="1" label="SHOW_CAPTIVE_PORTAL_INTERSTITIAL_NONOVERRIDABLE"/>
  <int value="2" label="SHOW_CAPTIVE_PORTAL_INTERSTITIAL_OVERRIDABLE"/>
  <int value="3" label="SHOW_SSL_INTERSTITIAL_NONOVERRIDABLE"/>
  <int value="4" label="SHOW_SSL_INTERSTITIAL_OVERRIDABLE"/>
  <int value="5" label="WWW_MISMATCH_FOUND (Deprecated)"/>
  <int value="6" label="WWW_MISMATCH_URL_AVAILABLE"/>
  <int value="7" label="WWW_MISMATCH_URL_NOT_AVAILABLE"/>
  <int value="8" label="SHOW_BAD_CLOCK"/>
  <int value="9" label="CAPTIVE_PORTAL_CERT_FOUND"/>
  <int value="10" label="WWW_MISMATCH_FOUND_IN_SAN"/>
</enum>

<enum name="SSLErrorTypes" type="int">
  <int value="0" label="CERT_COMMON_NAME_INVALID"/>
  <int value="1" label="CERT_DATE_INVALID"/>
  <int value="2" label="CERT_AUTHORITY_INVALID"/>
  <int value="3" label="CERT_CONTAINS_ERRORS"/>
  <int value="4" label="CERT_NO_REVOCATION_MECHANISM"/>
  <int value="5" label="CERT_UNABLE_TO_CHECK_REVOCATION"/>
  <int value="6" label="CERT_REVOKED"/>
  <int value="7" label="CERT_INVALID"/>
  <int value="8" label="CERT_WEAK_SIGNATURE_ALGORITHM"/>
  <int value="9" label="CERT_WEAK_KEY"/>
  <int value="10" label="CERT_NAME_CONSTRAINT_VIOLATION"/>
  <int value="11" label="UNKNOWN"/>
  <int value="12" label="CERT_WEAK_KEY_DH"/>
  <int value="13" label="CERT_PINNED_KEY_MISSING"/>
  <int value="14" label="CERT_VALIDITY_TOO_LONG"/>
</enum>

<enum name="SSLFailureState" type="int">
  <obsolete>
    Removed June 2016.
  </obsolete>
  <int value="0" label="No failure"/>
  <int value="1" label="Unknown failure"/>
  <int value="2" label="Failed to process ClientHello"/>
  <int value="3" label="Buggy AES-GCM"/>
  <int value="4" label="Failed with client authentication"/>
  <int value="5" label="Session version mismatch"/>
  <int value="6" label="Failed with Next Proto Negotiation"/>
</enum>

<enum name="SSLGoodCertSeenEvent" type="int">
  <int value="0" label="NO_PREVIOUS_EXCEPTION"/>
  <int value="1" label="HAD_PREVIOUS_EXCEPTION"/>
</enum>

<enum name="SSLHashAlgorithm" type="int">
  <obsolete>
    Removed June 2016.
  </obsolete>
  <int value="0" label="None (unused)"/>
  <int value="1" label="MD5"/>
  <int value="2" label="SHA-1"/>
  <int value="3" label="SHA-224"/>
  <int value="4" label="SHA-256"/>
  <int value="5" label="SHA-384"/>
  <int value="6" label="SHA-512"/>
</enum>

<enum name="SSLIsExpiredAndDecision" type="int">
  <int value="0" label="EXPIRED_AND_PROCEED"/>
  <int value="1" label="EXPIRED_AND_DO_NOT_PROCEED"/>
  <int value="2" label="NOT_EXPIRED_AND_PROCEED"/>
  <int value="3" label="NOT_EXPIRED_AND_DO_NOT_PROCEED"/>
</enum>

<enum name="SSLNegotiatedAlpnProtocol" type="int">
  <int value="0" label="ALPN not used"/>
  <int value="1" label="HTTP/1.1 negotiated via ALPN"/>
  <int value="2" label="HTTP/2 negotiated via ALPN"/>
</enum>

<enum name="SSLOrQUICVersion" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="SSL 2.0"/>
  <int value="2" label="SSL 3.0"/>
  <int value="3" label="TLS 1.0"/>
  <int value="4" label="TLS 1.1"/>
  <int value="5" label="TLS 1.2"/>
  <int value="6" label="TLS 1.3"/>
  <int value="7" label="QUIC"/>
</enum>

<enum name="SSLProtocolNegotiation" type="int">
  <int value="1" label="ALPN, HTTP/1.1"/>
  <int value="100" label="ALPN, SPDY 2.0"/>
  <int value="101" label="ALPN, SPDY 3.0"/>
  <int value="102" label="ALPN, SPDY 3.1"/>
  <int value="103" label="ALPN, HTTP/2 draft-14"/>
  <int value="104" label="ALPN, HTTP/2 draft-15"/>
  <int value="107" label="ALPN, HTTP/2"/>
  <int value="200" label="ALPN, QUIC/1 + SPDY/3"/>
  <int value="501" label="NPN, HTTP/1.1"/>
  <int value="600" label="NPN, SPDY 2.0"/>
  <int value="601" label="NPN, SPDY 3.0"/>
  <int value="602" label="NPN, SPDY 3.1"/>
  <int value="603" label="NPN, HTTP/2 draft-14"/>
  <int value="604" label="NPN, HTTP/2 draft-15"/>
  <int value="607" label="NPN, HTTP/2"/>
  <int value="700" label="NPN, QUIC/1 + SPDY/3"/>
  <int value="1001" label="NPN, fallback to HTTP/1.1"/>
  <int value="1100" label="NPN, fallback to SPDY 2.0"/>
  <int value="1101" label="NPN, fallback to SPDY 3.0"/>
  <int value="1102" label="NPN, fallback to SPDY 3.1"/>
  <int value="1103" label="NPN, fallback to HTTP/2 draft-14"/>
  <int value="1104" label="NPN, fallback to HTTP/2 draft-15"/>
  <int value="1107" label="NPN, fallback to HTTP/2"/>
  <int value="1200" label="NPN, fallback to QUIC/1 + SPDY/3"/>
</enum>

<enum name="SSLResponseTypesV2" type="int">
  <int value="0" label="SHOW_ALL"/>
  <int value="1" label="SHOW_OVERRIDABLE"/>
  <int value="2" label="PROCEED_OVERRIDABLE"/>
  <int value="3" label="PROCEED_NAME"/>
  <int value="4" label="PROCEED_DATE"/>
  <int value="5" label="PROCEED_AUTHORITY"/>
  <int value="6" label="DONT_PROCEED_OVERRIDABLE"/>
  <int value="7" label="DONT_PROCEED_NAME"/>
  <int value="8" label="DONT_PROCEED_DATE"/>
  <int value="9" label="DONT_PROCEED_AUTHORITY"/>
  <int value="10" label="MORE"/>
  <int value="11" label="SHOW_UNDERSTAND"/>
  <int value="12" label="SHOW_INTERNAL_HOSTNAME">
    As of M40, this now also includes dotless domains.
  </int>
  <int value="13" label="PROCEED_INTERNAL_HOSTNAME">
    As of M40, this now also includes dotless domains.
  </int>
  <int value="14" label="SHOW_NEW_SITE"/>
  <int value="15" label="PROCEED_NEW_SITE"/>
  <int value="16"
      label="User manually typed proceed (PROCEED_MANUAL_NONOVERRIDABLE)"/>
  <int value="17"
      label="Chrome captive portal detection enabled
             (DEPRECATED_CAPTIVE_PORTAL_DETECTION_ENABLED)"/>
  <int value="18"
      label="Chrome captive portal detection enabled on an overridable SSL
             error page
             (DEPRECATED_CAPTIVE_PORTAL_DETECTION_ENABLED_OVERRIDABLE)"/>
  <int value="19"
      label="Received a captive portal result
             (DEPRECATED_CAPTIVE_PORTAL_PROBE_COMPLETED)"/>
  <int value="20"
      label="Received a captive portal result on an overridable SSL error
             page (DEPRECATED_CAPTIVE_PORTAL_PROBE_COMPLETED_OVERRIDABLE)"/>
  <int value="21"
      label="Received no response or Non-HTTP login page
             (DEPRECATED_CAPTIVE_PORTAL_NO_RESPONSE)"/>
  <int value="22"
      label="Received no response or Non-HTTP login page on an overridable
             SSL error page
             (DEPRECATED_CAPTIVE_PORTAL_NO_RESPONSE_OVERRIDABLE)"/>
  <int value="23"
      label="Detected captive portal (DEPRECATED_CAPTIVE_PORTAL_DETECTED)"/>
  <int value="24"
      label="Detected captive portal on an overridable SSL error page
             (DEPRECATED_CAPTIVE_PORTAL_DETECTED_OVERRIDABLE)"/>
  <int value="25"
      label="Displayed clock interstitial. (DISPLAYED_CLOCK_INTERSTITIAL)"/>
</enum>

<enum name="SSLSignatureAlgorithm" type="int">
  <int value="513" label="rsa_pkcs1_sha1"/>
  <int value="515" label="ecdsa_sha1"/>
  <int value="1025" label="rsa_pkcs1_sha256"/>
  <int value="1027" label="ecdsa_secp256r1_sha256"/>
  <int value="1281" label="rsa_pkcs1_sha384"/>
  <int value="1283" label="ecdsa_secp384r1_sha384"/>
  <int value="1537" label="rsa_pkcs1_sha512"/>
  <int value="1539" label="ecdsa_secp521r1_sha512"/>
  <int value="1792" label="rsa_pss_sha256 (old)"/>
  <int value="1793" label="rsa_pss_sha384 (old)"/>
  <int value="1794" label="rsa_pss_sha512 (old)"/>
  <int value="2052" label="rsa_pss_sha256"/>
  <int value="2053" label="rsa_pss_sha384"/>
  <int value="2054" label="rsa_pss_sha512"/>
</enum>

<enum name="StarsLaunchLocation" type="int">
  <int value="0" label="All Items"/>
  <int value="1" label="Uncategorized"/>
  <int value="2" label="Folder"/>
  <int value="3" label="Filter"/>
  <int value="4" label="Search"/>
  <int value="5" label="Bookmark Editor"/>
  <int value="6" label="Omnibox"/>
</enum>

<enum name="StartupProfilingFinishReason" type="int">
  <int value="0" label="Done (all metrics gathered)"/>
  <int value="1"
      label="Abandoned because blocking UI was displayed on startup"/>
  <int value="2" label="Abandoned because profiled content was hidden"/>
  <int value="3" label="Abandoned because profiled content was destroyed"/>
  <int value="4"
      label="Abandoned because profiled content was navigated away from"/>
  <int value="5"
      label="Abandoned because profiled content failed to load its main
             resource"/>
</enum>

<enum name="StartupTemperature" type="int">
  <int value="0" label="Cold startup (mostly hard faults)"/>
  <int value="1" label="Warm startup (nearly no hard faults)"/>
  <int value="2" label="Lukewarm startup (in between cold and warm)"/>
</enum>

<enum name="StartupURLsMigration" type="int">
  <int value="0" label="Performed migration"/>
  <int value="1" label="No migration value"/>
  <int value="2" label="Reset migration"/>
</enum>

<enum name="State" type="int">
  <int value="0" label="Canceled"/>
  <int value="1" label="Dropped"/>
  <int value="2" label="Created"/>
  <int value="3" label="Unknown"/>
  <int value="4" label="Initializing"/>
  <int value="5" label="Connecting"/>
  <int value="6" label="Authenticated"/>
  <int value="7" label="Connected"/>
  <int value="8" label="Closed"/>
  <int value="9" label="Failed"/>
</enum>

<enum name="StateStoreInitResult" type="int">
  <int value="0"
      label="Kept pref: platform-specific store non-existent or not
             supported."/>
  <int value="1" label="Erased pref: platform-specific store was empty"/>
  <int value="2" label="Overwrote pref: platform-specific store differed"/>
  <int value="3" label="No pref change: was equal to platform-specific store"/>
</enum>

<enum name="StatusHeader" type="int">
  <int value="0" label="Headers do not include :status header field."/>
  <int value="1" label=":status header does not start with a number."/>
  <int value="2" label=":status header is an integer."/>
  <int value="3" label=":status header is an integer followed by text."/>
</enum>

<enum name="StayVsLeave" type="int">
  <int value="0" label="Stay on the current page"/>
  <int value="1" label="Leave the current page"/>
</enum>

<enum name="StyleSheetCacheStatus" type="int">
  <int value="0" label="No usable cache found"/>
  <int value="1" label="DiskCache served the CSS source"/>
  <int value="2" label="MemoryCached StyleSheetContents was reused"/>
</enum>

<enum name="SubresourceFilterActions" type="int">
  <int value="0" label="New Navigation"/>
  <int value="1" label="UI Shown"/>
  <int value="2" label="Details shown"/>
  <int value="3" label="Learn more clicked"/>
  <int value="4" label="Content setting blocked from UI"/>
  <int value="5" label="Content setting allowed"/>
  <int value="6" label="Content setting blocked"/>
  <int value="7" label="Content setting allowed (global)"/>
  <int value="8" label="Content setting blocked (global)"/>
  <int value="9" label="Content setting wildcard update"/>
</enum>

<enum name="SubresourceFilterActivationDecision" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Activated"/>
  <int value="2" label="Disabled"/>
  <int value="3" label="Unsupported scheme"/>
  <int value="4" label="URL whitelisted"/>
  <int value="5" label="Activation list not matched"/>
</enum>

<enum name="SubresourceFilterActivationState" type="int">
  <int value="0" label="Disabled"/>
  <int value="1" label="DryRun"/>
  <int value="2" label="Enabled"/>
</enum>

<enum name="SubresourceFilterMatchPattern" type="int">
  <int value="0" label="NoHit"/>
  <int value="1" label="Last"/>
  <int value="2" label="Middle"/>
  <int value="3" label="Middle_Last"/>
  <int value="4" label="First"/>
  <int value="5" label="First_Last"/>
  <int value="6" label="First_Middle"/>
  <int value="7" label="AllHits"/>
  <int value="8" label="NoRedirectsHit"/>
</enum>

<enum name="SubresourceFilterWriteRulesetResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="FailedCreatingScratchDir"/>
  <int value="2" label="FailedWritingRulesetData"/>
  <int value="3" label="FailedWritingLicense"/>
  <int value="4" label="FailedReplaceFile"/>
  <int value="5" label="FailedDeletePreexisting"/>
  <int value="6" label="FailedOpeningUnindexedRuleset"/>
  <int value="7" label="FailedParsingUnindexedRuleset"/>
  <int value="8" label="FailedCreatingVersionDir"/>
  <int value="9" label="FailedCreatingSentinelFile"/>
  <int value="10" label="FailedDeletingSentinelFile"/>
  <int value="11" label="AbortedBecauseSentinelFileWasPresent"/>
</enum>

<enum name="SuggestAppsDialogCloseReason" type="int">
  <int value="0" label="Unknown error"/>
  <int value="1" label="Item installed"/>
  <int value="2" label="User cancelled"/>
  <int value="3" label="Webstore link clicked"/>
</enum>

<enum name="SuggestAppsDialogInstall" type="int">
  <int value="0" label="Install succeeded"/>
  <int value="1" label="Install cancelled"/>
  <int value="2" label="Install failed"/>
</enum>

<enum name="SuggestAppsDialogLoad" type="int">
  <int value="0" label="Load succeeded"/>
  <int value="1" label="Load cancelled"/>
  <int value="2" label="Load failed"/>
</enum>

<enum name="SuggestionAnswerType" type="int">
  <summary>Type of Answer shown in omnibox suggestion list.</summary>
  <int value="1" label="Dictionary"/>
  <int value="2" label="Finance"/>
  <int value="3" label="Knowledge graph"/>
  <int value="5" label="Sports"/>
  <int value="6" label="Sunrise"/>
  <int value="7" label="Translation"/>
  <int value="8" label="Weather"/>
  <int value="9" label="When is"/>
  <int value="10" label="Currency"/>
</enum>

<enum name="SuggestionsResponseState" type="int">
  <int value="0" label="Empty response received from the server."/>
  <int value="1" label="Invalid response received from the server."/>
  <int value="2" label="Valid response received from the server."/>
</enum>

<enum name="SupervisedUserSafetyFilterResult" type="int">
  <int value="100" label="LINK_ALLOWED">Link; Allowed as safe</int>
  <int value="101" label="TYPED_ALLOWED">Typed URL; Allowed as safe</int>
  <int value="102" label="AUTO_BOOKMARK_ALLOWED">Bookmark; Allowed as safe</int>
  <int value="103" label="AUTO_SUBFRAME_ALLOWED">
    Subframe navigation; Allowed as safe
  </int>
  <int value="104" label="MANUAL_SUBFRAME_ALLOWED">
    Manual subframe navigation; Allowed as safe
  </int>
  <int value="105" label="GENERATED_ALLOWED">
    Generated from Omnibox; Allowed as safe
  </int>
  <int value="106" label="AUTO_TOPLEVEL_ALLOWED">
    Automatic toplevel navigation; Allowed as safe
  </int>
  <int value="107" label="FORM_SUBMIT_ALLOWED">
    Form submission; Allowed as safe
  </int>
  <int value="108" label="RELOAD_ALLOWED">Reload; Allowed as safe</int>
  <int value="109" label="KEYWORD_ALLOWED">
    Omnibox keyword; Allowed as safe
  </int>
  <int value="110" label="KEYWORD_GENERATED_ALLOWED">
    URL generated from Omnibox keyword; Allowed as safe
  </int>
  <int value="199" label="OTHER_ALLOWED">Other navigation; Allowed as safe</int>
  <int value="200" label="LINK_ALLOWED_UNKNOWN">
    Link; Allowed by default (safety state unknown)
  </int>
  <int value="201" label="TYPED_ALLOWED_UNKNOWN">
    Typed URL; Allowed by default (safety state unknown)
  </int>
  <int value="202" label="AUTO_BOOKMARK_ALLOWED_UNKNOWN">
    Bookmark; Allowed by default (safety state unknown)
  </int>
  <int value="203" label="AUTO_SUBFRAME_ALLOWED_UNKNOWN">
    Subframe navigation; Allowed by default (safety state unknown)
  </int>
  <int value="204" label="MANUAL_SUBFRAME_ALLOWED_UNKNOWN">
    Manual subframe navigation; Allowed by default (safety state unknown)
  </int>
  <int value="205" label="GENERATED_ALLOWED_UNKNOWN">
    Generated from Omnibox; Allowed by default (safety state unknown)
  </int>
  <int value="206" label="AUTO_TOPLEVEL_ALLOWED_UNKNOWN">
    Automatic toplevel navigation; Allowed by default (safety state unknown)
  </int>
  <int value="207" label="FORM_SUBMIT_ALLOWED_UNKNOWN">
    Form submission; Allowed by default (safety state unknown)
  </int>
  <int value="208" label="RELOAD_ALLOWED_UNKNOWN">
    Reload; Allowed by default (safety state unknown)
  </int>
  <int value="209" label="KEYWORD_ALLOWED_UNKNOWN">
    Omnibox keyword; Allowed by default (safety state unknown)
  </int>
  <int value="210" label="KEYWORD_GENERATED_ALLOWED_UNKNOWN">
    URL generated from Omnibox keyword; Allowed by default (safety state
    unknown)
  </int>
  <int value="299" label="OTHER_ALLOWED_UNKNOWN">
    Other navigation; Allowed by default (safety state unknown)
  </int>
  <int value="300" label="LINK_BLOCKED_BLACKLIST">
    Link; Blocked by static blacklist
  </int>
  <int value="301" label="TYPED_BLOCKED_BLACKLIST">
    Typed URL; Blocked by static blacklist
  </int>
  <int value="302" label="AUTO_BOOKMARK_BLOCKED_BLACKLIST">
    Bookmark; Blocked by static blacklist
  </int>
  <int value="303" label="AUTO_SUBFRAME_BLOCKED_BLACKLIST">
    Subframe navigation; Blocked by static blacklist
  </int>
  <int value="304" label="MANUAL_SUBFRAME_BLOCKED_BLACKLIST">
    Manual subframe navigation; Blocked by static blacklist
  </int>
  <int value="305" label="GENERATED_BLOCKED_BLACKLIST">
    Generated from Omnibox; Blocked by static blacklist
  </int>
  <int value="306" label="AUTO_TOPLEVEL_BLOCKED_BLACKLIST">
    Automatic toplevel navigation; Blocked by static blacklist
  </int>
  <int value="307" label="FORM_SUBMIT_BLOCKED_BLACKLIST">
    Form submission; Blocked by static blacklist
  </int>
  <int value="308" label="RELOAD_BLOCKED_BLACKLIST">
    Reload; Blocked by static blacklist
  </int>
  <int value="309" label="KEYWORD_BLOCKED_BLACKLIST">
    Omnibox keyword; Blocked by static blacklist
  </int>
  <int value="310" label="KEYWORD_GENERATED_BLOCKED_BLACKLIST">
    URL generated from Omnibox keyword; Blocked by static blacklist
  </int>
  <int value="399" label="OTHER_BLOCKED_BLACKLIST">
    Other navigation; Blocked by static blacklist
  </int>
  <int value="400" label="LINK_BLOCKED_SAFESITES">
    Link; Blocked by SafeSites
  </int>
  <int value="401" label="TYPED_BLOCKED_SAFESITES">
    Typed URL; Blocked by SafeSites
  </int>
  <int value="402" label="AUTO_BOOKMARK_BLOCKED_SAFESITES">
    Bookmark; Blocked by SafeSites
  </int>
  <int value="403" label="AUTO_SUBFRAME_BLOCKED_SAFESITES">
    Subframe navigation; Blocked by SafeSites
  </int>
  <int value="404" label="MANUAL_SUBFRAME_BLOCKED_SAFESITES">
    Manual subframe navigation; Blocked by SafeSites
  </int>
  <int value="405" label="GENERATED_BLOCKED_SAFESITES">
    Generated from Omnibox; Blocked by SafeSites
  </int>
  <int value="406" label="AUTO_TOPLEVEL_BLOCKED_SAFESITES">
    Automatic toplevel navigation; Blocked by SafeSites
  </int>
  <int value="407" label="FORM_SUBMIT_BLOCKED_SAFESITES">
    Form submission; Blocked by SafeSites
  </int>
  <int value="408" label="RELOAD_BLOCKED_SAFESITES">
    Reload; Blocked by SafeSites
  </int>
  <int value="409" label="KEYWORD_BLOCKED_SAFESITES">
    Omnibox keyword; Blocked by SafeSites
  </int>
  <int value="410" label="KEYWORD_GENERATED_BLOCKED_SAFESITES">
    URL generated from Omnibox keyword; Blocked by SafeSites
  </int>
  <int value="499" label="OTHER_BLOCKED_SAFESITES">
    Other navigation; Blocked by SafeSites
  </int>
  <int value="500" label="LINK_BLOCKED_MANUAL">
    Link; Blocked by manual exception
  </int>
  <int value="501" label="TYPED_BLOCKED_MANUAL">
    Typed URL; Blocked by manual exception
  </int>
  <int value="502" label="AUTO_BOOKMARK_BLOCKED_MANUAL">
    Bookmark; Blocked by manual exception
  </int>
  <int value="503" label="AUTO_SUBFRAME_BLOCKED_MANUAL">
    Subframe navigation; Blocked by manual exception
  </int>
  <int value="504" label="MANUAL_SUBFRAME_BLOCKED_MANUAL">
    Manual subframe navigation; Blocked by manual exception
  </int>
  <int value="505" label="GENERATED_BLOCKED_MANUAL">
    Generated from Omnibox; Blocked by manual exception
  </int>
  <int value="506" label="AUTO_TOPLEVEL_BLOCKED_MANUAL">
    Automatic toplevel navigation; Blocked by manual exception
  </int>
  <int value="507" label="FORM_SUBMIT_BLOCKED_MANUAL">
    Form submission; Blocked by manual exception
  </int>
  <int value="508" label="RELOAD_BLOCKED_MANUAL">
    Reload; Blocked by manual exception
  </int>
  <int value="509" label="KEYWORD_BLOCKED_MANUAL">
    Omnibox keyword; Blocked by manual exception
  </int>
  <int value="510" label="KEYWORD_GENERATED_BLOCKED_MANUAL">
    URL generated from Omnibox keyword; Blocked by manual exception
  </int>
  <int value="599" label="OTHER_BLOCKED_MANUAL">
    Other navigation; Blocked by manual exception
  </int>
  <int value="600" label="LINK_BLOCKED_DEFAULT">
    Link; Blocked by global settings
  </int>
  <int value="601" label="TYPED_BLOCKED_DEFAULT">
    Typed URL; Blocked by global settings
  </int>
  <int value="602" label="AUTO_BOOKMARK_BLOCKED_DEFAULT">
    Bookmark; Blocked by global settings
  </int>
  <int value="603" label="AUTO_SUBFRAME_BLOCKED_DEFAULT">
    Subframe navigation; Blocked by global settings
  </int>
  <int value="604" label="MANUAL_SUBFRAME_BLOCKED_DEFAULT">
    Manual subframe navigation; Blocked by global settings
  </int>
  <int value="605" label="GENERATED_BLOCKED_DEFAULT">
    Generated from Omnibox; Blocked by global settings
  </int>
  <int value="606" label="AUTO_TOPLEVEL_BLOCKED_DEFAULT">
    Automatic toplevel navigation; Blocked by global settings
  </int>
  <int value="607" label="FORM_SUBMIT_BLOCKED_DEFAULT">
    Form submission; Blocked by global settings
  </int>
  <int value="608" label="RELOAD_BLOCKED_DEFAULT">
    Reload; Blocked by global settings
  </int>
  <int value="609" label="KEYWORD_BLOCKED_DEFAULT">
    Omnibox keyword; Blocked by global settings
  </int>
  <int value="610" label="KEYWORD_GENERATED_BLOCKED_DEFAULT">
    URL generated from Omnibox keyword; Blocked by global settings
  </int>
  <int value="699" label="OTHER_BLOCKED_DEFAULT">
    Other navigation; Blocked by global settings
  </int>
  <int value="700" label="LINK_ALLOWED_WHITELIST">
    Link; Allowed by whitelist
  </int>
  <int value="701" label="TYPED_ALLOWED_WHITELIST">
    Typed URL; Allowed by whitelist
  </int>
  <int value="702" label="AUTO_BOOKMARK_ALLOWED_WHITELIST">
    Bookmark; Allowed by whitelist
  </int>
  <int value="703" label="AUTO_SUBFRAME_ALLOWED_WHITELIST">
    Subframe navigation; Allowed by whitelist
  </int>
  <int value="704" label="MANUAL_SUBFRAME_ALLOWED_WHITELIST">
    Manual subframe navigation; Allowed by whitelist
  </int>
  <int value="705" label="GENERATED_ALLOWED_WHITELIST">
    Generated from Omnibox; Allowed by whitelist
  </int>
  <int value="706" label="AUTO_TOPLEVEL_ALLOWED_WHITELIST">
    Automatic toplevel navigation; Allowed by whitelist
  </int>
  <int value="707" label="FORM_SUBMIT_ALLOWED_WHITELIST">
    Form submission; Allowed by whitelist
  </int>
  <int value="708" label="RELOAD_ALLOWED_WHITELIST">
    Reload; Allowed by whitelist
  </int>
  <int value="709" label="KEYWORD_ALLOWED_WHITELIST">
    Omnibox keyword; Allowed by whitelist
  </int>
  <int value="710" label="KEYWORD_GENERATED_ALLOWED_WHITELIST">
    URL generated from Omnibox keyword; Allowed by whitelist
  </int>
  <int value="799" label="OTHER_ALLOWED_WHITELIST">
    Other navigation; Allowed by whitelist
  </int>
</enum>

<enum name="SuspendAttempt" type="int">
  <int value="0" label="Attempted"/>
</enum>

<enum name="SuspendResult" type="int">
  <int value="0" label="Succeeded"/>
  <int value="1" label="Failed"/>
  <int value="2" label="Canceled (before writing wakeup count)"/>
  <int value="3" label="Canceled (after writing wakeup count)"/>
</enum>

<enum name="SuspendStatus" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Failure"/>
  <int value="2" label="Cancelled"/>
  <int value="3" label="Attempted"/>
</enum>

<enum name="SwapchainFormat" type="int">
  <int value="0" label="B8G8R8A8"/>
  <int value="1" label="YUY2"/>
</enum>

<enum name="SwReporterRunningTimeRegistryError" type="int">
  <int value="0" label="No error"/>
  <int value="1" label="Registry key invalid"/>
  <int value="2" label="Missing start time"/>
  <int value="3" label="Missing end time"/>
  <int value="4" label="Missing start and end times"/>
</enum>

<enum name="SwReporterStep" type="int">
  <int value="0" label="Explicit request"/>
  <int value="1" label="Startup retry"/>
  <int value="2" label="Retried too many times"/>
  <int value="3" label="Start execution"/>
  <int value="4" label="Failed to start"/>
  <int value="5" label="Registry exit code"/>
  <int value="6" label="Reset retries"/>
  <int value="7" label="Begin SRT download"/>
  <int value="8" label="No browser to show prompt"/>
  <int value="9" label="No local state"/>
  <int value="10" label="No prompt needed"/>
  <int value="11" label="No prompt field trial"/>
  <int value="12" label="Already prompted"/>
  <int value="13" label="Daily run"/>
  <int value="14" label="Added to menu"/>
</enum>

<enum name="SyncAttachmentStoreResult" type="int">
  <int value="0" label="SUCCESS"/>
  <int value="1" label="UNSPECIFIED_ERROR"/>
  <int value="2" label="STORE_INITIALIZATION_FAILED"/>
</enum>

<enum name="SyncAuthError" type="int">
  <int value="0"
      label="Number of times clients have encountered an Auth error."/>
  <int value="1" label="Number of times clients have fixed an auth error."/>
</enum>

<enum name="SyncBackendInitializeRestoreState" type="int">
  <int value="0" label="Expected restored types and found some"/>
  <int value="1" label="Expected restored types but found none"/>
  <int value="2" label="Did not expect restored types and found none"/>
  <int value="3" label="Did not expect restored types but found some"/>
</enum>

<enum name="SyncBookmarkModelSyncState" type="int">
  <summary>
    The state of the local bookmark model version compared to Sync. Corresponds
    to NativeModelSyncState in bookmark_model_associator.h.
  </summary>
  <int value="0" label="Local version is unset"/>
  <int value="1" label="Local version is in sync"/>
  <int value="2" label="Local version is behind"/>
  <int value="3" label="Local version is ahead"/>
</enum>

<enum name="SyncConfigureResult" type="int">
  <summary>
    Sync data type configure results. The codes are listed in
    data_type_controller.h with more details.
  </summary>
  <int value="0" label="OK"/>
  <int value="1" label="OK_FIRST_RUN"/>
  <int value="2" label="ASSOCIATION_FAILED"/>
  <int value="3" label="ABORTED"/>
  <int value="4" label="UNRECOVERABLE_ERROR"/>
  <int value="5" label="NEEDS_CRYPTO"/>
  <int value="6" label="RUNTIME_ERROR"/>
</enum>

<enum name="SyncConflictResolutions" type="int">
  <summary>
    Sync conflict resolutions. The codes are listed in conflict_resolution.h,
    and correspond to all the different ways a sync conflict can be resolved.
  </summary>
  <int value="0" label="Changes match"/>
  <int value="1" label="Use local"/>
  <int value="2" label="Use remote"/>
  <int value="3" label="Use new"/>
</enum>

<enum name="SyncCryptographerPendingKeysState" type="int">
  <int value="0" label="Does not have pending keys"/>
  <int value="1" label="Has pending keys"/>
</enum>

<enum name="SyncCryptographerReadyState" type="int">
  <int value="0" label="Not Ready"/>
  <int value="1" label="Ready"/>
</enum>

<enum name="SyncCustomEncryptionEvent" type="int">
  <int value="0" label="Default setup with an implicit passphrase"/>
  <int value="1" label="Advanced setup with a custom passphrase"/>
</enum>

<enum name="SyncDeferredInitTrigger" type="int">
  <int value="0" label="Data type requested init."/>
  <int value="1" label="Fallback timer triggered init."/>
</enum>

<enum name="SyncDirectoryOpenResult" type="int">
  <summary>Possible outcomes of an attempt to load the sync directory.</summary>
  <int value="0" label="FIRST_TRY_SUCCESS"/>
  <int value="1" label="SECOND_TRY_SUCCESS"/>
  <int value="2" label="SECOND_TRY_FAILURE"/>
</enum>

<enum name="SyncedNotificationActionType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Notification clicked"/>
  <int value="2" label="Notification button clicked"/>
  <int value="3" label="Notification closed by user"/>
  <int value="4" label="Notification closed by system"/>
</enum>

<enum name="SyncedSearchEngineDeleteEvent" type="int">
  <summary>Possible events that delete a synced search engine.</summary>
  <int value="0" label="USER_INITIATED"/>
  <int value="1" label="PRE_SYNC_DELETE"/>
  <int value="2" label="EMPTY_FIELD"/>
</enum>

<enum name="SyncErrorInfobarTypes" type="int">
  <summary>Possible errors that can trigger a sync error infobar.</summary>
  <int value="1" label="Sign in needs update"/>
  <int value="2" label="Service unavailable"/>
  <int value="3" label="Needs passphrase"/>
  <int value="4" label="Unrecoverable error"/>
</enum>

<enum name="SyncEventCode" type="int">
  <summary>
    Sync UI events. The codes are listed in profile_syncer_service.h with more
    details.
  </summary>
  <int value="1" label="START_FROM_NTP"/>
  <int value="2" label="START_FROM_WRENCH"/>
  <int value="3" label="START_FROM_OPTIONS"/>
  <int value="10" label="CANCEL_FROM_SIGNON_WITHOUT_AUTH"/>
  <int value="11" label="CANCEL_DURING_SIGNON"/>
  <int value="12" label="CANCEL_DURING_SIGNON_AFTER_MERGE"/>
  <int value="20" label="STOP_FROM_OPTIONS"/>
  <int value="21" label="STOP_FROM_ADVANCED_DIALOG"/>
  <int value="30" label="MERGE_AND_SYNC_NEEDED"/>
</enum>

<enum name="SyncFaviconsAvailable" type="int">
  <int value="0" label="Synced favicons full"/>
  <int value="1" label="Synced favicons not full"/>
</enum>

<enum name="SyncFSConflictResolutionPolicy" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="LastWriteWin"/>
  <int value="2" label="Manual"/>
</enum>

<enum name="SyncFSRemoteServiceState" type="int">
  <int value="0" label="OK"/>
  <int value="1" label="TemporaryUnavailable"/>
  <int value="2" label="AuthenticationRequired"/>
  <int value="3" label="Disabled"/>
</enum>

<enum name="SyncInitialState" type="int">
  <int value="0" label="Can attempt to start"/>
  <int value="1" label="No signed in user"/>
  <int value="2" label="Turned off by user"/>
  <int value="3" label="Turned off and setup not completed"/>
  <int value="4" label="Must confirm sync settings"/>
  <int value="5" label="Disallowed by enterprise policy"/>
  <int value="6" label="Disallowed by the platform"/>
</enum>

<enum name="SyncKeystoreDecryptionFailure" type="int">
  <int value="0" label="No keystore key"/>
  <int value="1" label="Unknown reason"/>
</enum>

<enum name="SyncModelTypes" type="int">
  <int value="0" label="Unspecified"/>
  <int value="1" label="Top Level Folder"/>
  <int value="2" label="Bookmarks"/>
  <int value="3" label="Preferences"/>
  <int value="4" label="Passwords"/>
  <int value="5" label="Autofill Profile"/>
  <int value="6" label="Autocomplete"/>
  <int value="7" label="Themes"/>
  <int value="8" label="Typed URLs"/>
  <int value="9" label="Extensions"/>
  <int value="10" label="Search Engines"/>
  <int value="11" label="Sessions"/>
  <int value="12" label="Apps"/>
  <int value="13" label="App Settings"/>
  <int value="14" label="Extension Settings"/>
  <int value="15" label="App Notifications"/>
  <int value="16" label="History Delete Directives"/>
  <int value="17" label="Nigori"/>
  <int value="18" label="Device Information"/>
  <int value="19" label="Experiments"/>
  <int value="20" label="Synced Notifications"/>
  <int value="21" label="Priority Preferences"/>
  <int value="22" label="Dictionary"/>
  <int value="23" label="Favicon Images"/>
  <int value="24" label="Favicon Tracking"/>
  <int value="25" label="Proxy Tabs"/>
  <int value="26" label="Managed User Settings"/>
  <int value="27" label="Managed Users"/>
  <int value="28" label="Articles"/>
  <int value="29" label="App List"/>
  <int value="30" label="Managed User Shared Settings"/>
  <int value="31" label="Synced Notification App Info"/>
  <int value="32" label="Wifi Credentials"/>
  <int value="33" label="Managed User Whitelists"/>
  <int value="34" label="Autofill Wallet"/>
  <int value="35" label="Autofill Wallet Metadata"/>
  <int value="36" label="Arc Package"/>
  <int value="37" label="Printers"/>
  <int value="38" label="Reading List"/>
  <int value="39" label="User Events"/>
</enum>

<enum name="SyncModelTypeStoreInitResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Not found"/>
  <int value="2" label="Corruption"/>
  <int value="3" label="Not supported"/>
  <int value="4" label="Invalid argument"/>
  <int value="5" label="IO error"/>
  <int value="6" label="Schema descriptor issue"/>
  <int value="7" label="Migration failed"/>
  <int value="8" label="Unknown error"/>
  <int value="9" label="Store recovered after corruption"/>
</enum>

<enum name="SyncNigoriMigrationResult" type="int">
  <int value="0" label="Failed to set default encryption key"/>
  <int value="1" label="Failed to set nondefault encryption key"/>
  <int value="2" label="Failed to extract keystore decryptor"/>
  <int value="3" label="Failed to extract encryption keybag"/>
  <int value="4"
      label="Successfully migrated to non-backwards compatible keystore mode"/>
  <int value="5"
      label="Successfully migrated to backwards compatible keystore mode"/>
  <int value="6" label="Successfully migrated with frozen implicit passphrase"/>
  <int value="7" label="Successfully migrated with custom passphrase"/>
</enum>

<enum name="SyncNigoriMigrationState" type="int">
  <int value="0" label="Fully migrated"/>
  <int value="1" label="Not migrated due to cryptographer not ready"/>
  <int value="2" label="Not migrated due to missing keystore key"/>
  <int value="3" label="Not migrated for an unknown reason"/>
</enum>

<enum name="SyncPassphraseDismissal" type="int">
  <int value="0" label="Passphrase accepted"/>
  <int value="1" label="Cancel with wrong passphrase error"/>
  <int value="2" label="Cancel without any passphrase attempted"/>
  <int value="3" label="Followed reset link"/>
</enum>

<enum name="SyncPassphraseType" type="int">
  <int value="0" label="IMPLICIT_PASSPHRASE"/>
  <int value="1" label="KEYSTORE_PASSPHRASE"/>
  <int value="2" label="FROZEN_IMPLICIT_PASSPHRASE"/>
  <int value="3" label="CUSTOM_PASSPHRASE"/>
</enum>

<enum name="SyncPromoAction" type="int">
  <int value="0" label="The promo was shown to the user"/>
  <int value="1" label="The user clicked the promo to sign in"/>
</enum>

<enum name="SyncSimpleConflictResolutions" type="int">
  <summary>
    Sync simple conflict resolutions. The codes are listed in
    conflict_resolver.h, and correspond to the different methods we have for
    resolving simple sync conflicts.
  </summary>
  <int value="0" label="Overwrite local"/>
  <int value="1" label="Overwrite server"/>
  <int value="2" label="Undelete"/>
  <int value="3" label="Ignore encryption"/>
  <int value="4" label="Nigori merge"/>
  <int value="5" label="Changes match"/>
</enum>

<enum name="SyncStartResult" type="int">
  <summary>
    Sync data type start results. The codes are listed in data_type_controller.h
    with more details.
  </summary>
  <int value="0" label="OK"/>
  <int value="1" label="OK_FIRST_RUN"/>
  <int value="2" label="BUSY"/>
  <int value="3" label="NOT_ENABLED"/>
  <int value="4" label="ASSOCIATION_FAILED"/>
  <int value="5" label="ABORTED"/>
  <int value="6" label="UNRECOVERABLE_ERROR"/>
  <int value="7" label="NEEDS_CRYPTO"/>
</enum>

<enum name="SyncStopSource" type="int">
  <int value="0" label="Profile destruction"/>
  <int value="1" label="Sign out"/>
  <int value="2" label="Birthday error"/>
  <int value="3" label="Chrome sync settings"/>
  <int value="4" label="Android Chrome sync setting"/>
  <int value="5" label="Android master sync setting"/>
</enum>

<enum name="SyncUnrecoverableErrorReason" type="int">
  <summary>Reasons for sync unrecoverable errors.</summary>
  <int value="0" label="No error"/>
  <int value="1" label="Syncer error"/>
  <int value="2" label="Backend initialization error"/>
  <int value="3" label="Configuration retry"/>
  <int value="4" label="Configuration failure"/>
  <int value="5" label="Actionable error"/>
</enum>

<enum name="SystemLogPIIType" type="int">
  <obsolete>
    Deprecated and removed from code as of 01/2016.
  </obsolete>
  <int value="0" label="Email address"/>
  <int value="1" label="IP address"/>
  <int value="2" label="Web URL"/>
  <int value="3" label="SSID"/>
</enum>

<enum name="SystemMenuDefaultViewRows" type="int">
  <int value="0" label="NOT_RECORDED - Should not be recorded"/>
  <int value="1" label="TEST - Should not be recorded"/>
  <int value="2" label="Accessibility"/>
  <int value="3" label="Audio"/>
  <int value="4" label="Bluetooth"/>
  <int value="5" label="Caps lock"/>
  <int value="6" label="Cast"/>
  <int value="7" label="Date"/>
  <int value="8" label="Display settings"/>
  <int value="9" label="Display brightness"/>
  <int value="10" label="Enterprise"/>
  <int value="11" label="IME"/>
  <int value="12" label="Multi profile media"/>
  <int value="13" label="Network"/>
  <int value="14" label="Settings"/>
  <int value="15" label="Update"/>
  <int value="16" label="Power"/>
  <int value="17" label="Rotation lock"/>
  <int value="18" label="Screen capture"/>
  <int value="19" label="Screen share"/>
  <int value="20" label="Session length limit"/>
  <int value="21" label="SMS"/>
  <int value="22" label="Supervised user"/>
  <int value="23" label="Tracing"/>
  <int value="24" label="User"/>
  <int value="25" label="VPN"/>
</enum>

<enum name="SystemNotificationType" type="int">
  <int value="0" label="Downloads - Files"/>
  <int value="1" label="Downloads - Pages"/>
  <int value="2" label="Close Incognito Tabs"/>
  <int value="3" label="Content Suggestion"/>
</enum>

<enum name="TabBackgroundLoadStatus" type="int">
  <int value="0" label="Loaded on creation and shown"/>
  <int value="1" label="Loaded on creation and lost"/>
  <int value="2" label="Not loaded on creation"/>
</enum>

<enum name="TabDiscardingEvents" type="int">
  <int value="0" label="Switched to an active tab"/>
  <int value="1" label="Switched to a discarded tab"/>
  <int value="2" label="Discarded a tab"/>
  <int value="3"
      label="Discarded a tab playing audio (included in the previous one)"/>
</enum>

<enum name="TabRendererCrashStatus" type="int">
  <int value="0" label="Shown in foreground app"/>
  <int value="1" label="Hidden in foreground app"/>
  <int value="2" label="Hidden in background app"/>
</enum>

<enum name="TabRendererExitStatus" type="int">
  <int value="0" label="OOM protected in running app"/>
  <int value="1" label="OOM protected in paused app"/>
  <int value="2" label="OOM protected in background app"/>
  <int value="3" label="Not protected in running app"/>
  <int value="4" label="Not protected in paused app"/>
  <int value="5" label="Not protected in background app"/>
</enum>

<enum name="TabRestoreResult" type="int">
  <int value="0" label="Failure (other)"/>
  <int value="1" label="Success"/>
  <int value="2" label="Failure due to network connectivity"/>
</enum>

<enum name="TabRestoreUserAction" type="int">
  <int value="0" label="Wait for completion"/>
  <int value="1" label="Leave tab (close tab/switch tab/go to tab switcher)"/>
  <int value="2" label="Leave Chrome"/>
</enum>

<enum name="TabStatus" type="int">
  <int value="0" label="Memory resident"/>
  <int value="1" label="Evicted and reloaded"/>
  <int value="2" label="Reloaded due to cold start"/>
  <int value="3" label="Partially evicted"/>
  <int value="4" label="Reloaded due to backgrounding"/>
  <int value="5" label="Reloaded due to incognito"/>
  <int value="6" label="Reloaded due to cold start (fg tab on start)"/>
  <int value="7" label="Reloaded due to cold start (bg tab on switch)"/>
  <int value="8" label="Lazy load for 'Open in new tab'"/>
  <int value="9" label="Stopped due to page loading when backgrounding"/>
  <int value="10" label="Evicted due to page loading when backgrounding"/>
  <int value="11" label="Evicted due to OS terminating the renderer."/>
</enum>

<enum name="TabStripState" type="int">
  <int value="0" label="Initial state"/>
  <int value="1" label="Tab is active, shown foreground."/>
  <int value="2" label="Tab is inactive, in background."/>
  <int value="3" label="Tab is detached from tab-strip."/>
  <int value="4" label="Tab is closed."/>
</enum>

<enum name="TabSwitchedToForegroundLaunchedWithURL" type="int">
  <obsolete>
    Deprecated as of 04/2014.
  </obsolete>
  <int value="0" label="Launched without an URL"/>
  <int value="1" label="Launched with an URL"/>
</enum>

<enum name="TabSwitchedToForegroundRevisit" type="int">
  <obsolete>
    Deprecated as of 04/2014.
  </obsolete>
  <int value="0" label="First time"/>
  <int value="1" label="Revisit"/>
</enum>

<enum name="TapDelayType" type="int">
  <int value="0" label="Delayed Tap"/>
  <int value="1" label="Undelayed Tap"/>
</enum>

<enum name="TapDisambiguation" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="Back Button"/>
  <int value="2" label="Tapped Outside"/>
  <int value="3" label="Tapped Inside (deprecated)"/>
  <int value="4" label="Tapped Inside, Same Node"/>
  <int value="5" label="Tapped Inside, Different Node"/>
</enum>

<enum name="TcpSocketStatus" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Fast Connection Return"/>
  <int value="2" label="Slow Connection Return"/>
  <int value="3" label="Connection Error"/>
  <int value="4" label="Syn Data Acknowledged"/>
  <int value="5" label="Syn Data Nacked"/>
  <int value="6" label="Syn Data Getsockopt Failed"/>
  <int value="7" label="No Syn Data + Ack (can't happen)"/>
  <int value="8" label="No Syn Data + Nack"/>
  <int value="9" label="No Syn Data + Getsockopt Failed"/>
  <int value="10" label="Fast Connect + Read Failed"/>
  <int value="11" label="Slow Connect + Read Failed"/>
  <int value="12" label="Previously Failed"/>
</enum>

<enum name="TempFileFailure" type="int">
  <int value="0" label="Creating"/>
  <int value="1" label="Opening"/>
  <int value="2" label="Closing (unused)"/>
  <int value="3" label="Writing"/>
  <int value="4" label="Renaming"/>
  <int value="5" label="Flushing"/>
</enum>

<enum name="ThreadType" type="int">
  <int value="0" label="UI"/>
  <int value="1" label="Blocking"/>
</enum>

<enum name="ThrottleInfobarResponse" type="int">
  <int value="0" label="No response"/>
  <int value="1" label="Try again"/>
  <int value="2" label="Wait"/>
  <int value="3" label="Infobar dismissed"/>
</enum>

<enum name="TileMemoryBudget" type="int">
  <int value="0" label="Within memory budget"/>
  <int value="1" label="Exceeded memory budget"/>
</enum>

<enum name="TimeZoneRequestEvent" type="int">
  <int value="0" label="Request start"/>
  <int value="1" label="Response success"/>
  <int value="2" label="Response not OK"/>
  <int value="3" label="Response empty"/>
  <int value="4" label="Response malformed"/>
</enum>

<enum name="TimeZoneRequestResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Failure"/>
  <int value="2" label="Server error"/>
  <int value="3" label="Request is cancelled."/>
</enum>

<enum name="TLSRenegotiationPatched" type="int">
  <int value="0" label="Not renegotiation patched"/>
  <int value="1" label="Renegotiation patched"/>
</enum>

<enum name="TokenBinding.KeyMatch" type="int">
  <int value="0" label="No keys"/>
  <int value="1" label="Keys match"/>
  <int value="2" label="Socket (Channel ID) key missing"/>
  <int value="3" label="Request (Token Binding) key missing"/>
  <int value="4" label="Keys present but don't match"/>
  <int value="5" label="Error looking up request key"/>
</enum>

<enum name="TokenBinding.StoreEphemerality" type="int">
  <int value="0" label="CID_EPHEMERAL_COOKIE_EPHEMERAL">
    This value has been deprecated and replaced by EPHEMERAL_MATCH and
    EPHEMERAL_MISMATCH.
  </int>
  <int value="1" label="CID_EPHEMERAL_COOKIE_PERSISTENT"/>
  <int value="2" label="CID_PERSISTENT_COOKIE_EPHEMERAL"/>
  <int value="3" label="CID_PERSISTENT_COOKIE_PERSISTENT">
    This value has been deprecated and replaced by PERSISTENT_MATCH and
    PERSISTENT_MISMATCH.
  </int>
  <int value="4" label="NO_COOKIE_STORE"/>
  <int value="5" label="NO_CHANNEL_ID_STORE"/>
  <int value="6" label="KNOWN_MISMATCH"/>
  <int value="7" label="EPHEMERAL_MATCH"/>
  <int value="8" label="EPHEMERAL_MISMATCH"/>
  <int value="9" label="PERSISTENT_MATCH"/>
  <int value="10" label="PERSISTENT_MISMATCH"/>
  <int value="11" label="EPHEMERAL_UNKNOWN"/>
  <int value="12" label="PERSISTENT_UNKNOWN"/>
</enum>

<enum name="TokenBinding.Support" type="int">
  <int value="0" label="DISABLED"/>
  <int value="1" label="CLIENT_ONLY"/>
  <int value="2" label="CLIENT_AND_SERVER"/>
  <int value="3" label="CLIENT_NO_CHANNEL_ID_SERVICE"/>
</enum>

<enum name="TouchEventDispatchResultType" type="int">
  <int value="0" label="Unhandled touch events"/>
  <int value="1" label="Handled touch events"/>
</enum>

<enum name="TouchEventFeatureDetectionState" type="int">
  <int value="0" label="Enabled"/>
  <int value="1" label="Automatic - enabled"/>
  <int value="2" label="Automatic - disabled"/>
  <int value="3" label="Disabled"/>
</enum>

<enum name="TouchpadDeviceState" type="int">
  <int value="0" label="NO_TP_PRESENT_NO_TP_EXPECTED">
    No touchpad detected on a device without built-in touchpad
  </int>
  <int value="1" label="TP_PRESENT_NO_TP_EXPECTED">
    External touchpad detected on a device without built-in touchpad
  </int>
  <int value="2" label="NO_TP_PRESENT_TP_EXPECTED_BOOT">
    Built-in touchpad not detected at boot time on a device with built-in
    touchpad (touchpad failure at boot time)
  </int>
  <int value="3" label="TP_PRESENT_TP_EXPECTED_BOOT">
    Built-in touchpad detected at boot time on a device with built-in touchpad
  </int>
  <int value="4" label="NO_TP_PRESENT_TP_EXPECTED_RESUME">
    Built-in touchpad not detected at resume time on a device with built-in
    touchpad (touchpad failure at resume time)
  </int>
  <int value="5" label="TP_PRESENT_TP_EXPECTED_RESUME">
    Built-in touchpad detected at resume time on a device with built-in touchpad
  </int>
</enum>

<enum name="TouchpadProblemType" type="int">
  <int value="0" label="All events">
    All observed input events from touchpad. Serves as a reference.
  </int>
  <int value="1" label="Noisy Ground">
    The touchpad noise events (e.g. abrupt cursor jumps) caused by the noisy
    ground.
  </int>
</enum>

<enum name="TouchTargetAndDispatchResultType" type="int">
  <int value="0"
      label="Non-root-scroller, non-scrollable document, not handled"/>
  <int value="1"
      label="Non-root-scroller, non-scrollable document, handled application"/>
  <int value="2" label="Non-root-scroller, scrollable document, not handled"/>
  <int value="3"
      label="Non-root-scroller, scrollable document, handled application"/>
  <int value="4" label="Root-scroller, non-scrollable document, not handled"/>
  <int value="5"
      label="Root-scroller, non-scrollable document, handled application"/>
  <int value="6" label="Root-scroller, scrollable document, not handled"/>
  <int value="7"
      label="Root-scroller, scrollable document, handled application"/>
</enum>

<enum name="TouchTargetAndDispatchResultType2" type="int">
  <int value="0"
      label="Capturing Non-root-scroller, non-scrollable document, already
             handled"/>
  <int value="1"
      label="Capturing Non-root-scroller, non-scrollable document, not
             handled"/>
  <int value="2"
      label="Capturing Non-root-scroller, non-scrollable document, handled
             application"/>
  <int value="3"
      label="Capturing Non-root-scroller, scrollable document, already
             handled"/>
  <int value="4"
      label="Capturing Non-root-scroller, scrollable document, not handled"/>
  <int value="5"
      label="Capturing Non-root-scroller, scrollable document, handled
             application"/>
  <int value="6"
      label="Capturing Root-scroller, non-scrollable document, already
             handled"/>
  <int value="7"
      label="Capturing Root-scroller, non-scrollable document, not handled"/>
  <int value="8"
      label="Capturing Root-scroller, non-scrollable document, handled
             application"/>
  <int value="9"
      label="Capturing Root-scroller, scrollable document, already handled"/>
  <int value="10"
      label="Capturing Root-scroller, scrollable document, not handled"/>
  <int value="11"
      label="Capturing Root-scroller, scrollable document, handled
             application"/>
  <int value="12"
      label="Non-root-scroller, non-scrollable document, already handled"/>
  <int value="13"
      label="Non-root-scroller, non-scrollable document, not handled"/>
  <int value="14"
      label="Non-root-scroller, non-scrollable document, handled application"/>
  <int value="15"
      label="Non-root-scroller, scrollable document, already handled"/>
  <int value="16" label="Non-root-scroller, scrollable document, not handled"/>
  <int value="17"
      label="Non-root-scroller, scrollable document, handled application"/>
  <int value="18"
      label="Root-scroller, non-scrollable document, already handled"/>
  <int value="19" label="Root-scroller, non-scrollable document, not handled"/>
  <int value="20"
      label="Root-scroller, non-scrollable document, handled application"/>
  <int value="21" label="Root-scroller, scrollable document, already handled"/>
  <int value="22" label="Root-scroller, scrollable document, not handled"/>
  <int value="23"
      label="Root-scroller, scrollable document, handled application"/>
  <int value="24"
      label="Bubbling Non-root-scroller, non-scrollable document, already
             handled"/>
  <int value="25"
      label="Bubbling Non-root-scroller, non-scrollable document, not handled"/>
  <int value="26"
      label="Bubbling Non-root-scroller, non-scrollable document, handled
             application"/>
  <int value="27"
      label="Bubbling Non-root-scroller, scrollable document, already handled"/>
  <int value="28"
      label="Bubbling Non-root-scroller, scrollable document, not handled"/>
  <int value="29"
      label="Bubbling Non-root-scroller, scrollable document, handled
             application"/>
  <int value="30"
      label="Bubbling Root-scroller, non-scrollable document, already handled"/>
  <int value="31"
      label="Bubbling Root-scroller, non-scrollable document, not handled"/>
  <int value="32"
      label="Bubbling Root-scroller, non-scrollable document, handled
             application"/>
  <int value="33"
      label="Bubbling Root-scroller, scrollable document, already handled"/>
  <int value="34"
      label="Bubbling Root-scroller, scrollable document, not handled"/>
  <int value="35"
      label="Bubbling Root-scroller, scrollable document, handled application"/>
</enum>

<enum name="TPMResultCodeEnum" type="int">
  <int value="0" label="TPM_SUCCESS"/>
  <int value="1" label="TPM_E_AUTHFAIL"/>
  <int value="2" label="TPM_E_BADINDEX"/>
  <int value="3" label="TPM_E_BAD_PARAMETER"/>
  <int value="4" label="TPM_E_AUDITFAILURE"/>
  <int value="5" label="TPM_E_CLEAR_DISABLED"/>
  <int value="6" label="TPM_E_DEACTIVATED"/>
  <int value="7" label="TPM_E_DISABLED"/>
  <int value="8" label="TPM_E_DISABLED_CMD"/>
  <int value="9" label="TPM_E_FAIL"/>
  <int value="10" label="TPM_E_BAD_ORDINAL"/>
  <int value="11" label="TPM_E_INSTALL_DISABLED"/>
  <int value="12" label="TPM_E_INVALID_KEYHANDLE"/>
  <int value="13" label="TPM_E_KEYNOTFOUND"/>
  <int value="14" label="TPM_E_INAPPROPRIATE_ENC"/>
  <int value="15" label="TPM_E_MIGRATEFAIL"/>
  <int value="16" label="TPM_E_INVALID_PCR_INFO"/>
  <int value="17" label="TPM_E_NOSPACE"/>
  <int value="18" label="TPM_E_NOSRK"/>
  <int value="19" label="TPM_E_NOTSEALED_BLOB"/>
  <int value="20" label="TPM_E_OWNER_SET"/>
  <int value="21" label="TPM_E_RESOURCES"/>
  <int value="22" label="TPM_E_SHORTRANDOM"/>
  <int value="23" label="TPM_E_SIZE"/>
  <int value="24" label="TPM_E_WRONGPCRVAL"/>
  <int value="25" label="TPM_E_BAD_PARAM_SIZE"/>
  <int value="26" label="TPM_E_SHA_THREAD"/>
  <int value="27" label="TPM_E_SHA_ERROR"/>
  <int value="28" label="TPM_E_FAILEDSELFTEST"/>
  <int value="29" label="TPM_E_AUTH2FAIL"/>
  <int value="30" label="TPM_E_BADTAG"/>
  <int value="31" label="TPM_E_IOERROR"/>
  <int value="32" label="TPM_E_ENCRYPT_ERROR"/>
  <int value="33" label="TPM_E_DECRYPT_ERROR"/>
  <int value="34" label="TPM_E_INVALID_AUTHHANDLE"/>
  <int value="35" label="TPM_E_NO_ENDORSEMENT"/>
  <int value="36" label="TPM_E_INVALID_KEYUSAGE"/>
  <int value="37" label="TPM_E_WRONG_ENTITYTYPE"/>
  <int value="38" label="TPM_E_INVALID_POSTINIT"/>
  <int value="39" label="TPM_E_INAPPROPRIATE_SIG"/>
  <int value="40" label="TPM_E_BAD_KEY_PROPERTY"/>
  <int value="41" label="TPM_E_BAD_MIGRATION"/>
  <int value="42" label="TPM_E_BAD_SCHEME"/>
  <int value="43" label="TPM_E_BAD_DATASIZE"/>
  <int value="44" label="TPM_E_BAD_MODE"/>
  <int value="45" label="TPM_E_BAD_PRESENCE"/>
  <int value="46" label="TPM_E_BAD_VERSION"/>
  <int value="47" label="TPM_E_NO_WRAP_TRANSPORT"/>
  <int value="48" label="TPM_E_AUDITFAIL_UNSUCCESSFUL"/>
  <int value="49" label="TPM_E_AUDITFAIL_SUCCESSFUL"/>
  <int value="50" label="TPM_E_NOTRESETABLE"/>
  <int value="51" label="TPM_E_NOTLOCAL"/>
  <int value="52" label="TPM_E_BAD_TYPE"/>
  <int value="53" label="TPM_E_INVALID_RESOURCE"/>
  <int value="54" label="TPM_E_NOTFIPS"/>
  <int value="55" label="TPM_E_INVALID_FAMILY"/>
  <int value="56" label="TPM_E_NO_NV_PERMISSION"/>
  <int value="57" label="TPM_E_REQUIRES_SIGN"/>
  <int value="58" label="TPM_E_KEY_NOTSUPPORTED"/>
  <int value="59" label="TPM_E_AUTH_CONFLICT"/>
  <int value="60" label="TPM_E_AREA_LOCKED"/>
  <int value="61" label="TPM_E_BAD_LOCALITY"/>
  <int value="62" label="TPM_E_READ_ONLY"/>
  <int value="63" label="TPM_E_PER_NOWRITE"/>
  <int value="64" label="TPM_E_FAMILYCOUNT"/>
  <int value="65" label="TPM_E_WRITE_LOCKED"/>
  <int value="66" label="TPM_E_BAD_ATTRIBUTES"/>
  <int value="67" label="TPM_E_INVALID_STRUCTURE"/>
  <int value="68" label="TPM_E_KEY_OWNER_CONTROL"/>
  <int value="69" label="TPM_E_BAD_COUNTER"/>
  <int value="70" label="TPM_E_NOT_FULLWRITE"/>
  <int value="71" label="TPM_E_CONTEXT_GAP"/>
  <int value="72" label="TPM_E_MAXNVWRITES"/>
  <int value="73" label="TPM_E_NOOPERATOR"/>
  <int value="74" label="TPM_E_RESOURCEMISSING"/>
  <int value="75" label="TPM_E_DELEGATE_LOCK"/>
  <int value="76" label="TPM_E_DELEGATE_FAMILY"/>
  <int value="77" label="TPM_E_DELEGATE_ADMIN"/>
  <int value="78" label="TPM_E_TRANSPORT_NOTEXCLUSIVE"/>
  <int value="79" label="TPM_E_OWNER_CONTROL"/>
  <int value="80" label="TPM_E_DAA_RESOURCES"/>
  <int value="81" label="TPM_E_DAA_INPUT_DATA0"/>
  <int value="82" label="TPM_E_DAA_INPUT_DATA1"/>
  <int value="83" label="TPM_E_DAA_ISSUER_SETTINGS"/>
  <int value="84" label="TPM_E_DAA_TPM_SETTINGS"/>
  <int value="85" label="TPM_E_DAA_STAGE"/>
  <int value="86" label="TPM_E_DAA_ISSUER_VALIDITY"/>
  <int value="87" label="TPM_E_DAA_WRONG_W"/>
  <int value="88" label="TPM_E_BAD_HANDLE"/>
  <int value="89" label="TPM_E_BAD_DELEGATE"/>
  <int value="90" label="TPM_E_BADCONTEXT"/>
  <int value="91" label="TPM_E_TOOMANYCONTEXTS"/>
  <int value="92" label="TPM_E_MA_TICKET_SIGNATURE"/>
  <int value="93" label="TPM_E_MA_DESTINATION"/>
  <int value="94" label="TPM_E_MA_SOURCE"/>
  <int value="95" label="TPM_E_MA_AUTHORITY"/>
  <int value="97" label="TPM_E_PERMANENTEK"/>
  <int value="98" label="TPM_E_BAD_SIGNATURE"/>
  <int value="99" label="TPM_E_NOCONTEXTSPACE"/>
  <int value="2048" label="TPM_E_RETRY"/>
  <int value="2049" label="TPM_E_NEEDS_SELFTEST"/>
  <int value="2050" label="TPM_E_DOING_SELFTEST"/>
  <int value="2051" label="TPM_E_DEFEND_LOCK_RUNNING"/>
</enum>

<enum name="TrackedPreference" type="int">
  <int value="0" label="kShowHomeButton"/>
  <int value="1" label="kHomePageIsNewTabPage"/>
  <int value="2" label="kHomePage"/>
  <int value="3" label="kRestoreOnStartup"/>
  <int value="4" label="kURLsToRestoreOnStartup"/>
  <int value="5" label="extensions::pref_names::kExtensions"/>
  <int value="6" label="kGoogleServicesLastUsername"/>
  <int value="7" label="kSearchProviderOverrides"/>
  <int value="8" label="kDefaultSearchProviderSearchURL (Obsolete 12/2016)"/>
  <int value="9" label="kDefaultSearchProviderKeyword (Obsolete 12/2016)"/>
  <int value="10" label="kDefaultSearchProviderName (Obsolete 12/2016)"/>
  <int value="11" label="kPinnedTabs"/>
  <int value="12" label="kKnownDisabled (Obsolete 07/2014)"/>
  <int value="13" label="kProfileResetPromptMemento (Obsolete 11/2015)"/>
  <int value="14" label="kDefaultSearchProviderDataPrefName"/>
  <int value="15" label="kPreferenceResetTime"/>
  <int value="16" label="kSafeBrowsingIncidentReportSent"/>
  <int value="17" label="kSyncRemainingRollbackTries"/>
  <int value="18" label="kSafeBrowsingIncidentsSent"/>
  <int value="19" label="kSwReporterPromptVersion"/>
  <int value="20" label="kSwReporterPromptReason"/>
  <int value="21" label="kGoogleServicesUsername"/>
  <int value="22" label="kSwReporterPromptSeed"/>
  <int value="23" label="kGoogleServicesAccountId"/>
  <int value="24" label="kGoogleServicesLastAccountId"/>
  <int value="25" label="kSettingsResetPromptPromptWave"/>
  <int value="26" label="kSettingsResetPromptLastTriggeredForDefaultSearch"/>
  <int value="27" label="kSettingsResetPromptLastTriggeredForStartupUrls"/>
  <int value="28" label="kSettingsResetPromptLastTriggeredForHomepage"/>
</enum>

<enum name="TranslateBubbleUiEvent" type="int">
  <int value="1" label="Switch to Options page"/>
  <int value="2" label="Leave Options page"/>
  <int value="3" label="Advanced Link clicked"/>
  <int value="4" label="Always Translate checked"/>
  <int value="5" label="Always Translate unchecked"/>
  <int value="6" label="Nope menu clicked"/>
  <int value="7" label="Never Translate Language menu clicked"/>
  <int value="8" label="Never Translate This Site menu clicked"/>
  <int value="9" label="Translate button clicked"/>
  <int value="10" label="Done button clicked"/>
  <int value="11" label="Cancel button clicked"/>
  <int value="12" label="Close button clicked"/>
  <int value="13" label="Try Again button clicked"/>
  <int value="14" label="Show Original button clicked"/>
  <int value="15" label="Language Settings link clicked"/>
  <int value="16" label="Source Language menu clicked"/>
  <int value="17" label="Target Language menu clicked"/>
  <int value="18" label="Page Action icon activated"/>
  <int value="19" label="Page Action icon deactivated"/>
  <int value="20" label="Bubble was shown"/>
  <int value="21" label="Bubble not shown: window is no longer valid"/>
  <int value="22" label="Bubble not shown: window is minimized"/>
  <int value="23" label="Bubble not shown: window is not active"/>
  <int value="24" label="Bubble not shown: web contents not active"/>
  <int value="25" label="Bubble not shown: editable field is active"/>
</enum>

<enum name="TranslateError" type="int">
  <int value="0" label="No error"/>
  <int value="1" label="Network error"/>
  <int value="2" label="Initialization error"/>
  <int value="3" label="Unknown language"/>
  <int value="4" label="Unsupported language"/>
  <int value="5" label="Identical language"/>
  <int value="6" label="Translation error"/>
</enum>

<enum name="TranslateInitiationStatus" type="int">
  <int value="0" label="Completely disabled by prefs"/>
  <int value="1" label="Completely disabled by switch"/>
  <int value="2" label="Disabled by user configuration"/>
  <int value="3" label="Unsupported Language"/>
  <int value="4" label="Unsupported URL"/>
  <int value="5" label="Do nothing for similar languages"/>
  <int value="6" label="Do nothing for accepted languages"/>
  <int value="7" label="Auto translation by user configuration"/>
  <int value="8" label="Auto translation by linked from a translated page"/>
  <int value="9" label="Show infobar"/>
  <int value="10" label="MIME-type is not supported"/>
  <int value="11" label="Disabled by Key"/>
  <int value="12" label="Language in ULP"/>
  <int value="13" label="Aborted by translate ranker"/>
</enum>

<enum name="TranslateLanguage" type="int">
  <int value="0" label="No language code"/>
  <int value="1" label="Valid language code"/>
  <int value="2" label="Invalid language code"/>
</enum>

<enum name="TranslateLanguageDetectionTiming" type="int">
  <int value="0" label="On time"/>
  <int value="1" label="Deferred"/>
  <int value="2" label="Resumed"/>
</enum>

<enum name="TranslateLanguageVerification" type="int">
  <int value="0" label="CLD is disabled"/>
  <int value="1" label="No Content-Language"/>
  <int value="2" label="CLD can not determine a language"/>
  <int value="3" label="CLD agrees with Content-Language"/>
  <int value="4" label="CLD disagrees with Content-Language"/>
  <int value="5" label="CLD can be trusted"/>
  <int value="6" label="CLD can complement a sub code"/>
</enum>

<enum name="TranslateScheme" type="int">
  <int value="0" label="http"/>
  <int value="1" label="https"/>
  <int value="2" label="unexpected other schemes"/>
</enum>

<enum name="TrimMemoryLevel" type="int">
  <summary>
    The level provided by Android's ComponentCallbacks2.onTrimMemory().
  </summary>
  <int value="5" label="TRIM_MEMORY_RUNNING_MODERATE"/>
  <int value="10" label="TRIM_MEMORY_RUNNING_LOW"/>
  <int value="15" label="TRIM_MEMORY_RUNNING_CRITICAL"/>
  <int value="40" label="TRIM_MEMORY_BACKGROUND"/>
  <int value="60" label="TRIM_MEMORY_MODERATE"/>
  <int value="80" label="TRIM_MEMORY_COMPLETE"/>
</enum>

<enum name="UIEventType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Touch released"/>
  <int value="2" label="Touch pressed"/>
  <int value="3" label="Touch moved"/>
  <int value="4" label="Touch stationary"/>
  <int value="5" label="Touch cancelled"/>
  <int value="6" label="Gesture scroll begin"/>
  <int value="7" label="Gesture scroll end"/>
  <int value="8" label="Gesture scroll update"/>
  <int value="9" label="Gesture tap"/>
  <int value="10" label="Gesture tap down"/>
  <int value="11" label="Gesture finger down"/>
  <int value="12" label="Gesture finger up"/>
  <int value="13" label="Gesture double tap"/>
  <int value="14" label="Gesture triple tap"/>
  <int value="15" label="Gesture two-finger tap"/>
  <int value="16" label="Gesture pinch begin"/>
  <int value="17" label="Gesture pinch end"/>
  <int value="18" label="Gesture pinch update (2 fingers)"/>
  <int value="19" label="Long press"/>
  <int value="20" label="Multi-finger swipe (2 fingers)"/>
  <int value="21" label="Scroll"/>
  <int value="22" label="Scroll fling start"/>
  <int value="23" label="Scroll fling cancel"/>
  <int value="24" label="Multi-finger swipe (3 fingers)"/>
  <int value="25" label="Multi-finger swipe (4+ fingers)"/>
  <int value="26" label="Gesture scroll update (2 fingers)"/>
  <int value="27" label="Gesture scroll update (3 fingers)"/>
  <int value="28" label="Gesture scroll update (4+ fingers)"/>
  <int value="29" label="Gesture pinch update (3 fingers)"/>
  <int value="30" label="Gesture pinch update (4+ fingers)"/>
  <int value="31" label="Long tap"/>
  <int value="32" label="Show Press"/>
  <int value="33" label="Tap Cancel"/>
  <int value="34" label="Edge swipe"/>
  <int value="35" label="One-finger swipe"/>
  <int value="36" label="Tap unconfirmed"/>
</enum>

<enum name="UkmDataDroppedReason" type="int">
  <int value="0" label="Not dropped"/>
  <int value="1" label="Recording disabled"/>
  <int value="2" label="Max hit"/>
  <int value="3" label="Not whitelisted"/>
</enum>

<enum name="UmaCleanExitConsistency" type="int">
  <int value="0" label="Dirty/Dirty (Registry/Local State)"/>
  <int value="1" label="Dirty/Clean (Registry/Local State)"/>
  <int value="2" label="Clean/Dirty (Registry/Local State)"/>
  <int value="3" label="Clean/Clean (Registry/Local State)"/>
  <int value="4" label="Missing/Dirty (Registry/Local State)"/>
  <int value="5" label="Missing/Clean (Registry/Local State)"/>
</enum>

<enum name="UmaEntropySourceType" type="int">
  <int value="0" label="No entropy source (never hit)"/>
  <int value="1" label="Low Entropy Source"/>
  <int value="2" label="High Entropy Source"/>
</enum>

<enum name="UmaInitSequence" type="int">
  <int value="0" label="Timer fired first"/>
  <int value="1" label="Init task completed first"/>
</enum>

<enum name="UmaMachineIdState" type="int">
  <int value="0" label="ID generation failed"/>
  <int value="1" label="No stored value"/>
  <int value="2" label="Machine ID changed"/>
  <int value="3" label="Machine ID unchanged"/>
</enum>

<enum name="UmaUploadResponseStatus" type="int">
  <int value="0" label="Unknown failure"/>
  <int value="1" label="Success"/>
  <int value="2" label="Bad request"/>
  <int value="3" label="No response"/>
</enum>

<enum name="UncacheableReason" type="int">
  <int value="0" label="kNoData"/>
  <int value="1" label="kPre11PartialResponse"/>
  <int value="2" label="kNoStrongValidatorOnPartialResponse"/>
  <int value="3" label="kShortMaxAge"/>
  <int value="4" label="kExpiresTooSoon"/>
  <int value="5" label="kHasMustRevalidate"/>
  <int value="6" label="kNoCache"/>
  <int value="7" label="kNoStore"/>
</enum>

<enum name="UniformityTrialGroupNotActive" type="int">
  <int value="0" label="Invalid"/>
  <int value="1" label="Group not reported"/>
  <int value="2" label="Trial was disabled"/>
  <int value="3" label="Group not reported and trial was disabled"/>
</enum>

<enum name="UnlockType" type="int">
  <int value="0" label="Password"/>
  <int value="1" label="Pin"/>
</enum>

<enum name="UnPackStatus" type="int">
  <int value="0" label="No Error"/>
  <int value="1" label="Archive file not found"/>
  <int value="2" label="Archive file can not be opened"/>
  <int value="3" label="Archive can not be opened by extract tool."/>
  <int value="4" label="File can not be extracted"/>
  <int value="5" label="Mapped file IO Exception"/>
  <int value="6" label="Can not get the name of extracted file"/>
  <int value="7" label="Can not create extracted file on disk"/>
  <int value="8" label="Can not write the extracted file on disk"/>
  <int value="9" label="Can not set the extract time to file"/>
  <int value="10" label="Can not close extracted file"/>
</enum>

<enum name="UpdateEngineAttemptResult" type="int">
  <int value="0" label="Update Succeeded"/>
  <int value="1" label="Internal Error"/>
  <int value="2" label="Payload Download Error"/>
  <int value="3" label="Metadata Malformed"/>
  <int value="4" label="Operation Malformed"/>
  <int value="5" label="Operation Execution Error"/>
  <int value="6" label="Metadata Verification Failed"/>
  <int value="7" label="Payload Verification Failed"/>
  <int value="8" label="Verification Failed"/>
  <int value="9" label="Post-install Failed"/>
  <int value="10" label="Abnormal Termination"/>
</enum>

<enum name="UpdateEngineCertificateCheckStatus" type="int">
  <int value="0" label="Valid certificate">
    The certificate is valid and the same as seen before or the first time we
    see a certificate.
  </int>
  <int value="1" label="Changed certificate">
    The certificate is valid, but is different than a previously seen
    certificate for the selected server.
  </int>
  <int value="2" label="Certificate check failed">
    The certificate validation failed.
  </int>
</enum>

<enum name="UpdateEngineCheckReaction" type="int">
  <int value="0" label="Updating"/>
  <int value="1" label="Ignoring"/>
  <int value="2" label="Deferring"/>
  <int value="3" label="Backing Off"/>
</enum>

<enum name="UpdateEngineCheckResult" type="int">
  <int value="0" label="Update Available"/>
  <int value="1" label="No Update Available"/>
  <int value="2" label="Response Download Error"/>
  <int value="3" label="Response Parsing Error"/>
  <int value="4" label="Reboot Pending"/>
</enum>

<enum name="UpdateEngineConnectionType" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Ethernet"/>
  <int value="2" label="Wifi"/>
  <int value="3" label="WiMAX"/>
  <int value="4" label="Bluetooth"/>
  <int value="5" label="Cellular"/>
  <int value="6" label="Tethered (Ethernet)"/>
  <int value="7" label="Tethered (Wifi)"/>
</enum>

<enum name="UpdateEngineDownloadErrorCode" type="int">
  <int value="0" label="Download Error"/>
  <int value="100" label="Input Malformed (Internal Error)"/>
  <int value="101" label="Unknown HTTP Status (not 200-599)"/>
  <int value="400" label="Bad Request (HTTP Status 400)"/>
  <int value="401" label="Unauthorized (HTTP Status 401)"/>
  <int value="402" label="Payment Required (HTTP Status 402)"/>
  <int value="403" label="Forbidden (HTTP Status 403)"/>
  <int value="404" label="Not Found (HTTP Status 404)"/>
  <int value="405" label="Method Not Allowed (HTTP Status 405)"/>
  <int value="406" label="Not Acceptable (HTTP Status 406)"/>
  <int value="407" label="Proxy Auth Req (HTTP Status 407)"/>
  <int value="408" label="Request Timeout (HTTP Status 408)"/>
  <int value="409" label="Conflict (HTTP Status 409)"/>
  <int value="410" label="Gone (HTTP Status 410)"/>
  <int value="500" label="Internal Server Error (HTTP Status 500)"/>
  <int value="501" label="Not Implemented (HTTP Status 501)"/>
  <int value="502" label="Bad Gateway (HTTP Status 502)"/>
  <int value="503" label="Service Unavailable (HTTP Status 503)"/>
  <int value="504" label="Gateway Timeout (HTTP Status 504)"/>
</enum>

<enum name="UpdateEngineDownloadSource" type="int">
  <int value="0" label="HTTPS Server"/>
  <int value="1" label="HTTP Server"/>
  <int value="2" label="HTTP Peer"/>
</enum>

<enum name="UpdateEngineDownloadSources" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="HTTPS Server Only"/>
  <int value="2" label="HTTP Server Only"/>
  <int value="3" label="HTTP Server, HTTPS Server"/>
  <int value="4" label="HTTP Peer Only"/>
  <int value="5" label="HTTP Peer and HTTPS Server"/>
  <int value="6" label="HTTP Peer and HTTP Server"/>
  <int value="7" label="HTTP Peer, HTTPS Server, and HTTP Server"/>
</enum>

<enum name="UpdateEngineErrorCode" type="int">
  <int value="0" label="kErrorCodeSuccess"/>
  <int value="1" label="kErrorCodeError"/>
  <int value="2" label="kErrorCodeOmahaRequestError"/>
  <int value="3" label="kErrorCodeOmahaResponseHandlerError"/>
  <int value="4" label="kErrorCodeFilesystemCopierError"/>
  <int value="5" label="kErrorCodePostinstallRunnerError"/>
  <int value="6" label="kErrorCodeSetBootableFlagError"/>
  <int value="7" label="kErrorCodeInstallDeviceOpenError"/>
  <int value="8" label="kErrorCodeKernelDeviceOpenError"/>
  <int value="9" label="kErrorCodeDownloadTransferError"/>
  <int value="10" label="kErrorCodePayloadHashMismatchError"/>
  <int value="11" label="kErrorCodePayloadSizeMismatchError"/>
  <int value="12" label="kErrorCodeDownloadPayloadVerificationError"/>
  <int value="13" label="kErrorCodeDownloadNewPartitionInfoError"/>
  <int value="14" label="kErrorCodeDownloadWriteError"/>
  <int value="15" label="kErrorCodeNewRootfsVerificationError"/>
  <int value="16" label="kErrorCodeNewKernelVerificationError"/>
  <int value="17" label="kErrorCodeSignedDeltaPayloadExpectedError"/>
  <int value="18" label="kErrorCodeDownloadPayloadPubKeyVerificationError"/>
  <int value="19" label="kErrorCodePostinstallBootedFromFirmwareB"/>
  <int value="20" label="kErrorCodeDownloadStateInitializationError"/>
  <int value="21" label="kErrorCodeDownloadInvalidMetadataMagicString"/>
  <int value="22" label="kErrorCodeDownloadSignatureMissingInManifest"/>
  <int value="23" label="kErrorCodeDownloadManifestParseError"/>
  <int value="24" label="kErrorCodeDownloadMetadataSignatureError"/>
  <int value="25" label="kErrorCodeDownloadMetadataSignatureVerificationError"/>
  <int value="26" label="kErrorCodeDownloadMetadataSignatureMismatch"/>
  <int value="27" label="kErrorCodeDownloadOperationHashVerificationError"/>
  <int value="28" label="kErrorCodeDownloadOperationExecutionError"/>
  <int value="29" label="kErrorCodeDownloadOperationHashMismatch"/>
  <int value="30" label="kErrorCodeOmahaRequestEmptyResponseError"/>
  <int value="31" label="kErrorCodeOmahaRequestXMLParseError"/>
  <int value="32" label="kErrorCodeDownloadInvalidMetadataSize"/>
  <int value="33" label="kErrorCodeDownloadInvalidMetadataSignature"/>
  <int value="34" label="kErrorCodeOmahaRequestResponseInvalid"/>
  <int value="35" label="kErrorCodeOmahaUpdateIgnoredPerPolicy"/>
  <int value="36" label="kErrorCodeOmahaUpdateDeferredPerPolicy"/>
  <int value="37" label="kErrorCodeOmahaErrorInHTTPResponse"/>
  <int value="38" label="kErrorCodeDownloadOperationHashMissingError"/>
  <int value="39" label="kErrorCodeDownloadMetadataSignatureMissingError"/>
  <int value="40" label="kErrorCodeOmahaUpdateDeferredForBackoff"/>
  <int value="41" label="kErrorCodePostinstallPowerwashError"/>
  <int value="42" label="kErrorCodeUpdateCanceledByChannelChange"/>
  <int value="43" label="kErrorCodePostinstallFirmwareRONotUpdatable"/>
  <int value="44" label="kErrorCodeUnsupportedMajorPayloadVersion"/>
  <int value="45" label="kErrorCodeUnsupportedMinorPayloadVersion"/>
  <int value="46" label="kErrorCodeOmahaRequestXMLHasEntityDecl"/>
  <int value="47" label="kErrorCodeFilesystemVerifierError"/>
  <int value="48" label="kErrorCodeUserCanceled"/>
  <int value="49" label="kErrorCodeNonCriticalUpdateInOOBE"/>
</enum>

<enum name="UpdateEngineInstallDateProvisioningSource" type="int">
  <int value="0" label="Omaha Response"/>
  <int value="1" label="OOBE Marker"/>
</enum>

<enum name="UpdateEnginePayloadFormat" type="int">
  <int value="0" label="Full"/>
  <int value="1" label="Delta"/>
  <int value="2" label="Forced Full"/>
</enum>

<enum name="UpdatePasswordSubmissionEvent" type="int">
  <int value="0" label="NO_ACCOUNTS_CLICKED_UPDATE"/>
  <int value="1" label="NO_ACCOUNTS_CLICKED_NOPE"/>
  <int value="2" label="NO_ACCOUNTS_NO_INTERACTION"/>
  <int value="3" label="ONE_ACCOUNT_CLICKED_UPDATE"/>
  <int value="4" label="ONE_ACCOUNT_CLICKED_NOPE"/>
  <int value="5" label="ONE_ACCOUNT_NO_INTERACTION"/>
  <int value="6" label="MULTIPLE_ACCOUNTS_CLICKED_UPDATE"/>
  <int value="7" label="MULTIPLE_ACCOUNTS_CLICKED_NOPE"/>
  <int value="8" label="MULTIPLE_ACCOUNTS_NO_INTERACTION"/>
  <int value="9" label="PASSWORD_OVERRIDDEN_CLICKED_UPDATE"/>
  <int value="10" label="PASSWORD_OVERRIDDEN_CLICKED_NOPE"/>
  <int value="11" label="PASSWORD_OVERRIDDEN_NO_INTERACTION"/>
</enum>

<enum name="UpdatePolicy" type="int">
  <int value="0" label="UPDATES_DISABLED"/>
  <int value="1" label="AUTOMATIC_UPDATES"/>
  <int value="2" label="MANUAL_UPDATES_ONLY"/>
  <int value="3" label="AUTO_UPDATES_ONLY"/>
</enum>

<enum name="UrlResolutionResult" type="int">
  <int value="0" label="Absolute URL"/>
  <int value="1" label="Resolutions Differ"/>
  <int value="2" label="Resolutions Agree"/>
</enum>

<enum name="URLSchemeForHistogram" type="int">
  <int value="0" label="kUnknownURLScheme"/>
  <int value="1" label="kMissingURLScheme"/>
  <int value="2" label="kHttpURLScheme"/>
  <int value="3" label="kHttpsURLScheme"/>
  <int value="4" label="kFtpURLScheme"/>
  <int value="5" label="kChromeExtensionURLScheme"/>
  <int value="6" label="kJavascriptURLScheme"/>
  <int value="7" label="kFileURLScheme"/>
  <int value="8" label="kBlobURLScheme"/>
  <int value="9" label="kDataURLScheme"/>
  <int value="10" label="kFileSystemScheme"/>
</enum>

<enum name="UsedInDraw" type="int">
  <obsolete>
    Deprecated 02/2017 in Issue 675840.
  </obsolete>
  <int value="0" label="Was not used in draw"/>
  <int value="1" label="Was used in draw"/>
</enum>

<enum name="UserCertContentDisposition" type="int">
  <int value="0" label="No Content-Disposition"/>
  <int value="1" label="Content-Disposition"/>
</enum>

<enum name="UserChannels" type="int">
  <int value="-1" label="Unknown"/>
  <int value="0" label="Canary"/>
  <int value="1" label="Dev"/>
  <int value="2" label="Beta"/>
  <int value="3" label="Stable"/>
</enum>

<enum name="UserGestureRequirement" type="int">
  <int value="0" label="Required and available"/>
  <int value="1" label="Required and not available"/>
  <int value="2" label="Not required and available"/>
  <int value="3" label="Not required and not available"/>
</enum>

<enum name="UserInitiatedEvent" type="int">
  <int value="0" label="WiFi Scan"/>
</enum>

<enum name="UserPodsDisplay" type="int">
  <int value="0" label="Enabled by local settings"/>
  <int value="1" label="Enabled by domain policy"/>
  <int value="2" label="Disabled by local settings"/>
  <int value="3" label="Disabled by domain policy"/>
</enum>

<enum name="UserSelectableSyncType" type="int">
  <int value="0" label="Bookmarks"/>
  <int value="1" label="Preferences"/>
  <int value="2" label="Passwords"/>
  <int value="3" label="Autofill"/>
  <int value="4" label="Themes"/>
  <int value="5" label="Omnibox History"/>
  <int value="6" label="Extensions"/>
  <int value="7" label="Open Tabs"/>
  <int value="8" label="Apps"/>
  <int value="9" label="Synced Notifications"/>
  <int value="10" label="WiFi Credentials"/>
  <int value="11" label="Reading List"/>
</enum>

<enum name="UserType" type="int">
  <int value="0" label="Regular"/>
  <int value="1" label="Guest"/>
  <int value="2" label="Retail Mode"/>
  <int value="3" label="Public Account"/>
  <int value="4" label="Locally Managed"/>
  <int value="5" label="Kiosk App"/>
  <int value="6" label="Regular Supervised"/>
</enum>

<enum name="V8CodeCacheRejectReason" type="int">
  <int value="1" label="MAGIC_NUMBER_MISMATCH">
    Reject due to magic number mismatch
  </int>
  <int value="2" label="VERSION_MISMATCH">
    Reject due to version hash mismatch
  </int>
  <int value="3" label="SOURCE_MISMATCH">
    Reject due to source hash mismatch
  </int>
  <int value="4" label="CPU_FEATURES_MISMATCH">
    Reject due to CPU features mismatch
  </int>
  <int value="5" label="FLAGS_MISMATCH">Reject due to flags hash mismatch</int>
  <int value="6" label="CHECKSUM_MISMATCH">Reject due to checksum mismatch</int>
  <int value="7" label="INVALID_HEADER">Invalid header</int>
</enum>

<enum name="V8DebugFeature" type="int">
  <int value="1" label="kActive">Debugger has been active</int>
  <int value="2" label="kBreakPoint">
    Debugger has been used to set break points
  </int>
  <int value="3" label="kStepping">
    Debugger has been used to step through Javascript code
  </int>
  <int value="4" label="kHeapSnapshot">
    Heap profiler has been used to take heap snapshots
  </int>
  <int value="5" label="kAllocationTracking">
    Heap profiler has been used to track allocations
  </int>
  <int value="6" label="kProfiler">
    Cpu profiler has been used to profile execution
  </int>
  <int value="7" label="kLiveEdit">
    LiveEdit has been used to replace Javascript code on-the-fly
  </int>
</enum>

<enum name="V8InitializerLoadV8SnapshotResult" type="int">
  <int value="0" label="SUCCESS">Load succeeded</int>
  <int value="1" label="FAILED_OPEN">Failure to open snapshot file</int>
  <int value="2" label="FAILED_MAP">Failed to map snapshot</int>
  <int value="3" label="FAILED_VERIFY">Failed to verify snapshot</int>
</enum>

<enum name="V8InitializerOpenV8FileResult" type="int">
  <int value="0" label="OPENED">Opened without issue</int>
  <int value="1" label="OPENED_RETRY">Opened after one or more retries</int>
  <int value="2" label="FAILED_IN_USE">Failed because file in use</int>
  <int value="3" label="FAILED_OTHER">Failed for other reason</int>
</enum>

<enum name="VAJDADecoderFailure" type="int">
  <int value="0" label="VAAPI_ERROR"/>
</enum>

<enum name="ValidateMenuItemSelectorType" type="int">
  <int value="0"
      label="The menu items' associated action is an unknown selector."/>
  <int value="1" label="The menu item's associated action is -newProfile."/>
  <int value="2" label="The menu item's associated action is -editProfile."/>
  <int value="3"
      label="The menu item's associated action is -switchToProfileFromMenu."/>
  <int value="4"
      label="The menu item's associated action is -switchToProfileFromDock."/>
</enum>

<enum name="ValidationFailures" type="int">
  <int value="0" label="DBus"/>
  <int value="1" label="Load Key"/>
</enum>

<enum name="VariationSeedSignature" type="int">
  <int value="0" label="Signature Missing"/>
  <int value="1" label="Signature Decode Failed"/>
  <int value="2" label="Invalid Signature"/>
  <int value="3" label="Invalid Signature for Seed"/>
  <int value="4" label="Valid Signature for Seed"/>
</enum>

<enum name="VariationsFirstRunResult" type="int">
  <int value="0" label="Seed imported successfully"/>
  <int value="1" label="Seed import failed - no callback (Obsolete)"/>
  <int value="2" label="Seed import failed - no first run seed"/>
  <int value="3" label="Seed import failed - failed to store seed"/>
  <int value="4" label="Seed import failed - invalid response date string"/>
</enum>

<enum name="VariationsFirstRunSeedFetchResult" type="int">
  <int value="-3" label="UnknownHostException fetching seed"/>
  <int value="-2" label="SocketTimeoutException fetching seed"/>
  <int value="-1" label="IOException fetching seed"/>
  <int value="200" label="200: OK"/>
  <int value="201" label="201: Created"/>
  <int value="202" label="202: Accepted"/>
  <int value="203" label="203: Non-Authoritative Information"/>
  <int value="204" label="204: No Content"/>
  <int value="205" label="205: Reset Content"/>
  <int value="206" label="206: Partial Content"/>
  <int value="300" label="300: Multiple Choices"/>
  <int value="301" label="301: Moved Permanently"/>
  <int value="302" label="302: Found"/>
  <int value="303" label="303: See Other"/>
  <int value="304" label="304: Not Modified"/>
  <int value="305" label="305: Use Proxy"/>
  <int value="306" label="306: (Unused)"/>
  <int value="307" label="307: Temporary Redirect"/>
  <int value="400" label="400: Bad Request"/>
  <int value="401" label="401: Unauthorized"/>
  <int value="402" label="402: Payment Required"/>
  <int value="403" label="403: Forbidden"/>
  <int value="404" label="404: Not Found"/>
  <int value="405" label="405: Method Not Allowed"/>
  <int value="406" label="406: Not Acceptable"/>
  <int value="407" label="407: Proxy Authentication Required"/>
  <int value="408" label="408: Request Timeout"/>
  <int value="409" label="409: Conflict"/>
  <int value="410" label="410: Gone"/>
  <int value="411" label="411: Length Required"/>
  <int value="412" label="412: Precondition Failed"/>
  <int value="413" label="413: Request Entity Too Large"/>
  <int value="414" label="414: Request-URI Too Long"/>
  <int value="415" label="415: Unsupported Media Type"/>
  <int value="416" label="416: Requested Range Not Satisfiable"/>
  <int value="417" label="417: Expectation Failed"/>
  <int value="500" label="500: Internal Server Error"/>
  <int value="501" label="501: Not Implemented"/>
  <int value="502" label="502: Bad Gateway"/>
  <int value="503" label="503: Service Unavailable"/>
  <int value="504" label="504: Gateway Timeout"/>
  <int value="505" label="505: HTTP Version Not Supported"/>
</enum>

<enum name="VariationsHeadersURLValidationResult" type="int">
  <int value="0" label="Rejected: Invalid URL."/>
  <int value="1" label="Rejected: Not https. (Deprecated)"/>
  <int value="2" label="Rejected: Not Google domain."/>
  <int value="3" label="Should append headers."/>
  <int value="4" label="Rejected: Neither http, nor https."/>
  <int value="5" label="Rejected: Is a Google domain, but not https."/>
</enum>

<enum name="VariationsPermanentConsistencyCountryResult" type="int">
  <int value="0" label="Saved pref missing and no country code in seed"/>
  <int value="1" label="Saved pref missing and country code in seed"/>
  <int value="2" label="Saved pref invalid and no country code in seed"/>
  <int value="3" label="Saved pref invalid and country code in seed"/>
  <int value="4"
      label="Saved pref present for current version and no country code in
             seed"/>
  <int value="5"
      label="Saved pref present for different version and no country code in
             seed"/>
  <int value="6"
      label="Saved pref present for current version and country code in seed
             matches"/>
  <int value="7"
      label="Saved pref present for current version and country code in seed
             is different"/>
  <int value="8"
      label="Saved pref present for different version and country code in
             seed matches"/>
  <int value="9"
      label="Saved pref present for different version and country code in
             seed is different"/>
</enum>

<enum name="VariationsResourceRequestsAllowedState" type="int">
  <int value="0" label="Requests allowed"/>
  <int value="1" label="Requests not allowed (Obsolete 11/2013)"/>
  <int value="2" label="Notified that requests became allowed"/>
  <int value="3" label="Requests not allowed: EULA not accepted"/>
  <int value="4" label="Requests not allowed: network down"/>
  <int value="5" label="Requests not allowed: disabled by command line"/>
</enum>

<enum name="VariationsSeedDateChange" type="int">
  <int value="0" label="No previous date"/>
  <int value="1" label="New date older than old date"/>
  <int value="2" label="Same day"/>
  <int value="3" label="Day changed"/>
</enum>

<enum name="VariationsSeedEmpty" type="int">
  <int value="0" label="Seed Not Empty"/>
  <int value="1" label="Seed Empty"/>
  <int value="2" label="Seed Corrupt (Obsolete)"/>
  <int value="3" label="Seed Signature Verification Failed"/>
  <int value="4" label="Seed Corrupt Base64 Data"/>
  <int value="5" label="Seed Corrupt Protobuf"/>
  <int value="6" label="Seed Corrupt Gzip Data"/>
</enum>

<enum name="VariationsSeedExpiry" type="int">
  <int value="0" label="Not Expired"/>
  <int value="1" label="Fetch Time Missing"/>
  <int value="2" label="Expired"/>
</enum>

<enum name="VariationsSeedStoreResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Failed - Empty Seed"/>
  <int value="2" label="Failed - Parse Error"/>
  <int value="3" label="Failed - Signature Mismatch"/>
  <int value="4" label="Failed - Gzip Compress Error"/>
  <int value="5" label="Delta Count"/>
  <int value="6" label="Failed - Delta: Read Seed"/>
  <int value="7" label="Failed - Delta: Apply"/>
  <int value="8" label="Failed - Delta: Store Seed"/>
  <int value="9" label="Failed - Gzip Uncompress Error"/>
  <int value="10" label="Failed - Empty Gzip Contents"/>
  <int value="11" label="Failed - Unsupported Seed Format"/>
</enum>

<enum name="VaryType" type="int">
  <int value="0" label="No Vary header present"/>
  <int value="1" label="Vary:User-Agent"/>
  <int value="2" label="Other"/>
</enum>

<enum name="VAVDADecoderFailure" type="int">
  <int value="0" label="VAAPI_ERROR"/>
</enum>

<enum name="VAVDAH264DecoderFailure" type="int">
  <int value="0" label="FRAME_MBS_ONLY_FLAG_NOT_ONE"/>
  <int value="1" label="GAPS_IN_FRAME_NUM"/>
  <int value="2" label="MID_STREAM_RESOLUTION_CHANGE"/>
  <int value="3" label="INTERLACED_STREAM"/>
  <int value="4" label="VAAPI_ERROR"/>
</enum>

<enum name="VAVEAEncoderFailure" type="int">
  <int value="0" label="VAAPI_ERROR"/>
</enum>

<enum name="VerifyWakeOnWiFiSettingsResult" type="int">
  <summary>
    The result of NIC wake on WiFi settings verification. Corresponds to
    VerifyWakeOnWiFiSettingsResult in shill/metrics.h
  </summary>
  <int value="0" label="Success"/>
  <int value="1" label="Failure"/>
</enum>

<enum name="VideoCaptureEvent" type="int">
  <int value="0" label="Starting video capture"/>
  <int value="1" label="Stopping video capture normally"/>
  <int value="2" label="Stopping video capture due to error"/>
  <int value="3" label="Video capture device stopped. No frames produced."/>
  <int value="4" label="Desktop/Tab capture stopped. No frames produced."/>
</enum>

<enum name="VideoCodec" type="int">
  <int value="0" label="kUnknownVideoCodec"/>
  <int value="1" label="kCodecH264"/>
  <int value="2" label="kCodecVC1"/>
  <int value="3" label="kCodecMPEG2"/>
  <int value="4" label="kCodecMPEG4"/>
  <int value="5" label="kCodecTheora"/>
  <int value="6" label="kCodecVP8"/>
  <int value="7" label="kCodecVP9"/>
  <int value="8" label="kCodecHEVC"/>
  <int value="9" label="kCodecDolbyVision"/>
</enum>

<enum name="VideoCodecProfile" type="int">
  <int value="0" label="H.264 Baseline"/>
  <int value="1" label="H.264 Main"/>
  <int value="2" label="H.264 Extended"/>
  <int value="3" label="H.264 High"/>
  <int value="4" label="H.264 High10"/>
  <int value="5" label="H.264 High422"/>
  <int value="6" label="H.264 High444"/>
  <int value="7" label="H.264 ScalableBaseline"/>
  <int value="8" label="H.264 ScalableHigh"/>
  <int value="9" label="H.264 StereoHigh"/>
  <int value="10" label="H.264 MultiviewHigh"/>
  <int value="11" label="VP8"/>
  <int value="12" label="VP9 Profile0"/>
  <int value="13" label="VP9 Profile1"/>
  <int value="14" label="VP9 Profile2"/>
  <int value="15" label="VP9 Profile3"/>
  <int value="16" label="HEVC Main"/>
  <int value="17" label="HEVC Main10"/>
  <int value="18" label="HEVC Main Still-picture"/>
  <int value="19" label="DolbyVision profile0"/>
  <int value="20" label="DolbyVision profile4"/>
  <int value="21" label="DolbyVision profile5"/>
  <int value="22" label="DolbyVision profile7"/>
</enum>

<enum name="VideoDecodeAcceleratorError" type="int">
  <int value="1" label="Illegal state">
    An operation was attempted during an incompatible decoder state.
  </int>
  <int value="2" label="Invalid argument">
    Invalid argument was passed to an API method.
  </int>
  <int value="3" label="Unreadable input">Encoded input is unreadable.</int>
  <int value="4" label="Platform failure">
    A failure occurred at the browser layer or lower. Examples of such failures
    include GPU hardware failures, GPU driver failures, GPU library failures,
    browser programming errors, and so on.
  </int>
</enum>

<enum name="VideoFormat" type="int">
  <obsolete>
    Deprecated as of 05/2015. Substituted by VideoFramePixelFormat.
  </obsolete>
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="YV12"/>
  <int value="2" label="I420"/>
  <int value="3" label="YV16"/>
  <int value="4" label="YV12A"/>
  <int value="5" label="YV24"/>
  <int value="6" label="NV12"/>
  <int value="7" label="ARGB"/>
  <int value="8" label="HOLE"/>
  <int value="9" label="NATIVE_TEXTURE"/>
</enum>

<enum name="VideoFrameColorSpace" type="int">
  <int value="0" label="Unspecified, usually Rec 601"/>
  <int value="1" label="Jpeg"/>
  <int value="2" label="HD Rec 709"/>
  <int value="3" label="SD Rec 601"/>
</enum>

<enum name="VideoFramePixelFormat" type="int">
  <obsolete>
    Deprecated as of 08/2015. Substituted by VideoPixelFormatUnion.
  </obsolete>
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="YV12"/>
  <int value="2" label="I420"/>
  <int value="3" label="YV16"/>
  <int value="4" label="YV12A"/>
  <int value="5" label="YV24"/>
  <int value="6" label="NV12 (Mac only)"/>
  <int value="7" label="ARGB"/>
  <int value="8" label="xRGB"/>
  <int value="9" label="UYVY"/>
</enum>

<enum name="VideoFullscreenOrientationLockMetadataAvailability" type="int">
  <int value="0" label="Available"/>
  <int value="1" label="Missing"/>
  <int value="2" label="Received (after Missing)"/>
</enum>

<enum name="VideoFullscreenOrientationLockResult" type="int">
  <int value="0" label="Already locked, no attempt"/>
  <int value="1" label="Portrait"/>
  <int value="2" label="Landscape"/>
</enum>

<enum name="VideoPersistenceAttemptResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="No system support"/>
  <int value="2" label="No feature"/>
  <int value="3" label="No activity support"/>
  <int value="4" label="Already running"/>
  <int value="5" label="Restarting"/>
  <int value="6" label="Finishing"/>
  <int value="7" label="No WebContents"/>
  <int value="8" label="No video"/>
</enum>

<enum name="VideoPersistenceControlsType" type="int">
  <int value="0" label="Native controls"/>
  <int value="1" label="Custom controls"/>
</enum>

<enum name="VideoPersistenceEndReason" type="int">
  <int value="0" label="Resume"/>
  <int value="1" label="Navigation"/>
  <int value="2" label="Close"/>
  <int value="3" label="Crash"/>
  <int value="4" label="New tab"/>
  <int value="5" label="Reparent"/>
  <int value="6" label="Left fullscreen"/>
</enum>

<enum name="VideoPixelFormat" type="int">
  <obsolete>
    Deprecated as of 05/2015. Substituted by VideoFormat.
  </obsolete>
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="YV12"/>
  <int value="2" label="YV16"/>
  <int value="3" label="I420"/>
  <int value="4" label="YV12A"/>
  <int value="5" label="HOLE"/>
  <int value="6" label="NATIVE_TEXTURE"/>
  <int value="7" label="YV12J"/>
  <int value="8" label="NV12"/>
  <int value="9" label="YV24"/>
  <int value="10" label="ARGB"/>
  <int value="11" label="YV12HD"/>
</enum>

<enum name="VideoPixelFormatUnion" type="int">
  <int value="0" label="UNKNOWN"/>
  <int value="1" label="I420"/>
  <int value="2" label="YV12"/>
  <int value="3" label="YV16"/>
  <int value="4" label="YV12A"/>
  <int value="5" label="YV24"/>
  <int value="6" label="NV12"/>
  <int value="7" label="NV21"/>
  <int value="8" label="UYVY"/>
  <int value="9" label="YUY2"/>
  <int value="10" label="ARGB"/>
  <int value="11" label="XRGB"/>
  <int value="12" label="RGB24"/>
  <int value="13" label="RGB32"/>
  <int value="14" label="MJPEG"/>
  <int value="15" label="MT21"/>
  <int value="16" label="YUV420P9"/>
  <int value="17" label="YUV420P10"/>
  <int value="18" label="YUV422P9"/>
  <int value="19" label="YUV422P10"/>
  <int value="20" label="YUV444P9"/>
  <int value="21" label="YUV444P10"/>
  <int value="22" label="YUV420P12"/>
  <int value="23" label="YUV422P12"/>
  <int value="24" label="YUV444P12"/>
  <int value="25" label="Y8"/>
  <int value="26" label="Y16"/>
</enum>

<enum name="VideoPlayerCastAPIExtensionStatus" type="int">
  <int value="0" label="Skipped (Cast extension is unavailable)"/>
  <int value="1" label="Installation failed"/>
  <int value="2" label="Load failed"/>
  <int value="3" label="Loaded successfully (newly installed)"/>
  <int value="4" label="Loaded successfully (already installed)"/>
</enum>

<enum name="VideoPlayerPlayType" type="int">
  <int value="0" label="Local playback"/>
  <int value="1" label="Play on cast device"/>
</enum>

<enum name="VideoRotation" type="int">
  <int value="0" label="VIDEO_ROTATION_0"/>
  <int value="1" label="VIDEO_ROTATION_90"/>
  <int value="2" label="VIDEO_ROTATION_180"/>
  <int value="3" label="VIDEO_ROTATION_270"/>
</enum>

<enum name="ViewFileType" type="int">
  <int value="0" label="other"/>
  <int value="1" label=".3ga"/>
  <int value="2" label=".3gp"/>
  <int value="3" label=".aac"/>
  <int value="4" label=".alac"/>
  <int value="5" label=".asf"/>
  <int value="6" label=".avi"/>
  <int value="7" label=".bmp"/>
  <int value="8" label=".csv"/>
  <int value="9" label=".doc"/>
  <int value="10" label=".docx"/>
  <int value="11" label=".flac"/>
  <int value="12" label=".gif"/>
  <int value="13" label=".jpeg"/>
  <int value="14" label=".jpg"/>
  <int value="15" label=".log"/>
  <int value="16" label=".m3u"/>
  <int value="17" label=".m3u8"/>
  <int value="18" label=".m4a"/>
  <int value="19" label=".m4v"/>
  <int value="20" label=".mid"/>
  <int value="21" label=".mkv"/>
  <int value="22" label=".mov"/>
  <int value="23" label=".mp3"/>
  <int value="24" label=".mp4"/>
  <int value="25" label=".mpg"/>
  <int value="26" label=".odf"/>
  <int value="27" label=".odp"/>
  <int value="28" label=".ods"/>
  <int value="29" label=".odt"/>
  <int value="30" label=".oga"/>
  <int value="31" label=".ogg"/>
  <int value="32" label=".ogv"/>
  <int value="33" label=".pdf"/>
  <int value="34" label=".png"/>
  <int value="35" label=".ppt"/>
  <int value="36" label=".pptx"/>
  <int value="37" label=".ra"/>
  <int value="38" label=".ram"/>
  <int value="39" label=".rar"/>
  <int value="40" label=".rm"/>
  <int value="41" label=".rtf"/>
  <int value="42" label=".wav"/>
  <int value="43" label=".webm"/>
  <int value="44" label=".webp"/>
  <int value="45" label=".wma"/>
  <int value="46" label=".wmv"/>
  <int value="47" label=".xls"/>
  <int value="48" label=".xlsx"/>
  <int value="49" label=".crdownload"/>
  <int value="50" label=".crx"/>
  <int value="51" label=".dmg"/>
  <int value="52" label=".exe"/>
  <int value="53" label=".html"/>
  <int value="54" label=".htm"/>
  <int value="55" label=".jar"/>
  <int value="56" label=".ps"/>
  <int value="57" label=".torrent"/>
  <int value="58" label=".txt"/>
  <int value="59" label=".zip"/>
</enum>

<enum name="VisibleTab" type="int">
  <int value="0" label="Custom Tab"/>
  <int value="1" label="Chrome Tab"/>
</enum>

<enum name="VPNDriver" type="int">
  <int value="0" label="OpenVPN"/>
  <int value="1" label="L2TP/IPSec"/>
  <int value="2" label="Third Party"/>
</enum>

<enum name="VPNRemoteAuthenticationType" type="int">
  <int value="0" label="OpenVPN Default"/>
  <int value="1" label="OpenVPN Certificate"/>
  <int value="2" label="L2TP/IPSec Default"/>
  <int value="3" label="L2TP/IPSec Certificate"/>
  <int value="4" label="L2TP/IPSec PSK"/>
</enum>

<enum name="VPNUserAuthenticationType" type="int">
  <int value="0" label="OpenVPN None"/>
  <int value="1" label="OpenVPN Certificate"/>
  <int value="2" label="OpenVPN Username/Password"/>
  <int value="3" label="OpenVPN Username/Password/OTP"/>
  <int value="4" label="L2TP/IPSec None"/>
  <int value="5" label="L2TP/IPSec Certificate"/>
  <int value="6" label="L2TP/IPSec Username/Password"/>
</enum>

<enum name="VRViewerType" type="int">
  <int value="0" label="UNKNOWN_TYPE"/>
  <int value="1" label="CARDBOARD"/>
  <int value="2" label="DAYDREAM"/>
</enum>

<enum name="VTVDAInitializationFailureType" type="int">
  <int value="0" label="Successfully Initialized"/>
  <int value="1" label="Framework Load Error"/>
  <int value="2" label="Hardware Session Error"/>
  <int value="3" label="Software Session Error"/>
</enum>

<enum name="VTVDASessionFailureType" type="int">
  <int value="0" label="Successfully Initialized"/>
  <int value="1" label="Platform Error"/>
  <int value="2" label="Invalid Stream"/>
  <int value="3" label="Unsupported Stream Parameters"/>
  <int value="4" label="Decode Error"/>
  <int value="5" label="Unsupported Stream"/>
</enum>

<enum name="WakeOnWiFiFeaturesEnabledState" type="int">
  <summary>
    The wake on WiFi features enabled in shill, which come from
    WakeOnWiFiFeaturesEnabledState in shill/metrics.h
  </summary>
  <int value="0" label="None"/>
  <int value="1" label="Packet"/>
  <int value="2" label="DarkConnect"/>
  <int value="3" label="Packet and DarkConnect"/>
</enum>

<enum name="WakeOnWiFiThrottled" type="int">
  <summary>
    Whether or not wake on WiFi was disabled during suspend because of excessive
    dark resume wakes. Corresponds to WakeOnWiFiThrottled in shill/metrics.h
  </summary>
  <int value="0"
      label="False (Wake on WiFi was not disabled due to excessive dark
             resume wakes"/>
  <int value="1"
      label="True (Wake on WiFi was disabled due to exessive dark resume
             wakes"/>
</enum>

<enum name="WakeReasonReceivedBeforeOnDarkResume" type="int">
  <int value="0" label="Wake reason not received before OnDarkResume"/>
  <int value="1" label="Wake reason received before OnDarkResume"/>
</enum>

<enum name="WalletApiCall" type="int">
  <int value="0" label="Unknown API call"/>
  <int value="1" label="Accept Legal Documents"/>
  <int value="2" label="Authenticate Instrument"/>
  <int value="3" label="Get Full Wallet"/>
  <int value="4" label="Get Wallet Items"/>
  <int value="5" label="Save to Wallet"/>
</enum>

<enum name="WalletErrors" type="int">
  <int value="0" label="Baseline: Issued request"/>
  <int value="1" label="Fatal error (deprecated)"/>
  <int value="2" label="Malformed response"/>
  <int value="3" label="Network error"/>
  <int value="4" label="Bad request"/>
  <int value="5" label="Internal error"/>
  <int value="6" label="Invalid params"/>
  <int value="7" label="Service unavailable"/>
  <int value="8" label="Spending limit exceeded"/>
  <int value="9" label="Unsupported API version"/>
  <int value="10" label="Unknown error"/>
  <int value="11" label="Unsupported merchant"/>
  <int value="12" label="Unsupported buyer legal address"/>
  <int value="13" label="Unverified know your customer status"/>
</enum>

<enum name="WalletRequiredActions" type="int">
  <int value="0" label="Baseline: Issued request"/>
  <int value="1" label="Unknown"/>
  <int value="2" label="GAIA auth"/>
  <int value="3" label="Passive GAIA auth"/>
  <int value="4" label="Set up Wallet"/>
  <int value="5" label="Accept ToS"/>
  <int value="6" label="Update expiration date"/>
  <int value="7" label="Upgrade min address"/>
  <int value="8" label="Choose another instrument or address"/>
  <int value="9" label="Verify CVV"/>
  <int value="10" label="Invalid form field"/>
  <int value="11" label="Require phone number"/>
</enum>

<enum name="WallpaperApps" type="int">
  <int value="0" label="Chrome OS Wallpaper Picker App"/>
  <int value="1" label="Android Wallpapers App"/>
</enum>

<enum name="WallpaperLayout" type="int">
  <int value="0" label="Center"/>
  <int value="1" label="Center Cropped"/>
  <int value="2" label="Stretch"/>
  <int value="3" label="Tile"/>
</enum>

<enum name="WallpaperType" type="int">
  <int value="0" label="Daily"/>
  <int value="1" label="Customized"/>
  <int value="2" label="Default"/>
  <int value="3" label="Unknown (unused)"/>
  <int value="4" label="Online"/>
  <int value="5" label="Policy"/>
  <int value="6" label="Third party"/>
  <int value="7" label="Device policy"/>
</enum>

<enum name="WarmupStateOnLaunch" type="int">
  <int value="0" label="No Session, No Warmup"/>
  <int value="1" label="No Session, Warmup"/>
  <int value="2" label="Session, No Warmup, Warmup called from another UID"/>
  <int value="3" label="Session, No Warmup"/>
  <int value="4" label="Session, Warmup"/>
</enum>

<enum name="WebApkGooglePlayInstallResult" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Install delegate unavailable"/>
  <int value="2" label="Failed to connect to Google Play Install Service"/>
  <int value="3" label="Caller verification failure"/>
  <int value="4" label="Policy violation"/>
  <int value="5" label="Play install API disabled"/>
  <int value="6" label="Request to Play install API failed"/>
  <int value="7" label="Download cancelled"/>
  <int value="8" label="Download error"/>
  <int value="9" label="Install error"/>
  <int value="10" label="Install timed out"/>
</enum>

<enum name="WebApkGooglePlayInstallState" type="int">
  <int value="0" label="Play installation supported."/>
  <int value="1" label="Play installation disabled for other reason."/>
  <int value="2" label="Google Play Services unavailable."/>
  <int value="3"
      label="(Deprecated in M59) Play installation disabled by variations."/>
  <int value="4" label="Play installation disabled by Play."/>
</enum>

<enum name="WebApkInstallEvent" type="int">
  <int value="0" label="Infobar is ignored"/>
  <int value="1" label="Infobar is dismissed before installation"/>
  <int value="2" label="Infobar is dismissed during installation"/>
  <int value="3" label="Success"/>
  <int value="4" label="Failed"/>
</enum>

<enum name="WebApkInstallInfoBarShown" type="int">
  <int value="0" label="WebApk infobar shown from the app banner"/>
  <int value="1" label="WebApk infobar shown from the add to homescreen menu"/>
</enum>

<enum name="WebApkInstallSource" type="int">
  <int value="0" label="Installation started from the app banner"/>
  <int value="1" label="Installation started from the add to homescreen menu"/>
</enum>

<enum name="WebApkOpenResult" type="int">
  <int value="0" label="Open an installed WebAPK successfully"/>
  <int value="1" label="Launch intent for WebAPK is null"/>
  <int value="2" label="Activity for WebAPK not found."/>
</enum>

<enum name="WebApkUpdateRequestQueued" type="int">
  <int value="0" label="Queued for the first time"/>
  <int value="1" label="Queued for the second time"/>
  <int value="2" label="Queued for the third time"/>
</enum>

<enum name="WebApkUpdateRequestSent" type="int">
  <int value="0" label="Sent immediately after an update check"/>
  <int value="1" label="Sent when WebAPK is moved to background"/>
  <int value="2" label="Sent by forcing an update"/>
</enum>

<enum name="WebApkUserAction" type="int">
  <int value="0" label="Open a previously installed WebAPK"/>
  <int value="1" label="Dismiss to open a previously installed WebAPK"/>
  <int value="2" label="Open a newly installed WebAPK"/>
  <int value="3" label="Dismiss to open a newly installed WebAPK"/>
</enum>

<enum name="WebAudioAutoplayStatus" type="int">
  <int value="0" label="The AudioContext failed to autoplay"/>
  <int value="1" label="Failed to autoplay but start() called on user gesture"/>
  <int value="2" label="The AudioContext successfully autoplayed"/>
</enum>

<enum name="WebBluetoothConnectGATTOutcome" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Device no longer in range"/>
  <int value="2" label="Unknown Error"/>
  <int value="3" label="In Progress"/>
  <int value="4" label="Failed"/>
  <int value="5" label="Auth Failed"/>
  <int value="6" label="Auth Canceled"/>
  <int value="7" label="Auth Rejected"/>
  <int value="8" label="Auth Timeout"/>
  <int value="9" label="Unsupported Device"/>
</enum>

<enum name="WebBluetoothFunction" type="int">
  <int value="0" label="requestDevice()"/>
  <int value="1" label="RemoteGATTServer.connect()"/>
  <int value="2" label="RemoteGATTServer.getPrimaryService()"/>
  <int value="3" label="RemoteGATTService.getCharacteristic()"/>
  <int value="4" label="RemoteGATTCharacteristic.readValue()"/>
  <int value="5" label="RemoteGATTCharacteristic.writeValue()"/>
  <int value="6" label="RemoteGATTCharacteristic.startNotifications()"/>
  <int value="7" label="RemoteGATTCharacteristic.stopNotifications()"/>
  <int value="8" label="RemoteGATTServer.disconnect()"/>
  <int value="9" label="RemoteGATTService.getCharacteristics()"/>
  <int value="10" label="RemoteGATTServer.getPrimaryServices()"/>
  <int value="11" label="RemoteGATTDescriptor.readValue()"/>
  <int value="12" label="RemoteGATTDescriptor.writeValue()"/>
  <int value="13" label="RemoteGATTCharacteristic.getDescriptor()"/>
  <int value="14" label="RemoteGATTCharacteristic.getDescriptors()"/>
</enum>

<enum name="WebBluetoothGATTOperationOutcome" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="No Device"/>
  <int value="2" label="No Service"/>
  <int value="3" label="No Characteristic"/>
  <int value="4" label="No Descriptor"/>
  <int value="5" label="Unknown"/>
  <int value="6" label="Failed"/>
  <int value="7" label="In Progress"/>
  <int value="8" label="Invalid Length"/>
  <int value="9" label="Not Permitted"/>
  <int value="10" label="Not Authorized"/>
  <int value="11" label="Not Paired"/>
  <int value="12" label="Not Supported"/>
  <int value="13" label="Blocklisted"/>
</enum>

<enum name="WebBluetoothGetCharacteristicOutcome" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="No device"/>
  <int value="2" label="No service"/>
  <int value="3" label="Not found"/>
  <int value="4" label="Blocklisted"/>
  <int value="5" label="No characteristics"/>
</enum>

<enum name="WebBluetoothGetDescriptorOutcome" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="No device"/>
  <int value="2" label="No service"/>
  <int value="3" label="No characteristic"/>
  <int value="4" label="Not found"/>
  <int value="5" label="Blocklisted"/>
  <int value="6" label="No descriptors"/>
</enum>

<enum name="WebBluetoothGetPrimaryServiceOutcome" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="Device no longer in range."/>
  <int value="2" label="Not found"/>
  <int value="3" label="No services"/>
</enum>

<enum name="WebBluetoothRequestDeviceOutcome" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="No Bluetooth adapter"/>
  <int value="2" label="No RenderFrameHost for message source"/>
  <int value="3" label="(Obsolete) Discovery start failed"/>
  <int value="4" label="(Obsolete) Discovery stop failed"/>
  <int value="5" label="(Obsolete) No matching devices found"/>
  <int value="6" label="Bluetooth Adapter not present"/>
  <int value="7" label="(Obsolete) Bluetooth Adapter was off"/>
  <int value="8"
      label="Chosen device vanished between discovery and user selection"/>
  <int value="9" label="Chooser cancelled"/>
  <int value="10"
      label="Chooser insta-closed because Chrome isn't allowed to ask for
             permission to scan for BT devices"/>
  <int value="11" label="Blocklisted service UUID in filter"/>
  <int value="12" label="Bluetooth Overview Help link pressed."/>
  <int value="13" label="Adapter Off Help link pressed."/>
  <int value="14" label="Need Location Help link pressed."/>
  <int value="15"
      label="Chooser insta-closed because user or enterprise policy has
             disabled it"/>
  <int value="16" label="Web Bluetooth kill switch enabled"/>
  <int value="17" label="Web Bluetooth chooser event handler invalid"/>
  <int value="18" label="Bluetooth Low Energy not available"/>
  <int value="19" label="Chooser re-scan link pressed."/>
</enum>

<enum name="WebBluetoothRSSISignalStrengthLevel" type="int">
  <int value="0" label="&lt;= minimum RSSI; displayed as level 0"/>
  <int value="1" label="RSSI displayed as level 0"/>
  <int value="2" label="RSSI displayed as level 1"/>
  <int value="3" label="RSSI displayed as level 2"/>
  <int value="4" label="RSSI displayed as level 3"/>
  <int value="5" label="RSSI displayed as level 4"/>
  <int value="6" label="&gt;= maximium RSSI; displayed as level 4"/>
</enum>

<enum name="WebCertVerifyAgreement" type="int">
  <int value="0" label="Accepted by both iOS and NSS."/>
  <int value="1" label="Rejected by both iOS and NSS."/>
  <int value="2" label="Accepted only by iOS (rejected by NSS)."/>
  <int value="3" label="Accepted only by NSS (rejected by iOS)."/>
</enum>

<enum name="WebContentsState" type="int">
  <int value="0" label="No WebContents"/>
  <int value="1" label="Prerendered WebContents"/>
  <int value="2" label="Spare WebContents"/>
</enum>

<enum name="WebFontCacheHit" type="int">
  <int value="0" label="Miss"/>
  <int value="1" label="Hit disk cache"/>
  <int value="2" label="Served from data URL"/>
  <int value="3" label="Hit memory cache"/>
</enum>

<enum name="WebFontDiskCacheHit" type="int">
  <int value="0" label="Not in the cache"/>
  <int value="1" label="In the cache"/>
  <int value="2" label="Previously in the cache"/>
</enum>

<enum name="WebFontInterventionResult" type="int">
  <int value="0" label="Wasn't triggered, and does not time out"/>
  <int value="1" label="Wasn't triggered, but time out"/>
  <int value="2" label="Was triggered, but would not time out"/>
  <int value="3" label="Was triggered, and would time out"/>
</enum>

<enum name="WebFontLoadLimitState" type="int">
  <int value="0" label="Load not started"/>
  <int value="1" label="Under limit"/>
  <int value="2" label="Short limit exceeded"/>
  <int value="3" label="Long limit exceeded"/>
</enum>

<enum name="WebFontPackageFormat" type="int">
  <int value="0" label="Unknown / Decode error"/>
  <int value="1" label="SFNT"/>
  <int value="2" label="WOFF"/>
  <int value="3" label="WOFF 2.0"/>
  <int value="4" label="SVG"/>
</enum>

<enum name="WebFontUsageType" type="int">
  <int value="0" label="Styled, and used"/>
  <int value="1" label="Styled, but not used"/>
  <int value="2" label="Not styled, but used"/>
</enum>

<enum name="WebHistoryStatus" type="int">
  <int value="0" label="WEB_HISTORY_QUERY_FAILED">Failed</int>
  <int value="1" label="WEB_HISTORY_QUERY_SUCCEEDED">Succeeded</int>
  <int value="2" label="WEB_HISTORY_QUERY_TIMED_OUT">Timed out</int>
</enum>

<enum name="WebRTCAecDelayEstimateReliability" type="int">
  <int value="0" label="None."/>
  <int value="1" label="Poor."/>
  <int value="2" label="Medium."/>
  <int value="3" label="Good."/>
  <int value="4" label="Excellent."/>
</enum>

<enum name="WebRtcAudioCodecs" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Opus"/>
  <int value="2" label="iSAC"/>
  <int value="3" label="pcmA"/>
  <int value="4" label="pcmU"/>
  <int value="5" label="g722"/>
  <int value="6" label="iLBC"/>
</enum>

<enum name="WebRtcBweType" type="int">
  <int value="0" label="Receiver, no extension"/>
  <int value="1" label="Receiver, transmission offset"/>
  <int value="2" label="Receiver, absolute send time"/>
  <int value="3" label="Sender, transport sequence number"/>
</enum>

<enum name="WebRTCEventFrequency" type="int">
  <int value="0" label="None."/>
  <int value="1" label="Few."/>
  <int value="2" label="Several."/>
  <int value="3" label="Many."/>
  <int value="4" label="Constant."/>
</enum>

<enum name="WebRtcH264DecoderImplEvent" type="int">
  <int value="0" label="Init"/>
  <int value="1" label="Error"/>
</enum>

<enum name="WebRtcH264EncoderImplEvent" type="int">
  <int value="0" label="Init"/>
  <int value="1" label="Error"/>
</enum>

<enum name="WebRtcVideoCodecs" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="VP8"/>
  <int value="2" label="VP9"/>
  <int value="3" label="H264"/>
</enum>

<enum name="WebShareMethod" type="int">
  <int value="0" label="Share"/>
</enum>

<enum name="WebShareOutcome" type="int">
  <int value="0" label="Success"/>
  <int value="1" label="UnknownFailure"/>
  <int value="2" label="Canceled"/>
</enum>

<enum name="WebsiteSettingsAction" type="int">
  <int value="0" label="Opened"/>
  <int value="1" label="(Deprecated) Selected Permissions tab"/>
  <int value="2" label="(Deprecated) Selected Connection tab"/>
  <int value="3" label="(Deprecated) Connection tab shown immediately"/>
  <int value="4" label="Cookies dialog opened"/>
  <int value="5" label="Changed permission"/>
  <int value="6" label="Certificate dialog opened"/>
  <int value="7" label="(Deprecated) Transparency viewer opened"/>
  <int value="8" label="Connection help opened"/>
  <int value="9" label="Site settings opened"/>
  <int value="10" label="Security details opened"/>
</enum>

<enum name="WebSocketHandshakeResult" type="int">
  <int value="0" label="Incomplete"/>
  <int value="1" label="Normal"/>
  <int value="2" label="Failed"/>
  <int value="3" label="Connected"/>
</enum>

<enum name="WebSocketNewHandshakeResult" type="int">
  <int value="0" label="INCOMPLETE">Incomplete</int>
  <int value="1" label="CONNECTED">Connected</int>
  <int value="2" label="FAILED">Failed</int>
</enum>

<enum name="WebSocketNewPerMessageDeflateContextTakeoverMode" type="int">
  <int value="0" label="Do not take over"/>
  <int value="1" label="Take over"/>
</enum>

<enum name="WebSocketPerMessageDeflateContextTakeOverMode" type="int">
  <int value="0" label="Do not take over"/>
  <int value="1" label="Take over"/>
</enum>

<enum name="WebSocketReceiveType" type="int">
  <int value="0" label="String"/>
  <int value="1" label="ArrayBuffer"/>
  <int value="2" label="Blob"/>
</enum>

<enum name="WebSocketSendType" type="int">
  <int value="0" label="String"/>
  <int value="1" label="ArrayBuffer"/>
  <int value="2" label="ArrayBufferView"/>
  <int value="3" label="Blob"/>
</enum>

<enum name="WebUIUrlHashes" type="int">
  <int value="-2103246641" label="chrome://signin-internals/"/>
  <int value="-2034706497" label="chrome://net-internals/"/>
  <int value="-1911971715" label="chrome://history/"/>
  <int value="-1887206190" label="chrome://nfc-debug/"/>
  <int value="-1808179141" label="chrome://password-manager-internals/"/>
  <int value="-1743341803" label="chrome://bookmarks/"/>
  <int value="-1729122580" label="chrome://chrome-urls/"/>
  <int value="-1700864659" label="chrome://slow/"/>
  <int value="-1697077152" label="chrome://device-log/"/>
  <int value="-1690355375" label="chrome://mobilesetup/"/>
  <int value="-1681544613" label="chrome://print/"/>
  <int value="-1647734092" label="chrome://net-export/"/>
  <int value="-1591890659" label="chrome://syncfs-internals/"/>
  <int value="-1493822642" label="chrome://invalidations/"/>
  <int value="-1440785181" label="chrome://profile-signin-confirmation/"/>
  <int value="-1398642514" label="chrome://gesture/"/>
  <int value="-1382906531" label="chrome://managed-user-passphrase/"/>
  <int value="-1379571130" label="chrome://newtab/"/>
  <int value="-1378421581" label="chrome://media-router/"/>
  <int value="-1313432739" label="chrome://plugins/"/>
  <int value="-1169621742" label="chrome://linux-proxy-config/"/>
  <int value="-1108319739" label="chrome://sync-internals/"/>
  <int value="-1082746738" label="chrome://credits/"/>
  <int value="-1078583150" label="chrome://view-cert-dialog/"/>
  <int value="-986409800" label="chrome://identity-internals/"/>
  <int value="-969979971" label="chrome://sandbox/"/>
  <int value="-946383082" label="chrome://translate-internals/"/>
  <int value="-936786926" label="chrome://settings/"/>
  <int value="-902637811" label="chrome://appcache-internals/"/>
  <int value="-891260101" label="chrome://inspect/"/>
  <int value="-853789543" label="chrome://bluetooth-pairing/"/>
  <int value="-823585847" label="chrome://chrome-signin/"/>
  <int value="-756514973" label="chrome://version/"/>
  <int value="-753390931" label="chrome://interstitials/"/>
  <int value="-727952446" label="chrome://nacl/"/>
  <int value="-707542503" label="chrome://choose-mobile-network/"/>
  <int value="-672072143" label="chrome://site-engagement/"/>
  <int value="-661305899" label="chrome://set-time/"/>
  <int value="-644310325" label="chrome://os-credits/"/>
  <int value="-624584089"
      label="chrome-extension://eemcgdkfndhakfknompkggombfjjjeno/ (Bookmark
             Manager)"/>
  <int value="-606058756" label="chrome://accessibility/"/>
  <int value="-516792794" label="chrome://downloads/"/>
  <int value="-512782085" label="chrome://salsa/"/>
  <int value="-451371558" label="chrome://serviceworker-internals/"/>
  <int value="-377028639" label="chrome://copresence/"/>
  <int value="-359703631" label="chrome://slow_trace/"/>
  <int value="-245337017" label="chrome://user-actions/"/>
  <int value="-206925255" label="chrome://popular-sites-internals/"/>
  <int value="-176639700" label="chrome://omnibox/"/>
  <int value="-106823253" label="chrome://conflicts/"/>
  <int value="-90956977" label="chrome://dns/"/>
  <int value="-42737706" label="chrome://extensions-frame/"/>
  <int value="-2353438" label="chrome://sim-unlock/"/>
  <int value="1377205" label="chrome://history-frame/"/>
  <int value="34035361" label="chrome://apps/"/>
  <int value="43923599" label="chrome://tracing/"/>
  <int value="58807865" label="chrome://local-state/"/>
  <int value="112165789" label="chrome://device-emulator/"/>
  <int value="114748825" label="chrome-devtools://devtools/"/>
  <int value="164517522" label="chrome://discards/"/>
  <int value="171659041" label="chrome://webrtc-device-provider/"/>
  <int value="253258497" label="chrome://components/"/>
  <int value="260253931" label="chrome://devices/"/>
  <int value="325375649" label="chrome://settings-frame/"/>
  <int value="361621847" label="chrome://make-metro/"/>
  <int value="554090510" label="chrome://first-run/"/>
  <int value="581234974" label="chrome://tcmalloc/"/>
  <int value="646837226" label="chrome://crashes/"/>
  <int value="659389881" label="chrome://gpu/"/>
  <int value="689991895" label="chrome://supervised-user-internals/"/>
  <int value="742272091" label="chrome://extensions/"/>
  <int value="784140714" label="chrome://predictors/"/>
  <int value="812624791" label="chrome://dom-distiller/"/>
  <int value="918960088" label="chrome://instant/"/>
  <int value="943766809" label="chrome://view-cert/"/>
  <int value="977219287" label="chrome://memory/"/>
  <int value="985294599" label="chrome://webrtc-logs/"/>
  <int value="1055519744" label="chrome://webrtc-internals/"/>
  <int value="1109407387" label="chrome://keyboardoverlay/"/>
  <int value="1211642987" label="chrome://voicesearch/"/>
  <int value="1213428635" label="chrome://memory-redirect/"/>
  <int value="1281801197" label="chrome://terms/"/>
  <int value="1340926535" label="chrome://network/"/>
  <int value="1354146226" label="chrome://tab-modal-confirm-dialog/"/>
  <int value="1371905827" label="chrome://flags/"/>
  <int value="1396129399" label="chrome://flash/"/>
  <int value="1403605293" label="chrome://proxy-settings/"/>
  <int value="1427179406" label="chrome://gcm-internals/"/>
  <int value="1454088830" label="chrome://uber-frame/"/>
  <int value="1457759734" label="chrome://user-manager/"/>
  <int value="1463418339" label="chrome://proximity-auth/"/>
  <int value="1466599095" label="chrome://oobe/"/>
  <int value="1467342679" label="chrome://memory-internals/"/>
  <int value="1540230808" label="chrome://power/"/>
  <int value="1568301017" label="chrome://media-internals/"/>
  <int value="1585293659" label="chrome://system/"/>
  <int value="1603463396" label="chrome://help-frame/"/>
  <int value="1615939424" label="chrome://chrome/"/>
  <int value="1628875649" label="chrome://quota-internals/"/>
  <int value="1631369147" label="chrome://domain-reliability-internals/"/>
  <int value="1662453825" label="chrome://indexeddb-internals/"/>
  <int value="1687272877" label="chrome://syncresources/"/>
  <int value="1725906496" label="chrome://imageburner/"/>
  <int value="1765337366" label="chrome://certificate-manager/"/>
  <int value="1797107942" label="chrome://md-settings/"/>
  <int value="1887784693" label="chrome://policy/"/>
  <int value="1926101309" label="chrome://cryptohome/"/>
  <int value="1961263039" label="chrome://profiler/"/>
  <int value="1975618905" label="chrome://app-list/"/>
  <int value="2040878656" label="chrome://bluetooth-internals/"/>
  <int value="2114840772" label="chrome://drive-internals/"/>
  <int value="3251925547" label="chrome://offline-internals/"/>
</enum>

<enum name="WebUsbChooserClosed" type="int">
  <int value="0" label="User cancelled"/>
  <int value="1" label="User cancelled, no devices available"/>
  <int value="2" label="Permission granted"/>
  <int value="3" label="Ephemeral permission granted"/>
</enum>

<enum name="WebUsbNotificationClosed" type="int">
  <int value="0" label="Closed by system"/>
  <int value="1" label="Closed by user"/>
  <int value="2" label="Clicked"/>
</enum>

<enum name="WebUsbPermissionRevoked" type="int">
  <int value="0" label="Revoked permission"/>
  <int value="1" label="Revoked ephemeral permission"/>
</enum>

<enum name="WelcomeSignInPromptOutcome" type="int">
  <int value="0" label="User navigated away from page"/>
  <int value="1" label="User declined prompt"/>
  <int value="2" label="User completed sign in flow"/>
</enum>

<enum name="WhitelistedDownloadType" type="int">
  <int value="0" label="Does not match any whitelists"/>
  <int value="1" label="URL whitelist"/>
  <int value="2" label="Signature whitelist"/>
</enum>

<enum name="WiFiApMode" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Managed"/>
  <int value="2" label="AdHoc"/>
</enum>

<enum name="WiFiConnectionStatusAfterWake" type="int">
  <int value="0" label="Connected (Wake On WiFi enabled)"/>
  <int value="1" label="Not connected (Wake On WiFi enabled)"/>
  <int value="2" label="Connected (Wake On WiFi disabled)"/>
  <int value="3" label="Not connected (Wake On WiFi disabled)"/>
</enum>

<enum name="WiFiReasonCode" type="int">
  <int value="0" label="kReasonReserved0"/>
  <int value="1" label="kReasonCodeUnspecified"/>
  <int value="2" label="kReasonCodePreviousAuthenticationInvalid"/>
  <int value="3" label="kReasonCodeSenderHasLeft"/>
  <int value="4" label="kReasonCodeInactivity"/>
  <int value="5" label="kReasonCodeTooManySTAs"/>
  <int value="6" label="kReasonCodeNonAuthenticated"/>
  <int value="7" label="kReasonCodeNonAssociated"/>
  <int value="8" label="kReasonCodeDisassociatedHasLeft"/>
  <int value="9" label="kReasonCodeReassociationNotAuthenticated"/>
  <int value="10" label="kReasonCodeUnacceptablePowerCapability"/>
  <int value="11" label="kReasonCodeUnacceptableSupportedChannelInfo"/>
  <int value="12" label="kReasonReserved12"/>
  <int value="13" label="kReasonCodeInvalidInfoElement"/>
  <int value="14" label="kReasonCodeMICFailure"/>
  <int value="15" label="kReasonCode4WayTimeout"/>
  <int value="16" label="kReasonCodeGroupKeyHandshakeTimeout"/>
  <int value="17" label="kReasonCodeDifferenIE"/>
  <int value="18" label="kReasonCodeGroupCipherInvalid"/>
  <int value="19" label="kReasonCodePairwiseCipherInvalid"/>
  <int value="20" label="kReasonCodeAkmpInvalid"/>
  <int value="21" label="kReasonCodeUnsupportedRsnIeVersion"/>
  <int value="22" label="kReasonCodeInvalidRsnIeCaps"/>
  <int value="23" label="kReasonCode8021XAuth"/>
  <int value="24" label="kReasonCodeCipherSuiteRejected"/>
  <int value="25" label="kReasonReserved25"/>
  <int value="26" label="kReasonReserved26"/>
  <int value="27" label="kReasonReserved27"/>
  <int value="28" label="kReasonReserved28"/>
  <int value="29" label="kReasonReserved29"/>
  <int value="30" label="kReasonReserved30"/>
  <int value="31" label="kReasonReserved31"/>
  <int value="32" label="kReasonCodeUnspecifiedQoS"/>
  <int value="33" label="kReasonCodeQoSBandwidth"/>
  <int value="34" label="kReasonCodeiPoorConditions"/>
  <int value="35" label="kReasonCodeOutsideTxop"/>
  <int value="36" label="kReasonCodeStaLeaving"/>
  <int value="37" label="kReasonCodeUnacceptableMechanism"/>
  <int value="38" label="kReasonCodeSetupRequired"/>
  <int value="39" label="kReasonCodeTimeout"/>
  <int value="45" label="kReasonCodeCipherSuiteNotSupported"/>
</enum>

<enum name="WiFiScanResult" type="int">
  <int value="0" label="ProgressiveScan connected"/>
  <int value="1" label="ProgressiveScan error then FullScan didn't connect"/>
  <int value="2" label="ProgressiveScan error then FullScan connected"/>
  <int value="3"
      label="ProgressiveScan didn't connect then FullScan didn't connect"/>
  <int value="4"
      label="ProgressiveScan didn't connect then FullScan connected"/>
  <int value="5" label="FullScan didn't connect"/>
  <int value="6" label="FullScan connected"/>
  <int value="7" label="Internal error"/>
</enum>

<enum name="WiFiStatusType" type="int">
  <int value="0" label="kStatusCodeTypeByAp"/>
  <int value="1" label="kStatusCodeTypeByClient"/>
  <int value="2" label="kStatusCodeTypeByUser"/>
  <int value="3" label="kStatusCodeTypeConsideredDead"/>
</enum>

<enum name="Win8PageLoadType" type="int">
  <int value="0" label="Metro"/>
  <int value="1" label="Desktop"/>
  <int value="2" label="Metro Aura"/>
  <int value="3" label="Desktop Aura"/>
</enum>

<enum name="WindowOpenDisposition" type="int">
  <int value="0" label="Unknown"/>
  <int value="1" label="Current Tab"/>
  <int value="2" label="Singleton Tab"/>
  <int value="3" label="New Foreground Tab"/>
  <int value="4" label="New Background Tab"/>
  <int value="5" label="New Popup"/>
  <int value="6" label="New Window"/>
  <int value="7" label="Save To Disk"/>
  <int value="8" label="Off The Record"/>
  <int value="9" label="Ignore Action"/>
</enum>

<enum name="WindowsExitCode" type="int">
  <int value="-2147483645" label="0x80000003 - STATUS_BREAKPOINT"/>
  <int value="-1073741819" label="0xC0000005 - STATUS_ACCESS_VIOLATION"/>
  <int value="-1073740972" label="0xC0000354 - STATUS_DEBUGGER_INACTIVE"/>
  <int value="-1073740791" label="0xC0000409 - STATUS_STACK_BUFFER_OVERRUN"/>
  <int value="-1073740777"
      label="0xC0000417 - STATUS_INVALID_CRUNTIME_PARAMETER"/>
  <int value="-805306369" label="0xCFFFFFFF - Hung browser killed."/>
  <int value="-36863" label="0xFFFF7001 - Crashpad kCrashExitCodeNoDump."/>
  <int value="-36862" label="0xFFFF7002 - Crashpad kFailedTerminationCode."/>
  <int value="0" label="content::RESULT_CODE_NORMAL_EXIT"/>
  <int value="1" label="content::RESULT_CODE_KILLED"/>
  <int value="2" label="content::RESULT_CODE_HUNG"/>
  <int value="3" label="content::RESULT_CODE_KILLED_BAD_MESSAGE"/>
  <int value="4" label="chrome::RESULT_CODE_INVALID_CMDLINE_URL"/>
  <int value="5" label="chrome::RESULT_CODE_BAD_PROCESS_TYPE"/>
  <int value="6" label="chrome::RESULT_CODE_MISSING_DATA"/>
  <int value="7" label="chrome::RESULT_CODE_SHELL_INTEGRATION_FAILED"/>
  <int value="8" label="chrome::RESULT_CODE_MACHINE_LEVEL_INSTALL_EXISTS"/>
  <int value="9" label="chrome::RESULT_CODE_UNINSTALL_CHROME_ALIVE"/>
  <int value="10" label="chrome::RESULT_CODE_UNINSTALL_USER_CANCEL"/>
  <int value="11" label="chrome::RESULT_CODE_UNINSTALL_DELETE_PROFILE"/>
  <int value="12" label="chrome::RESULT_CODE_UNSUPPORTED_PARAM"/>
  <int value="13" label="chrome::RESULT_CODE_IMPORTER_HUNG"/>
  <int value="14" label="chrome::RESULT_CODE_RESPAWN_FAILED"/>
  <int value="15" label="chrome::RESULT_CODE_NORMAL_EXIT_EXP1"/>
  <int value="16" label="chrome::RESULT_CODE_NORMAL_EXIT_EXP2"/>
  <int value="17" label="chrome::RESULT_CODE_NORMAL_EXIT_EXP3"/>
  <int value="18" label="chrome::RESULT_CODE_NORMAL_EXIT_EXP4"/>
  <int value="19" label="chrome::RESULT_CODE_NORMAL_EXIT_CANCEL"/>
  <int value="20" label="chrome::RESULT_CODE_PROFILE_IN_USE"/>
  <int value="21" label="chrome::RESULT_CODE_PACK_EXTENSION_ERROR"/>
  <int value="22" label="chrome::RESULT_CODE_UNINSTALL_EXTENSION_ERROR"/>
  <int value="23" label="chrome::RESULT_CODE_NORMAL_EXIT_PROCESS_NOTIFIED"/>
  <int value="24" label="chrome::RESULT_CODE_NOTUSED_1"/>
  <int value="25" label="chrome::RESULT_CODE_INSTALL_FROM_WEBSTORE_ERROR_2"/>
  <int value="26" label="chrome::RESULT_CODE_NOTUSED_2"/>
  <int value="27" label="chrome::RESULT_CODE_EULA_REFUSED"/>
  <int value="28" label="chrome::RESULT_CODE_SXS_MIGRATION_FAILED"/>
  <int value="29" label="chrome::RESULT_CODE_ACTION_DISALLOWED_BY_POLICY"/>
  <int value="30" label="chrome::RESULT_CODE_INVALID_SANDBOX_STATE"/>
  <int value="259" label="0x103 - STILL_ACTIVE."/>
  <int value="85436397" label="0x517a7ed - Crashpad simulated exception"/>
  <int value="1073807364" label="0x40010004 - DBG_TERMINATE_PROCESS"/>
</enum>

<enum name="WindowsVersion" type="int">
  <int value="0" label="Pre-XP"/>
  <int value="1" label="XP"/>
  <int value="2" label="2003 Server"/>
  <int value="3" label="Vista"/>
  <int value="4" label="Windows 7"/>
  <int value="5" label="Windows 8"/>
  <int value="6" label="Windows 8.1"/>
  <int value="7" label="Windows 10"/>
  <int value="8" label="Windows 10 TH2"/>
</enum>

<enum name="WindowType" type="int">
  <int value="0" label="Other"/>
  <int value="1" label="Browser"/>
  <int value="2" label="Hosted App"/>
  <int value="3" label="Packaged App"/>
</enum>

<enum name="WinGetLastError" type="int">
  <int value="0" label="SUCCESS"/>
  <int value="1" label="INVALID_FUNCTION"/>
  <int value="2" label="FILE_NOT_FOUND"/>
  <int value="3" label="PATH_NOT_FOUND"/>
  <int value="4" label="TOO_MANY_OPEN_FILES"/>
  <int value="5" label="ACCESS_DENIED"/>
  <int value="6" label="INVALID_HANDLE"/>
  <int value="7" label="ARENA_TRASHED"/>
  <int value="8" label="NOT_ENOUGH_MEMORY"/>
  <int value="9" label="INVALID_BLOCK"/>
  <int value="10" label="BAD_ENVIRONMENT"/>
  <int value="11" label="BAD_FORMAT"/>
  <int value="12" label="INVALID_ACCESS"/>
  <int value="13" label="INVALID_DATA"/>
  <int value="14" label="OUTOFMEMORY"/>
  <int value="15" label="INVALID_DRIVE"/>
  <int value="16" label="CURRENT_DIRECTORY"/>
  <int value="17" label="NOT_SAME_DEVICE"/>
  <int value="18" label="NO_MORE_FILES"/>
  <int value="19" label="WRITE_PROTECT"/>
  <int value="20" label="BAD_UNIT"/>
  <int value="21" label="NOT_READY"/>
  <int value="22" label="BAD_COMMAND"/>
  <int value="23" label="CRC"/>
  <int value="24" label="BAD_LENGTH"/>
  <int value="25" label="SEEK"/>
  <int value="26" label="NOT_DOS_DISK"/>
  <int value="27" label="SECTOR_NOT_FOUND"/>
  <int value="28" label="OUT_OF_PAPER"/>
  <int value="29" label="WRITE_FAULT"/>
  <int value="30" label="READ_FAULT"/>
  <int value="31" label="GEN_FAILURE"/>
  <int value="32" label="SHARING_VIOLATION"/>
  <int value="33" label="LOCK_VIOLATION"/>
  <int value="34" label="WRONG_DISK"/>
  <int value="36" label="SHARING_BUFFER_EXCEEDED"/>
  <int value="38" label="HANDLE_EOF"/>
  <int value="39" label="HANDLE_DISK_FULL"/>
  <int value="50" label="NOT_SUPPORTED"/>
  <int value="51" label="REM_NOT_LIST"/>
  <int value="52" label="DUP_NAME"/>
  <int value="53" label="BAD_NETPATH"/>
  <int value="54" label="NETWORK_BUSY"/>
  <int value="55" label="DEV_NOT_EXIST"/>
  <int value="56" label="TOO_MANY_CMDS"/>
  <int value="57" label="ADAP_HDW_ERR"/>
  <int value="58" label="BAD_NET_RESP"/>
  <int value="59" label="UNEXP_NET_ERR"/>
  <int value="60" label="BAD_REM_ADAP"/>
  <int value="61" label="PRINTQ_FULL"/>
  <int value="62" label="NO_SPOOL_SPACE"/>
  <int value="63" label="PRINT_CANCELLED"/>
  <int value="64" label="NETNAME_DELETED"/>
  <int value="65" label="NETWORK_ACCESS_DENIED"/>
  <int value="66" label="BAD_DEV_TYPE"/>
  <int value="67" label="BAD_NET_NAME"/>
  <int value="68" label="TOO_MANY_NAMES"/>
  <int value="69" label="TOO_MANY_SESS"/>
  <int value="70" label="SHARING_PAUSED"/>
  <int value="71" label="REQ_NOT_ACCEP"/>
  <int value="72" label="REDIR_PAUSED"/>
  <int value="80" label="FILE_EXISTS"/>
  <int value="82" label="CANNOT_MAKE"/>
  <int value="83" label="FAIL_I24"/>
  <int value="84" label="OUT_OF_STRUCTURES"/>
  <int value="85" label="ALREADY_ASSIGNED"/>
  <int value="86" label="INVALID_PASSWORD"/>
  <int value="87" label="INVALID_PARAMETER"/>
  <int value="88" label="NET_WRITE_FAULT"/>
  <int value="89" label="NO_PROC_SLOTS"/>
  <int value="100" label="TOO_MANY_SEMAPHORES"/>
  <int value="101" label="EXCL_SEM_ALREADY_OWNED"/>
  <int value="102" label="SEM_IS_SET"/>
  <int value="103" label="TOO_MANY_SEM_REQUESTS"/>
  <int value="104" label="INVALID_AT_INTERRUPT_TIME"/>
  <int value="105" label="SEM_OWNER_DIED"/>
  <int value="106" label="SEM_USER_LIMIT"/>
  <int value="107" label="DISK_CHANGE"/>
  <int value="108" label="DRIVE_LOCKED"/>
  <int value="109" label="BROKEN_PIPE"/>
  <int value="110" label="OPEN_FAILED"/>
  <int value="111" label="BUFFER_OVERFLOW"/>
  <int value="112" label="DISK_FULL"/>
  <int value="113" label="NO_MORE_SEARCH_HANDLES"/>
  <int value="114" label="INVALID_TARGET_HANDLE"/>
  <int value="117" label="INVALID_CATEGORY"/>
  <int value="118" label="INVALID_VERIFY_SWITCH"/>
  <int value="119" label="BAD_DRIVER_LEVEL"/>
  <int value="120" label="CALL_NOT_IMPLEMENTED"/>
  <int value="121" label="SEM_TIMEOUT"/>
  <int value="122" label="INSUFFICIENT_BUFFER"/>
  <int value="123" label="INVALID_NAME"/>
  <int value="124" label="INVALID_LEVEL"/>
  <int value="125" label="NO_VOLUME_LABEL"/>
  <int value="126" label="MOD_NOT_FOUND"/>
  <int value="127" label="PROC_NOT_FOUND"/>
  <int value="128" label="WAIT_NO_CHILDREN"/>
  <int value="129" label="CHILD_NOT_COMPLETE"/>
  <int value="130" label="DIRECT_ACCESS_HANDLE"/>
  <int value="131" label="NEGATIVE_SEEK"/>
  <int value="132" label="SEEK_ON_DEVICE"/>
  <int value="133" label="IS_JOIN_TARGET"/>
  <int value="134" label="IS_JOINED"/>
  <int value="135" label="IS_SUBSTED"/>
  <int value="136" label="NOT_JOINED"/>
  <int value="137" label="NOT_SUBSTED"/>
  <int value="138" label="JOIN_TO_JOIN"/>
  <int value="139" label="SUBST_TO_SUBST"/>
  <int value="140" label="JOIN_TO_SUBST"/>
  <int value="141" label="SUBST_TO_JOIN"/>
  <int value="142" label="BUSY_DRIVE"/>
  <int value="143" label="SAME_DRIVE"/>
  <int value="144" label="DIR_NOT_ROOT"/>
  <int value="145" label="DIR_NOT_EMPTY"/>
  <int value="146" label="IS_SUBST_PATH"/>
  <int value="147" label="IS_JOIN_PATH"/>
  <int value="148" label="PATH_BUSY"/>
  <int value="149" label="IS_SUBST_TARGET"/>
  <int value="150" label="SYSTEM_TRACE"/>
  <int value="151" label="INVALID_EVENT_COUNT"/>
  <int value="152" label="TOO_MANY_MUXWAITERS"/>
  <int value="153" label="INVALID_LIST_FORMAT"/>
  <int value="154" label="LABEL_TOO_LONG"/>
  <int value="155" label="TOO_MANY_TCBS"/>
  <int value="156" label="SIGNAL_REFUSED"/>
  <int value="157" label="DISCARDED"/>
  <int value="158" label="NOT_LOCKED"/>
  <int value="159" label="BAD_THREADID_ADDR"/>
  <int value="160" label="BAD_ARGUMENTS"/>
  <int value="161" label="BAD_PATHNAME"/>
  <int value="162" label="SIGNAL_PENDING"/>
  <int value="164" label="MAX_THRDS_REACHED"/>
  <int value="167" label="LOCK_FAILED"/>
  <int value="170" label="BUSY"/>
  <int value="171" label="DEVICE_SUPPORT_IN_PROGRESS"/>
  <int value="173" label="CANCEL_VIOLATION"/>
  <int value="174" label="ATOMIC_LOCKS_NOT_SUPPORTED"/>
  <int value="180" label="INVALID_SEGMENT_NUMBER"/>
  <int value="182" label="INVALID_ORDINAL"/>
  <int value="183" label="ALREADY_EXISTS"/>
  <int value="186" label="INVALID_FLAG_NUMBER"/>
  <int value="187" label="SEM_NOT_FOUND"/>
  <int value="188" label="INVALID_STARTING_CODESEG"/>
  <int value="189" label="INVALID_STACKSEG"/>
  <int value="190" label="INVALID_MODULETYPE"/>
  <int value="191" label="INVALID_EXE_SIGNATURE"/>
  <int value="192" label="EXE_MARKED_INVALID"/>
  <int value="193" label="BAD_EXE_FORMAT"/>
  <int value="194" label="ITERATED_DATA_EXCEEDS_64k"/>
  <int value="195" label="INVALID_MINALLOCSIZE"/>
  <int value="196" label="DYNLINK_FROM_INVALID_RING"/>
  <int value="197" label="IOPL_NOT_ENABLED"/>
  <int value="198" label="INVALID_SEGDPL"/>
  <int value="199" label="AUTODATASEG_EXCEEDS_64k"/>
  <int value="200" label="RING2SEG_MUST_BE_MOVABLE"/>
  <int value="201" label="RELOC_CHAIN_XEEDS_SEGLIM"/>
  <int value="202" label="INFLOOP_IN_RELOC_CHAIN"/>
  <int value="203" label="ENVVAR_NOT_FOUND"/>
  <int value="205" label="NO_SIGNAL_SENT"/>
  <int value="206" label="FILENAME_EXCED_RANGE"/>
  <int value="207" label="RING2_STACK_IN_USE"/>
  <int value="208" label="META_EXPANSION_TOO_LONG"/>
  <int value="209" label="INVALID_SIGNAL_NUMBER"/>
  <int value="210" label="THREAD_1_INACTIVE"/>
  <int value="212" label="LOCKED"/>
  <int value="214" label="TOO_MANY_MODULES"/>
  <int value="215" label="NESTING_NOT_ALLOWED"/>
  <int value="216" label="EXE_MACHINE_TYPE_MISMATCH"/>
  <int value="217" label="EXE_CANNOT_MODIFY_SIGNED_BINARY"/>
  <int value="218" label="EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY"/>
  <int value="220" label="FILE_CHECKED_OUT"/>
  <int value="221" label="CHECKOUT_REQUIRED"/>
  <int value="222" label="BAD_FILE_TYPE"/>
  <int value="223" label="FILE_TOO_LARGE"/>
  <int value="224" label="FORMS_AUTH_REQUIRED"/>
  <int value="225" label="VIRUS_INFECTED"/>
  <int value="226" label="VIRUS_DELETED"/>
  <int value="229" label="PIPE_LOCAL"/>
  <int value="230" label="BAD_PIPE"/>
  <int value="231" label="PIPE_BUSY"/>
  <int value="232" label="NO_DATA"/>
  <int value="233" label="PIPE_NOT_CONNECTED"/>
  <int value="234" label="MORE_DATA"/>
  <int value="240" label="VC_DISCONNECTED"/>
  <int value="254" label="INVALID_EA_NAME"/>
  <int value="255" label="EA_LIST_INCONSISTENT"/>
  <int value="258" label="TIMEOUT"/>
  <int value="259" label="NO_MORE_ITEMS"/>
  <int value="266" label="CANNOT_COPY"/>
  <int value="267" label="DIRECTORY"/>
  <int value="275" label="EAS_DIDNT_FIT"/>
  <int value="276" label="EA_FILE_CORRUPT"/>
  <int value="277" label="EA_TABLE_FULL"/>
  <int value="278" label="INVALID_EA_HANDLE"/>
  <int value="282" label="EAS_NOT_SUPPORTED"/>
  <int value="288" label="NOT_OWNER"/>
  <int value="298" label="TOO_MANY_POSTS"/>
  <int value="299" label="PARTIAL_COPY"/>
  <int value="300" label="OPLOCK_NOT_GRANTED"/>
  <int value="301" label="INVALID_OPLOCK_PROTOCOL"/>
  <int value="302" label="DISK_TOO_FRAGMENTED"/>
  <int value="303" label="DELETE_PENDING"/>
  <int value="304"
      label="INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING"/>
  <int value="305" label="SHORT_NAMES_NOT_ENABLED_ON_VOLUME"/>
  <int value="306" label="SECURITY_STREAM_IS_INCONSISTENT"/>
  <int value="307" label="INVALID_LOCK_RANGE"/>
  <int value="308" label="IMAGE_SUBSYSTEM_NOT_PRESENT"/>
  <int value="309" label="NOTIFICATION_GUID_ALREADY_DEFINED"/>
  <int value="310" label="INVALID_EXCEPTION_HANDLER"/>
  <int value="311" label="DUPLICATE_PRIVILEGES"/>
  <int value="312" label="NO_RANGES_PROCESSED"/>
  <int value="313" label="NOT_ALLOWED_ON_SYSTEM_FILE"/>
  <int value="314" label="DISK_RESOURCES_EXHAUSTED"/>
  <int value="315" label="INVALID_TOKEN"/>
  <int value="316" label="DEVICE_FEATURE_NOT_SUPPORTED"/>
  <int value="317" label="MR_MID_NOT_FOUND"/>
  <int value="318" label="SCOPE_NOT_FOUND"/>
  <int value="319" label="UNDEFINED_SCOPE"/>
  <int value="320" label="INVALID_CAP"/>
  <int value="321" label="DEVICE_UNREACHABLE"/>
  <int value="322" label="DEVICE_NO_RESOURCES"/>
  <int value="323" label="DATA_CHECKSUM_ERROR"/>
  <int value="324" label="INTERMIXED_KERNEL_EA_OPERATION"/>
  <int value="326" label="FILE_LEVEL_TRIM_NOT_SUPPORTED"/>
  <int value="327" label="OFFSET_ALIGNMENT_VIOLATION"/>
  <int value="328" label="INVALID_FIELD_IN_PARAMETER_LIST"/>
  <int value="329" label="OPERATION_IN_PROGRESS"/>
  <int value="330" label="BAD_DEVICE_PATH"/>
  <int value="331" label="TOO_MANY_DESCRIPTORS"/>
  <int value="332" label="SCRUB_DATA_DISABLED"/>
  <int value="333" label="NOT_REDUNDANT_STORAGE"/>
  <int value="334" label="RESIDENT_FILE_NOT_SUPPORTED"/>
  <int value="335" label="COMPRESSED_FILE_NOT_SUPPORTED"/>
  <int value="336" label="DIRECTORY_NOT_SUPPORTED"/>
  <int value="337" label="NOT_READ_FROM_COPY"/>
  <int value="350" label="FAIL_NOACTION_REBOOT"/>
  <int value="351" label="FAIL_SHUTDOWN"/>
  <int value="352" label="FAIL_RESTART"/>
  <int value="353" label="MAX_SESSIONS_REACHED"/>
  <int value="400" label="THREAD_MODE_ALREADY_BACKGROUND"/>
  <int value="401" label="THREAD_MODE_NOT_BACKGROUND"/>
  <int value="402" label="PROCESS_MODE_ALREADY_BACKGROUND"/>
  <int value="403" label="PROCESS_MODE_NOT_BACKGROUND"/>
  <int value="487" label="INVALID_ADDRESS"/>
  <int value="500" label="USER_PROFILE_LOAD"/>
  <int value="534" label="ARITHMETIC_OVERFLOW"/>
  <int value="535" label="PIPE_CONNECTED"/>
  <int value="536" label="PIPE_LISTENING"/>
  <int value="537" label="VERIFIER_STOP"/>
  <int value="538" label="ABIOS_ERROR"/>
  <int value="539" label="WX86_WARNING"/>
  <int value="540" label="WX86_ERROR"/>
  <int value="541" label="TIMER_NOT_CANCELED"/>
  <int value="542" label="UNWIND"/>
  <int value="543" label="BAD_STACK"/>
  <int value="544" label="INVALID_UNWIND_TARGET"/>
  <int value="545" label="INVALID_PORT_ATTRIBUTES"/>
  <int value="546" label="PORT_MESSAGE_TOO_LONG"/>
  <int value="547" label="INVALID_QUOTA_LOWER"/>
  <int value="548" label="DEVICE_ALREADY_ATTACHED"/>
  <int value="549" label="INSTRUCTION_MISALIGNMENT"/>
  <int value="550" label="PROFILING_NOT_STARTED"/>
  <int value="551" label="PROFILING_NOT_STOPPED"/>
  <int value="552" label="COULD_NOT_INTERPRET"/>
  <int value="553" label="PROFILING_AT_LIMIT"/>
  <int value="554" label="CANT_WAIT"/>
  <int value="555" label="CANT_TERMINATE_SELF"/>
  <int value="556" label="UNEXPECTED_MM_CREATE_ERR"/>
  <int value="557" label="UNEXPECTED_MM_MAP_ERROR"/>
  <int value="558" label="UNEXPECTED_MM_EXTEND_ERR"/>
  <int value="559" label="BAD_FUNCTION_TABLE"/>
  <int value="560" label="NO_GUID_TRANSLATION"/>
  <int value="561" label="INVALID_LDT_SIZE"/>
  <int value="563" label="INVALID_LDT_OFFSET"/>
  <int value="564" label="INVALID_LDT_DESCRIPTOR"/>
  <int value="565" label="TOO_MANY_THREADS"/>
  <int value="566" label="THREAD_NOT_IN_PROCESS"/>
  <int value="567" label="PAGEFILE_QUOTA_EXCEEDED"/>
  <int value="568" label="LOGON_SERVER_CONFLICT"/>
  <int value="569" label="SYNCHRONIZATION_REQUIRED"/>
  <int value="570" label="NET_OPEN_FAILED"/>
  <int value="571" label="IO_PRIVILEGE_FAILED"/>
  <int value="572" label="CONTROL_C_EXIT"/>
  <int value="573" label="MISSING_SYSTEMFILE"/>
  <int value="574" label="UNHANDLED_EXCEPTION"/>
  <int value="575" label="APP_INIT_FAILURE"/>
  <int value="576" label="PAGEFILE_CREATE_FAILED"/>
  <int value="577" label="INVALID_IMAGE_HASH"/>
  <int value="578" label="NO_PAGEFILE"/>
  <int value="579" label="ILLEGAL_FLOAT_CONTEXT"/>
  <int value="580" label="NO_EVENT_PAIR"/>
  <int value="581" label="DOMAIN_CTRLR_CONFIG_ERROR"/>
  <int value="582" label="ILLEGAL_CHARACTER"/>
  <int value="583" label="UNDEFINED_CHARACTER"/>
  <int value="584" label="FLOPPY_VOLUME"/>
  <int value="585" label="BIOS_FAILED_TO_CONNECT_INTERRUPT"/>
  <int value="586" label="BACKUP_CONTROLLER"/>
  <int value="587" label="MUTANT_LIMIT_EXCEEDED"/>
  <int value="588" label="FS_DRIVER_REQUIRED"/>
  <int value="589" label="CANNOT_LOAD_REGISTRY_FILE"/>
  <int value="590" label="DEBUG_ATTACH_FAILED"/>
  <int value="591" label="SYSTEM_PROCESS_TERMINATED"/>
  <int value="592" label="DATA_NOT_ACCEPTED"/>
  <int value="593" label="VDM_HARD_ERROR"/>
  <int value="594" label="DRIVER_CANCEL_TIMEOUT"/>
  <int value="595" label="REPLY_MESSAGE_MISMATCH"/>
  <int value="596" label="LOST_WRITEBEHIND_DATA"/>
  <int value="597" label="CLIENT_SERVER_PARAMETERS_INVALID"/>
  <int value="598" label="NOT_TINY_STREAM"/>
  <int value="599" label="STACK_OVERFLOW_READ"/>
  <int value="600" label="CONVERT_TO_LARGE"/>
  <int value="601" label="FOUND_OUT_OF_SCOPE"/>
  <int value="602" label="ALLOCATE_BUCKET"/>
  <int value="603" label="MARSHALL_OVERFLOW"/>
  <int value="604" label="INVALID_VARIANT"/>
  <int value="605" label="BAD_COMPRESSION_BUFFER"/>
  <int value="606" label="AUDIT_FAILED"/>
  <int value="607" label="TIMER_RESOLUTION_NOT_SET"/>
  <int value="608" label="INSUFFICIENT_LOGON_INFO"/>
  <int value="609" label="BAD_DLL_ENTRYPOINT"/>
  <int value="610" label="BAD_SERVICE_ENTRYPOINT"/>
  <int value="611" label="IP_ADDRESS_CONFLICT1"/>
  <int value="612" label="IP_ADDRESS_CONFLICT2"/>
  <int value="613" label="REGISTRY_QUOTA_LIMIT"/>
  <int value="614" label="NO_CALLBACK_ACTIVE"/>
  <int value="615" label="PWD_TOO_SHORT"/>
  <int value="616" label="PWD_TOO_RECENT"/>
  <int value="617" label="PWD_HISTORY_CONFLICT"/>
  <int value="618" label="UNSUPPORTED_COMPRESSION"/>
  <int value="619" label="INVALID_HW_PROFILE"/>
  <int value="620" label="INVALID_PLUGPLAY_DEVICE_PATH"/>
  <int value="621" label="QUOTA_LIST_INCONSISTENT"/>
  <int value="622" label="EVALUATION_EXPIRATION"/>
  <int value="623" label="ILLEGAL_DLL_RELOCATION"/>
  <int value="624" label="DLL_INIT_FAILED_LOGOFF"/>
  <int value="625" label="VALIDATE_CONTINUE"/>
  <int value="626" label="NO_MORE_MATCHES"/>
  <int value="627" label="RANGE_LIST_CONFLICT"/>
  <int value="628" label="SERVER_SID_MISMATCH"/>
  <int value="629" label="CANT_ENABLE_DENY_ONLY"/>
  <int value="630" label="FLOAT_MULTIPLE_FAULTS"/>
  <int value="631" label="FLOAT_MULTIPLE_TRAPS"/>
  <int value="632" label="NOINTERFACE"/>
  <int value="633" label="DRIVER_FAILED_SLEEP"/>
  <int value="634" label="CORRUPT_SYSTEM_FILE"/>
  <int value="635" label="COMMITMENT_MINIMUM"/>
  <int value="636" label="PNP_RESTART_ENUMERATION"/>
  <int value="637" label="SYSTEM_IMAGE_BAD_SIGNATURE"/>
  <int value="638" label="PNP_REBOOT_REQUIRED"/>
  <int value="639" label="INSUFFICIENT_POWER"/>
  <int value="640" label="MULTIPLE_FAULT_VIOLATION"/>
  <int value="641" label="SYSTEM_SHUTDOWN"/>
  <int value="642" label="PORT_NOT_SET"/>
  <int value="643" label="DS_VERSION_CHECK_FAILURE"/>
  <int value="644" label="RANGE_NOT_FOUND"/>
  <int value="646" label="NOT_SAFE_MODE_DRIVER"/>
  <int value="647" label="FAILED_DRIVER_ENTRY"/>
  <int value="648" label="DEVICE_ENUMERATION_ERROR"/>
  <int value="649" label="MOUNT_POINT_NOT_RESOLVED"/>
  <int value="650" label="INVALID_DEVICE_OBJECT_PARAMETER"/>
  <int value="651" label="MCA_OCCURED"/>
  <int value="652" label="DRIVER_DATABASE_ERROR"/>
  <int value="653" label="SYSTEM_HIVE_TOO_LARGE"/>
  <int value="654" label="DRIVER_FAILED_PRIOR_UNLOAD"/>
  <int value="655" label="VOLSNAP_PREPARE_HIBERNATE"/>
  <int value="656" label="HIBERNATION_FAILURE"/>
  <int value="657" label="PWD_TOO_LONG"/>
  <int value="665" label="FILE_SYSTEM_LIMITATION"/>
  <int value="668" label="ASSERTION_FAILURE"/>
  <int value="669" label="ACPI_ERROR"/>
  <int value="670" label="WOW_ASSERTION"/>
  <int value="671" label="PNP_BAD_MPS_TABLE"/>
  <int value="672" label="PNP_TRANSLATION_FAILED"/>
  <int value="673" label="PNP_IRQ_TRANSLATION_FAILED"/>
  <int value="674" label="PNP_INVALID_ID"/>
  <int value="675" label="WAKE_SYSTEM_DEBUGGER"/>
  <int value="676" label="HANDLES_CLOSED"/>
  <int value="677" label="EXTRANEOUS_INFORMATION"/>
  <int value="678" label="RXACT_COMMIT_NECESSARY"/>
  <int value="679" label="MEDIA_CHECK"/>
  <int value="680" label="GUID_SUBSTITUTION_MADE"/>
  <int value="681" label="STOPPED_ON_SYMLINK"/>
  <int value="682" label="LONGJUMP"/>
  <int value="683" label="PLUGPLAY_QUERY_VETOED"/>
  <int value="684" label="UNWIND_CONSOLIDATE"/>
  <int value="685" label="REGISTRY_HIVE_RECOVERED"/>
  <int value="686" label="DLL_MIGHT_BE_INSECURE"/>
  <int value="687" label="DLL_MIGHT_BE_INCOMPATIBLE"/>
  <int value="688" label="DBG_EXCEPTION_NOT_HANDLED"/>
  <int value="689" label="DBG_REPLY_LATER"/>
  <int value="690" label="DBG_UNABLE_TO_PROVIDE_HANDLE"/>
  <int value="691" label="DBG_TERMINATE_THREAD"/>
  <int value="692" label="DBG_TERMINATE_PROCESS"/>
  <int value="693" label="DBG_CONTROL_C"/>
  <int value="694" label="DBG_PRINTEXCEPTION_C"/>
  <int value="695" label="DBG_RIPEXCEPTION"/>
  <int value="696" label="DBG_CONTROL_BREAK"/>
  <int value="697" label="DBG_COMMAND_EXCEPTION"/>
  <int value="698" label="OBJECT_NAME_EXISTS"/>
  <int value="699" label="THREAD_WAS_SUSPENDED"/>
  <int value="700" label="IMAGE_NOT_AT_BASE"/>
  <int value="701" label="RXACT_STATE_CREATED"/>
  <int value="702" label="SEGMENT_NOTIFICATION"/>
  <int value="703" label="BAD_CURRENT_DIRECTORY"/>
  <int value="704" label="FT_READ_RECOVERY_FROM_BACKUP"/>
  <int value="705" label="FT_WRITE_RECOVERY"/>
  <int value="706" label="IMAGE_MACHINE_TYPE_MISMATCH"/>
  <int value="707" label="RECEIVE_PARTIAL"/>
  <int value="708" label="RECEIVE_EXPEDITED"/>
  <int value="709" label="RECEIVE_PARTIAL_EXPEDITED"/>
  <int value="710" label="EVENT_DONE"/>
  <int value="711" label="EVENT_PENDING"/>
  <int value="712" label="CHECKING_FILE_SYSTEM"/>
  <int value="713" label="FATAL_APP_EXIT"/>
  <int value="714" label="PREDEFINED_HANDLE"/>
  <int value="715" label="WAS_UNLOCKED"/>
  <int value="716" label="SERVICE_NOTIFICATION"/>
  <int value="717" label="WAS_LOCKED"/>
  <int value="718" label="LOG_HARD_ERROR"/>
  <int value="719" label="ALREADY_WIN32"/>
  <int value="720" label="IMAGE_MACHINE_TYPE_MISMATCH_EXE"/>
  <int value="721" label="NO_YIELD_PERFORMED"/>
  <int value="722" label="TIMER_RESUME_IGNORED"/>
  <int value="723" label="ARBITRATION_UNHANDLED"/>
  <int value="724" label="CARDBUS_NOT_SUPPORTED"/>
  <int value="725" label="MP_PROCESSOR_MISMATCH"/>
  <int value="726" label="HIBERNATED"/>
  <int value="727" label="RESUME_HIBERNATION"/>
  <int value="728" label="FIRMWARE_UPDATED"/>
  <int value="729" label="DRIVERS_LEAKING_LOCKED_PAGES"/>
  <int value="730" label="WAKE_SYSTEM"/>
  <int value="731" label="WAIT_1"/>
  <int value="732" label="WAIT_2"/>
  <int value="733" label="WAIT_3"/>
  <int value="734" label="WAIT_63"/>
  <int value="735" label="ABANDONED_WAIT_0"/>
  <int value="736" label="ABANDONED_WAIT_63"/>
  <int value="737" label="USER_APC"/>
  <int value="738" label="KERNEL_APC"/>
  <int value="739" label="ALERTED"/>
  <int value="740" label="ELEVATION_REQUIRED"/>
  <int value="741" label="REPARSE"/>
  <int value="742" label="OPLOCK_BREAK_IN_PROGRESS"/>
  <int value="743" label="VOLUME_MOUNTED"/>
  <int value="744" label="RXACT_COMMITTED"/>
  <int value="745" label="NOTIFY_CLEANUP"/>
  <int value="746" label="PRIMARY_TRANSPORT_CONNECT_FAILED"/>
  <int value="747" label="PAGE_FAULT_TRANSITION"/>
  <int value="748" label="PAGE_FAULT_DEMAND_ZERO"/>
  <int value="749" label="PAGE_FAULT_COPY_ON_WRITE"/>
  <int value="750" label="PAGE_FAULT_GUARD_PAGE"/>
  <int value="751" label="PAGE_FAULT_PAGING_FILE"/>
  <int value="752" label="CACHE_PAGE_LOCKED"/>
  <int value="753" label="CRASH_DUMP"/>
  <int value="754" label="BUFFER_ALL_ZEROS"/>
  <int value="755" label="REPARSE_OBJECT"/>
  <int value="756" label="RESOURCE_REQUIREMENTS_CHANGED"/>
  <int value="757" label="TRANSLATION_COMPLETE"/>
  <int value="758" label="NOTHING_TO_TERMINATE"/>
  <int value="759" label="PROCESS_NOT_IN_JOB"/>
  <int value="760" label="PROCESS_IN_JOB"/>
  <int value="761" label="VOLSNAP_HIBERNATE_READY"/>
  <int value="762" label="FSFILTER_OP_COMPLETED_SUCCESSFULLY"/>
  <int value="763" label="INTERRUPT_VECTOR_ALREADY_CONNECTED"/>
  <int value="764" label="INTERRUPT_STILL_CONNECTED"/>
  <int value="765" label="WAIT_FOR_OPLOCK"/>
  <int value="766" label="DBG_EXCEPTION_HANDLED"/>
  <int value="767" label="DBG_CONTINUE"/>
  <int value="768" label="CALLBACK_POP_STACK"/>
  <int value="769" label="COMPRESSION_DISABLED"/>
  <int value="770" label="CANTFETCHBACKWARDS"/>
  <int value="771" label="CANTSCROLLBACKWARDS"/>
  <int value="772" label="ROWSNOTRELEASED"/>
  <int value="773" label="BAD_ACCESSOR_FLAGS"/>
  <int value="774" label="ERRORS_ENCOUNTERED"/>
  <int value="775" label="NOT_CAPABLE"/>
  <int value="776" label="REQUEST_OUT_OF_SEQUENCE"/>
  <int value="777" label="VERSION_PARSE_ERROR"/>
  <int value="778" label="BADSTARTPOSITION"/>
  <int value="779" label="MEMORY_HARDWARE"/>
  <int value="780" label="DISK_REPAIR_DISABLED"/>
  <int value="781"
      label="INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE"/>
  <int value="782" label="SYSTEM_POWERSTATE_TRANSITION"/>
  <int value="783" label="SYSTEM_POWERSTATE_COMPLEX_TRANSITION"/>
  <int value="784" label="MCA_EXCEPTION"/>
  <int value="785" label="ACCESS_AUDIT_BY_POLICY"/>
  <int value="786" label="ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY"/>
  <int value="787" label="ABANDON_HIBERFILE"/>
  <int value="788" label="LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED"/>
  <int value="789" label="LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR"/>
  <int value="790" label="LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR"/>
  <int value="791" label="BAD_MCFG_TABLE"/>
  <int value="792" label="DISK_REPAIR_REDIRECTED"/>
  <int value="793" label="DISK_REPAIR_UNSUCCESSFUL"/>
  <int value="794" label="CORRUPT_LOG_OVERFULL"/>
  <int value="795" label="CORRUPT_LOG_CORRUPTED"/>
  <int value="796" label="CORRUPT_LOG_UNAVAILABLE"/>
  <int value="797" label="CORRUPT_LOG_DELETED_FULL"/>
  <int value="798" label="CORRUPT_LOG_CLEARED"/>
  <int value="799" label="ORPHAN_NAME_EXHAUSTED"/>
  <int value="800" label="OPLOCK_SWITCHED_TO_NEW_HANDLE"/>
  <int value="801" label="CANNOT_GRANT_REQUESTED_OPLOCK"/>
  <int value="802" label="CANNOT_BREAK_OPLOCK"/>
  <int value="803" label="OPLOCK_HANDLE_CLOSED"/>
  <int value="804" label="NO_ACE_CONDITION"/>
  <int value="805" label="INVALID_ACE_CONDITION"/>
  <int value="806" label="FILE_HANDLE_REVOKED"/>
  <int value="807" label="IMAGE_AT_DIFFERENT_BASE"/>
  <int value="994" label="EA_ACCESS_DENIED"/>
  <int value="995" label="OPERATION_ABORTED"/>
  <int value="996" label="IO_INCOMPLETE"/>
  <int value="997" label="IO_PENDING"/>
  <int value="998" label="NOACCESS"/>
  <int value="999" label="SWAPERROR"/>
</enum>

<enum name="WinJumplistCategory" type="int">
  <int value="0" label="Recently Closed"/>
  <int value="1" label="Most Visited"/>
  <int value="2" label="People"/>
</enum>

<enum name="WorkerThreadExitCode" type="int">
  <int value="0" label="NotTerminated"/>
  <int value="1" label="GracefullyTerminated"/>
  <int value="2" label="SyncForciblyTerminated"/>
  <int value="3" label="AsyncForciblyTerminated"/>
</enum>

<enum name="WrenchMenuAction" type="int">
  <int value="0" label="New tab"/>
  <int value="1" label="New window"/>
  <int value="2" label="New incognito window"/>
  <int value="3" label="Show bookmark bar"/>
  <int value="4" label="Show bookmark manager"/>
  <int value="5" label="Import settings"/>
  <int value="6" label="Bookmark page"/>
  <int value="7" label="Bookmark all tabs"/>
  <int value="8" label="Pin to start screen"/>
  <int value="9" label="Restore tab"/>
  <int value="10" label="Win desktop restart"/>
  <int value="11" label="Win8 metro restart"/>
  <int value="12" label="Win chromeos restart"/>
  <int value="13" label="Distill page"/>
  <int value="14" label="Save page"/>
  <int value="15" label="Find"/>
  <int value="16" label="Print"/>
  <int value="17" label="Cut"/>
  <int value="18" label="Copy"/>
  <int value="19" label="Paste"/>
  <int value="20" label="Create hosted app"/>
  <int value="21" label="Create shortcuts"/>
  <int value="22" label="Manage extensions"/>
  <int value="23" label="Task manager"/>
  <int value="24" label="Clear browsing data"/>
  <int value="25" label="View source"/>
  <int value="26" label="Dev tools"/>
  <int value="27" label="Dev tools console"/>
  <int value="28" label="Dev tools devices"/>
  <int value="29" label="Profiling enabled"/>
  <int value="30" label="Zoom minus"/>
  <int value="31" label="Zoom plus"/>
  <int value="32" label="Fullscreen"/>
  <int value="33" label="Show history"/>
  <int value="34" label="Show downloads"/>
  <int value="35" label="Show sync setup"/>
  <int value="36" label="Options"/>
  <int value="37" label="About"/>
  <int value="38" label="Help page via menu"/>
  <int value="39" label="Feedback"/>
  <int value="40" label="Toggle request tablet site"/>
  <int value="41" label="Recent tab"/>
  <int value="42" label="Open a bookmark"/>
  <int value="43" label="Exit"/>
  <int value="44" label="Upgrade browser"/>
  <int value="45" label="Cast"/>
</enum>

<enum name="XFrameOptions" type="int">
  <int value="0" label="NONE">
    A frame is loaded without any X-Frame-Options header.
  </int>
  <int value="1" label="DENY">X-Frame-Options: DENY.</int>
  <int value="2" label="SAMEORIGIN">
    X-Frame-Options: SAMEORIGIN. The navigation proceeds and every ancestor has
    the same origin.
  </int>
  <int value="3" label="SAMEORIGIN_BLOCKED">
    X-Frame-Options: SAMEORIGIN. The navigation is blocked because the top-frame
    doesn't have the same origin.
  </int>
  <int value="4" label="SAMEORIGIN_WITH_BAD_ANCESTOR_CHAIN">
    X-Frame-Options: SAMEORIGIN. The navigation proceeds despite the fact that
    there is an ancestor that doesn't have the same origin.
  </int>
  <int value="5" label="ALLOWALL">X-Frame-Options: ALLOWALL.</int>
  <int value="6" label="INVALID">
    Invalid &quot;X-Frame-Options&quot; directive encountered.
  </int>
  <int value="7" label="CONFLICT">
    The frame sets multiple &quot;X-Frame-Options&quot; header with conflicting
    values.
  </int>
  <int value="8" label="BYPASS">
    The &quot;frame-ancestors&quot; CSP directive should take effect instead.
  </int>
</enum>

<enum name="XMLHttpRequestHeaderValueCategoryInRFC7230" type="int">
  <int value="0" label="Header Value Invalid"/>
  <int value="1" label="Header Value Affected By Normalization"/>
  <int value="2" label="Header Value Valid"/>
</enum>

<enum name="XMLHttpRequestSendArrayBufferOrView" type="int">
  <int value="0" label="XMLHttpRequestSendArrayBuffer"/>
  <int value="1" label="XMLHttpRequestSendArrayBufferView"/>
</enum>

<enum name="XPCConnectionEvent" type="int">
  <int value="0" label="Interrupted"/>
  <int value="1" label="Invalidated"/>
</enum>

<enum name="YoungGenerationHandling" type="int">
  <int value="0" label="Regular Scavenge"/>
  <int value="1" label="Scavenge using fast promotion mode"/>
</enum>

<enum name="YouTubeRewriteStatus" type="int">
  <int value="0" label="Success">Embed was properly rewritten.</int>
  <int value="1" label="Success, params were rewritten">
    Embed was rewritten but the params had to be fixed.
  </int>
  <int value="2" label="Success, had JS API enabled">
    Embed was rewritten even though JS API was enabled (Android only).
  </int>
  <int value="3" label="Embed not rewritten, JS API enabled">
    Embed was not rewritten because JS API was enabled.
  </int>
</enum>

<enum name="ZeroSuggestEligibleOnFocus" type="int">
  <int value="0" label="Eligible">
    URL can be currently sent to the suggest server.
  </int>
  <int value="1"
      label="Generally eligible in current context but particular URL
             ineligible">
    URL cannot be sent to the suggest server but another URL would be eligible
    at this time.
  </int>
  <int value="2" label="Generally ineligible in current context">
    No URL can be sent to the suggest server at this time.
  </int>
</enum>

</enums>

<!-- Histogram suffixes list -->

<histogram_suffixes_list>

<histogram_suffixes name="AccountInvestigationReportingType">
  <suffix name="OnChange"
      label="Driven from a change in signin status or change in content area
             GAIA accounts."/>
  <suffix name="Periodic" label="Emitted once per 24 hours."/>
  <affected-histogram name="Signin.CookieJar.ChromeAccountRelation"/>
  <affected-histogram name="Signin.CookieJar.SignedInCount"/>
  <affected-histogram name="Signin.CookieJar.SignedOutCount"/>
  <affected-histogram name="Signin.CookieJar.StableAge"/>
  <affected-histogram name="Signin.CookieJar.TotalCount"/>
  <affected-histogram name="Signin.IsShared"/>
</histogram_suffixes>

<histogram_suffixes name="ActiveNetworkState">
  <suffix name="Offline"
      label="network manager thinks that the active network is offline"/>
  <suffix name="Online"
      label="network manager thinks that the active network is online"/>
  <suffix name="RestrictedPool"
      label="network manager thinks that the active network is behind portal"/>
  <affected-histogram name="CaptivePortal.OOBE.DiscrepancyWithShill"/>
  <affected-histogram name="CaptivePortal.Session.DiscrepancyWithShill"/>
</histogram_suffixes>

<histogram_suffixes name="AffiliationDummyData" separator=".">
  <suffix name="OnStartup"
      label="with the dummy data being requested shortly after start-up"/>
  <suffix name="Periodic"
      label="with the dummy data being requested periodically later"/>
  <affected-histogram
      name="PasswordManager.AffiliationDummyData.RequestResultCount"/>
  <affected-histogram
      name="PasswordManager.AffiliationDummyData.RequestSuccess"/>
</histogram_suffixes>

<histogram_suffixes name="AlternateProtocol">
  <suffix name="AlternateProtocol_spdy"
      label="with alternate protocol available but http is used"/>
  <suffix name="AlternateProtocol_http"
      label="(with alternate protocol available and spdy is used"/>
  <affected-histogram name="PLT.StartToCommit_LinkLoadNormal"/>
  <affected-histogram name="PLT.StartToCommit_NormalLoad"/>
  <affected-histogram name="PLT.StartToFinish_LinkLoadNormal"/>
  <affected-histogram name="PLT.StartToFinish_NormalLoad"/>
</histogram_suffixes>

<histogram_suffixes name="AndroidBootProgressEvents" separator="_">
  <suffix name="ams_ready" label="For the boot_progress_ams_ready event."/>
  <suffix name="enable_screen"
      label="For the boot_progress_enable_screen event."/>
  <suffix name="pms_data_scan_start"
      label="For the boot_progress_pms_data_scan_start event."/>
  <suffix name="pms_ready" label="For the boot_progress_pms_ready event."/>
  <suffix name="pms_scan_end"
      label="For the boot_progress_pms_scan_end event."/>
  <suffix name="pms_start" label="For the boot_progress_pms_start event."/>
  <suffix name="pms_system_scan_start"
      label="For the boot_progress_pms_system_scan_start event."/>
  <suffix name="preload_end" label="For the boot_progress_preload_end event."/>
  <suffix name="preload_start"
      label="For the boot_progress_preload_start event."/>
  <suffix name="start" label="For the boot_progress_start event."/>
  <suffix name="system_run" label="For the boot_progress_system_run event."/>
  <affected-histogram name="Arc.boot_progress"/>
</histogram_suffixes>

<histogram_suffixes name="AndroidCrashUploadTypes">
  <suffix name="Browser" label="Measures browser crash uploads."/>
  <suffix name="GPU" label="Measures GPU crash uploads."/>
  <suffix name="Other" label="Measures other crash uploads."/>
  <suffix name="Renderer" label="Measures renderer crash uploads."/>
  <affected-histogram name="Tab.AndroidCrashUpload"/>
</histogram_suffixes>

<histogram_suffixes name="AndroidDownloadTypes" separator=".">
  <suffix name="Audio"/>
  <suffix name="Document"/>
  <suffix name="Image"/>
  <suffix name="OfflinePage"/>
  <suffix name="Other"/>
  <suffix name="Total"/>
  <suffix name="Video"/>
  <affected-histogram name="Android.DownloadManager.InitialCount"/>
</histogram_suffixes>

<histogram_suffixes name="AndroidGATTEvents" separator=".">
  <suffix name="onCharacteristicRead.Status"/>
  <suffix name="onCharacteristicWrite.Status"/>
  <suffix name="onConnectionStateChange.Status.Connected"
      label="While Connected"/>
  <suffix name="onConnectionStateChange.Status.Disconnected"
      label="While Disonnected"/>
  <suffix name="onConnectionStateChange.Status.InvalidState"
      label="While InvalidState"/>
  <suffix name="onDescriptorRead.Status"/>
  <suffix name="onDescriptorWrite.Status"/>
  <suffix name="onServicesDiscovered.Status.Connected" label="While Connected"/>
  <suffix name="onServicesDiscovered.Status.Disconnected"
      label="While Disconnected"/>
  <affected-histogram name="Bluetooth.Web.Android"/>
</histogram_suffixes>

<histogram_suffixes name="AndroidGetAccountsTypes">
  <suffix name="AccountManager" label="Using Android AccountManager API"/>
  <suffix name="GoogleAuthUtil" label="Using GoogleAuthUtil API"/>
  <affected-histogram name="Signin.AndroidGetAccountsTime"/>
</histogram_suffixes>

<histogram_suffixes name="AndroidTabPersistentStoreTime" separator=".">
  <suffix name="CleanupAllEncryptedTime">
    <obsolete>
      Original code deleted in a refactoring.
    </obsolete>
  </suffix>
  <suffix name="LoadStateInternalPrefetchTime"/>
  <suffix name="LoadStateInternalTime"/>
  <suffix name="LoadStateTime"/>
  <suffix name="MergeStateInternalTime"/>
  <suffix name="MergeStateInternalFetchTime"/>
  <suffix name="ReadMergedStateTime"/>
  <suffix name="ReadSavedStateTime"/>
  <suffix name="RestoreTabPrefetchTime"/>
  <suffix name="RestoreTabTime"/>
  <suffix name="SaveListTime"/>
  <suffix name="SaveStateTime"/>
  <suffix name="SaveTabsTime"/>
  <affected-histogram name="Android.StrictMode.TabPersistentStore"/>
</histogram_suffixes>

<histogram_suffixes name="AppListFirstPaintWarmStartFast" separator="">
  <suffix name="" label="Normal start."/>
  <suffix name="Fast"
      label="Fast start by skipping normal chrome.dll startup."/>
  <affected-histogram name="Startup.AppListFirstPaintWarmStart"/>
</histogram_suffixes>

<histogram_suffixes name="AsyncDNSPref">
  <suffix name="Disabled"/>
  <suffix name="Enabled"/>
  <affected-histogram name="AsyncDNS.PrefDefaultSource"/>
  <affected-histogram name="AsyncDNS.PrefSource"/>
</histogram_suffixes>

<histogram_suffixes name="AsyncSlowStart">
  <suffix name="AsyncSlowStart" label="Async Slow Start on"/>
  <suffix name="AsyncSlowStart_off" label="Async Slow Start off"/>
  <suffix name="AsyncSlowStart_on" label="Async Slow Start on"/>
  <affected-histogram name="Net.Transaction_Connected_New"/>
  <affected-histogram name="Renderer4.StartToFinish"/>
</histogram_suffixes>

<histogram_suffixes name="AttemptResultCode">
  <obsolete>
    Deprecated 2016/03. The async set-as-default experiments are finished.
  </obsolete>
  <suffix name="Success"/>
  <suffix name="Failure"/>
  <suffix name="Abandoned"/>
  <suffix name="Retry"/>
  <suffix name="NoErrorsNotDefault"/>
  <affected-histogram name="DefaultBrowser.AsyncSetAsDefault.Duration"/>
  <affected-histogram name="DefaultBrowser.SetDefaultAsyncDuration"/>
</histogram_suffixes>

<histogram_suffixes name="AudioLatency" separator=".">
  <suffix name="LatencyExactMs" label="Exact latency in milliseconds"/>
  <suffix name="LatencyInteractive" label="Interactive latency"/>
  <suffix name="LatencyRtc" label="RTC latency"/>
  <suffix name="LatencyPlayback" label="Playback latency"/>
  <affected-histogram name="Media.Audio.Render.BrowserCallbackRegularity"/>
</histogram_suffixes>

<histogram_suffixes name="AutofillCreditCardInfoBarSaveType" separator=".">
  <suffix name="Local" label="Local credit card save"/>
  <suffix name="Server" label="Server/upload credit card save"/>
  <affected-histogram name="Autofill.CreditCardInfoBar"/>
</histogram_suffixes>

<histogram_suffixes name="AutofillDataAvailability" separator=".">
  <suffix name="WithNoData" label="no autofill data"/>
  <suffix name="WithOnlyServerData" label="only server autofill data"/>
  <suffix name="WithOnlyLocalData" label="only local autofill data"/>
  <suffix name="WithBothServerAndLocalData"
      label="both server and local autofill data"/>
  <affected-histogram name="Autofill.FormEvents.Address"/>
  <affected-histogram name="Autofill.FormEvents.CreditCard"/>
</histogram_suffixes>

<histogram_suffixes name="AutofillPayloadCompressionType" separator=".">
  <suffix name="Query" label="Query request compression"/>
  <suffix name="Upload" label="Upload request compression"/>
  <affected-histogram name="Autofill.PayloadCompressionRatio"/>
</histogram_suffixes>

<histogram_suffixes name="AutofillRealPanResultGroups" separator=".">
  <suffix name="Failure" label="Failure"/>
  <suffix name="NetworkError" label="Network errors"/>
  <suffix name="Success" label="Success"/>
  <affected-histogram name="Autofill.UnmaskPrompt.GetRealPanDuration"/>
  <affected-histogram name="Autofill.UnmaskPrompt.UnmaskingDuration"/>
</histogram_suffixes>

<histogram_suffixes name="AutofillSaveCreditCardPromptDestination"
    separator=".">
  <suffix name="Local" label="to local storage"/>
  <suffix name="Upload" label="to upload"/>
  <affected-histogram name="Autofill.SaveCreditCardPrompt"/>
</histogram_suffixes>

<histogram_suffixes name="AutofillSaveCreditCardPromptShow" separator=".">
  <suffix name="FirstShow"
      label="first time prompt is shown for a single credit card submit"/>
  <suffix name="Reshows" label="all shows after the first one, combined"/>
  <affected-histogram name="Autofill.SaveCreditCardPrompt.Local"/>
  <affected-histogram name="Autofill.SaveCreditCardPrompt.Upload"/>
</histogram_suffixes>

<histogram_suffixes name="AutofillServerExperiments">
  <obsolete>
    Deprecated as of at least 2013. Current autofill experiments rely on Finch
    rather than a custom experimentation setup.
  </obsolete>
  <suffix name="ar06" label="Acceptance ratio: 0.6"/>
  <suffix name="ar1" label="Acceptance ratio: 1.0"/>
  <suffix name="ar2" label="Acceptance ratio: 2.0"/>
  <suffix name="ar4" label="Acceptance ratio: 4.0"/>
  <suffix name="ar04wr3fs4"
      label="Acceptance ratio: 0.4; winner lead ratio: 3.0; min form score: 4"/>
  <suffix name="ar05wlr15"
      label="Acceptance ratio: 0.5; winner lead ratio: 1.5"/>
  <suffix name="ar05wlr25"
      label="Acceptance ratio: 0.5; winner lead ratio: 2.5"/>
  <suffix name="ar05wr15fs5"
      label="Acceptance ratio: 0.5; winner lead ratio: 1.5; min form score: 5"/>
  <suffix name="fp05" label="Probability picker algorithm, p=0.5"/>
  <suffix name="fp025" label="Probability picker algorithm, p=0.25"/>
  <suffix name="fp05cc03"
      label="Probability picker algorithm, p=0.5; p_ccname=0.3"/>
  <suffix name="fp05cco03"
      label="Probability picker algorithm, p=0.5;
             p_ccname_given_other_cc_fields=0.3"/>
  <suffix name="fp05cco03cstd"
      label="Probability picker algorithm, p=0.5;
             p_ccname_given_other_cc_fields=0.3; with fallback to the default
             algorithm"/>
  <suffix name="fp05cc03e1"
      label="Probability picker algorithm, p=0.5 for cc and company name
             fields; p_ccname_given_other_cc_fields=0.3; with fallback to the
             default algorithm;"/>
  <suffix name="tbar1" label="Use only Toolbar upload data"/>
  <affected-histogram name="Autofill.Quality"/>
  <affected-histogram name="AutoFill.Quality"/>
  <affected-histogram name="Autofill.Quality.HeuristicType"/>
  <affected-histogram name="Autofill.Quality.HeuristicType.ByFieldType"/>
  <affected-histogram name="Autofill.Quality.PredictedType"/>
  <affected-histogram name="Autofill.Quality.PredictedType.ByFieldType"/>
  <affected-histogram name="Autofill.Quality.ServerType"/>
  <affected-histogram name="Autofill.Quality.ServerType.ByFieldType"/>
</histogram_suffixes>

<histogram_suffixes name="AutofillStoredServerCardType" separator=".">
  <suffix name="Masked" label="Masked cards"/>
  <suffix name="Unmasked" label="Unmasked cards (locally cached)"/>
  <affected-histogram name="Autofill.StoredServerCreditCardCount"/>
</histogram_suffixes>

<histogram_suffixes name="AutofillUnmaskPromptCloseReasonEvents" separator=".">
  <suffix name="Failure" label="Failure"/>
  <suffix name="NoAttempts" label="No attempts"/>
  <suffix name="Success" label="Success"/>
  <suffix name="AbandonUnmasking" label="Abandon unmasking"/>
  <affected-histogram name="Autofill.UnmaskPrompt.Duration"/>
</histogram_suffixes>

<histogram_suffixes name="BackgroundFetchEvents" separator=".">
  <suffix name="AbortEvent" label="BackgroundFetchAbortEvent"/>
  <suffix name="ClickEvent" label="BackgroundFetchClickEvent"/>
  <suffix name="FailEvent" label="BackgroundFetchFailEvent"/>
  <suffix name="FetchedEvent" label="BackgroundFetchedEvent"/>
  <affected-histogram name="BackgroundFetch.EventDispatchFailure.Dispatch"/>
  <affected-histogram name="BackgroundFetch.EventDispatchFailure.FindWorker"/>
  <affected-histogram name="BackgroundFetch.EventDispatchFailure.StartWorker"/>
  <affected-histogram name="BackgroundFetch.EventDispatchResult"/>
</histogram_suffixes>

<histogram_suffixes name="BadBlockCounts" separator=".">
  <suffix name="Backupsys" label="backupsys partition"/>
  <suffix name="Bbt" label="bbt partition"/>
  <suffix name="Block0" label="block0 partition"/>
  <suffix name="Bootloader" label="bootloader partition"/>
  <suffix name="Cache" label="cache partition"/>
  <suffix name="Factory_store" label="factory_store partition"/>
  <suffix name="Fts" label="fts partition"/>
  <suffix name="Kernel" label="kernel partition"/>
  <suffix name="Postbootloader" label="postbootloader partition"/>
  <suffix name="Postbootloader-B" label="postbootloader-B partition"/>
  <suffix name="Prebootloader" label="prebootloader partition"/>
  <suffix name="Recovery" label="recovery partition"/>
  <suffix name="Rootfs" label="rootfs partition"/>
  <suffix name="Total" label="total partition"/>
  <suffix name="TZ" label="TZ partition"/>
  <suffix name="TZ-B" label="TZ-B partition"/>
  <suffix name="Userdata" label="userdata partition"/>
  <affected-histogram name="Platform.Storage.Flash.BadBlocks"/>
</histogram_suffixes>

<histogram_suffixes name="BatchStunPingParameters" separator=".">
  <suffix name="1ms.1" label="1ms gap, 1st batch"/>
  <suffix name="1ms.2" label="1ms gap, 2nd batch"/>
  <suffix name="1ms.3" label="1ms gap, 3rd batch"/>
  <suffix name="5ms.1" label="5ms gap, 1st batch"/>
  <suffix name="5ms.2" label="5ms gap, 2nd batch"/>
  <suffix name="5ms.3" label="5ms gap, 3rd batch"/>
  <suffix name="10ms.1" label="10ms gap, 1st batch"/>
  <suffix name="10ms.2" label="10ms gap, 2nd batch"/>
  <suffix name="10ms.3" label="10ms gap, 3rd batch"/>
  <suffix name="25ms.1" label="25ms gap, 1st batch"/>
  <suffix name="25ms.2" label="25ms gap, 2nd batch"/>
  <suffix name="25ms.3" label="25ms gap, 3rd batch"/>
  <suffix name="50ms.1" label="50ms gap, 1st batch"/>
  <suffix name="50ms.2" label="50ms gap, 2nd batch"/>
  <suffix name="50ms.3" label="50ms gap, 3rd batch"/>
  <affected-histogram name="WebRTC.Stun.BatchSuccessPercent.NoNAT"/>
  <affected-histogram name="WebRTC.Stun.BatchSuccessPercent.NonSymNAT"/>
  <affected-histogram name="WebRTC.Stun.BatchSuccessPercent.SymNAT"/>
  <affected-histogram name="WebRTC.Stun.BatchSuccessPercent.UnknownNAT"/>
</histogram_suffixes>

<histogram_suffixes name="BlinkCanvasDrawImageType" separator=".">
  <suffix name="Canvas"/>
  <suffix name="ImageBitmap"/>
  <suffix name="Others"/>
  <suffix name="SVG"/>
  <suffix name="Video"/>
  <affected-histogram name="Blink.Canvas.DrawImage"/>
</histogram_suffixes>

<histogram_suffixes name="BlinkCanvasDurationBySource" separator=".">
  <suffix name="CPU"/>
  <suffix name="DisplayList"/>
  <suffix name="GPU"/>
  <affected-histogram name="Blink.Canvas.DrawImage.Canvas"/>
  <affected-histogram name="Blink.Canvas.DrawImage.ImageBitmap"/>
  <affected-histogram name="Blink.Canvas.DrawImage.Others"/>
  <affected-histogram name="Blink.Canvas.DrawImage.SVG"/>
  <affected-histogram name="Blink.Canvas.DrawImage.Video"/>
  <affected-histogram name="Blink.Canvas.GetImageData"/>
  <affected-histogram name="Blink.Canvas.PutImageData"/>
</histogram_suffixes>

<histogram_suffixes name="BlinkCanvasOffscreenCommitType" separator=".">
  <suffix name="GPUCanvasGPUCompositingMain"/>
  <suffix name="GPUCanvasGPUCompositingWorker"/>
  <suffix name="GPUCanvasSoftwareCompositingMain"/>
  <suffix name="GPUCanvasSoftwareCompositingWorker"/>
  <suffix name="SoftwareCanvasGPUCompositingMain"/>
  <suffix name="SoftwareCanvasGPUCompositingWorker"/>
  <suffix name="SoftwareCanvasSoftwareCompositingMain"/>
  <suffix name="SoftwareCanvasSoftwareCompositingWorker"/>
  <affected-histogram name="Blink.Canvas.OffscreenCommitTimer"/>
</histogram_suffixes>

<histogram_suffixes name="BlinkCanvasToBlobIdleEncodAndDelayType" separator=".">
  <suffix name="JPEG"/>
  <suffix name="PNG"/>
  <affected-histogram name="Blink.Canvas.ToBlob.IdleEncodeDuration"/>
  <affected-histogram name="Blink.Canvas.ToBlob.InitiateEncodingDelay"/>
</histogram_suffixes>

<histogram_suffixes name="BlinkCanvasToBlobType" separator=".">
  <suffix name="JPEG"/>
  <suffix name="PNG"/>
  <suffix name="WEBP"/>
  <affected-histogram name="Blink.Canvas.ToBlobDuration"/>
</histogram_suffixes>

<histogram_suffixes name="BlinkCanvasToDataURLTime" separator=".">
  <suffix name="BMP">
    <obsolete>
      Removed in Oct 2016
    </obsolete>
  </suffix>
  <suffix name="GIF">
    <obsolete>
      Removed in Oct 2016
    </obsolete>
  </suffix>
  <suffix name="ICON">
    <obsolete>
      Removed in Oct 2016
    </obsolete>
  </suffix>
  <suffix name="JPEG"/>
  <suffix name="PNG"/>
  <suffix name="TIFF">
    <obsolete>
      Removed in Oct 2016
    </obsolete>
  </suffix>
  <suffix name="Unknown">
    <obsolete>
      Removed in Oct 2016
    </obsolete>
  </suffix>
  <suffix name="WEBP"/>
  <affected-histogram name="Blink.Canvas.ToDataURL"/>
</histogram_suffixes>

<histogram_suffixes name="BlinkGCReason">
  <suffix name="IdleGC" label="Idle GC"/>
  <suffix name="PreciseGC" label="Precise GC"/>
  <suffix name="ConservativeGC" label="Conservative GC"/>
  <suffix name="ForcedGC" label="Forced GC for testing"/>
  <suffix name="MemoryPressureGC" label="Memory pressure GC"/>
  <suffix name="PageNavigationGC" label="Page navigation GC"/>
  <affected-histogram name="BlinkGC.CollectionRate"/>
</histogram_suffixes>

<histogram_suffixes name="CachedResourceType" separator=".">
  <suffix name="JavaScript"
      label="Showing cache patterns only for JavaScript resources."/>
  <suffix name="CSS" label="Showing cache patterns only for CSS resources."/>
  <suffix name="MainFrameHTML"
      label="Showing cache patterns only for main-frame HTML resources."/>
  <suffix name="NonMainFrameHTML"
      label="Showing cache patterns only for non-main-frame HTML resources."/>
  <suffix name="Image"
      label="Showing cache patterns only for image resources."/>
  <suffix name="TinyImage"
      label="Showing cache patterns only for image resources with
             content-length less than 100 bytes."/>
  <suffix name="NonTinyImage"
      label="Showing cache patterns only for image resources with
             content-length &gt;= 100 bytes."/>
  <suffix name="Font" label="Showing cache patterns only for font resources."/>
  <suffix name="Audio"
      label="Showing cache patterns only for audio resources."/>
  <suffix name="Video"
      label="Showing cache patterns only for video resources."/>
  <affected-histogram name="HttpCache.Pattern"/>
  <affected-histogram
      name="HttpCache.StaleEntry.FreshnessPeriodsSinceLastUsed"/>
  <affected-histogram name="HttpCache.ValidationCause"/>
</histogram_suffixes>

<histogram_suffixes name="CacheInstance" separator="." ordering="prefix">
  <suffix name="App"
      label="Collected from the HTML5 Application Cache instance."/>
  <suffix name="Http" label="Collected from the HTTP Cache instance."/>
  <suffix name="Media" label="Collected from the Media Cache instance."/>
  <affected-histogram name="SimpleCache.CacheSizeOnInit"/>
  <affected-histogram name="SimpleCache.CheckCRCResult"/>
  <affected-histogram name="SimpleCache.CreationToIndex"/>
  <affected-histogram name="SimpleCache.CreationToIndexFail"/>
  <affected-histogram name="SimpleCache.EntryCreatedAndStream2Omitted"/>
  <affected-histogram name="SimpleCache.EntryCreationResult"/>
  <affected-histogram name="SimpleCache.EntryCreationTime"/>
  <affected-histogram name="SimpleCache.EntryOpenedAndStream2Removed"/>
  <affected-histogram name="SimpleCache.EntryOperationsPending"/>
  <affected-histogram name="SimpleCache.Eviction.CacheSizeOnStart"/>
  <affected-histogram name="SimpleCache.Eviction.CacheSizeOnStart2"/>
  <affected-histogram name="SimpleCache.Eviction.EntryCount"/>
  <affected-histogram name="SimpleCache.Eviction.MaxCacheSizeOnStart"/>
  <affected-histogram name="SimpleCache.Eviction.MaxCacheSizeOnStart2"/>
  <affected-histogram name="SimpleCache.Eviction.Result"/>
  <affected-histogram name="SimpleCache.Eviction.SizeOfEvicted"/>
  <affected-histogram name="SimpleCache.Eviction.SizeOfEvicted2"/>
  <affected-histogram name="SimpleCache.Eviction.SizeWhenDone"/>
  <affected-histogram name="SimpleCache.Eviction.SizeWhenDone2"/>
  <affected-histogram name="SimpleCache.Eviction.TimeToDone"/>
  <affected-histogram name="SimpleCache.Eviction.TimeToSelectEntries"/>
  <affected-histogram name="SimpleCache.FileDescriptorLimitHard"/>
  <affected-histogram name="SimpleCache.FileDescriptorLimitSoft"/>
  <affected-histogram name="SimpleCache.FileDescriptorLimitStatus"/>
  <affected-histogram name="SimpleCache.GlobalOpenEntryCount"/>
  <affected-histogram name="SimpleCache.HeaderSize"/>
  <affected-histogram name="SimpleCache.HeaderSizeChange"/>
  <affected-histogram name="SimpleCache.HeaderSizeDecreaseAbsolute"/>
  <affected-histogram name="SimpleCache.HeaderSizeDecreasePercentage"/>
  <affected-histogram name="SimpleCache.HeaderSizeIncreaseAbsolute"/>
  <affected-histogram name="SimpleCache.HeaderSizeIncreasePercentage"/>
  <affected-histogram name="SimpleCache.IndexCorrupt"/>
  <affected-histogram name="SimpleCache.IndexCreatedEntryCount"/>
  <affected-histogram name="SimpleCache.IndexEntriesLoaded"/>
  <affected-histogram name="SimpleCache.IndexEntriesRestored"/>
  <affected-histogram name="SimpleCache.IndexFileStateOnLoad"/>
  <affected-histogram name="SimpleCache.IndexInitializationWaiters"/>
  <affected-histogram name="SimpleCache.IndexInitializeMethod"/>
  <affected-histogram name="SimpleCache.IndexLoadTime"/>
  <affected-histogram name="SimpleCache.IndexNumEntriesOnInit"/>
  <affected-histogram name="SimpleCache.IndexNumEntriesOnWrite"/>
  <affected-histogram name="SimpleCache.IndexRestoreTime"/>
  <affected-histogram name="SimpleCache.IndexWriteInterval.Background"/>
  <affected-histogram name="SimpleCache.IndexWriteInterval.Foreground"/>
  <affected-histogram name="SimpleCache.IndexWriteReason"/>
  <affected-histogram name="SimpleCache.IndexWriteReasonAtLoad"/>
  <affected-histogram name="SimpleCache.IndexWriteToDiskTime.Background"/>
  <affected-histogram name="SimpleCache.IndexWriteToDiskTime.Foreground"/>
  <affected-histogram name="SimpleCache.KeyMatchedOnOpen"/>
  <affected-histogram name="SimpleCache.LastClusterLossPercent"/>
  <affected-histogram name="SimpleCache.LastClusterSize"/>
  <affected-histogram name="SimpleCache.MaxCacheSizeOnInit"/>
  <affected-histogram name="SimpleCache.OpenEntryIndexState"/>
  <affected-histogram name="SimpleCache.PercentFullOnInit"/>
  <affected-histogram name="SimpleCache.ReadIsParallelizable"/>
  <affected-histogram name="SimpleCache.ReadResult"/>
  <affected-histogram name="SimpleCache.StaleIndexExtraEntryCount"/>
  <affected-histogram name="SimpleCache.StaleIndexMissedEntryCount"/>
  <affected-histogram name="SimpleCache.StaleIndexQuality"/>
  <affected-histogram name="SimpleCache.SyncCheckEOFHasCrc"/>
  <affected-histogram name="SimpleCache.SyncCheckEOFResult"/>
  <affected-histogram name="SimpleCache.SyncCloseResult"/>
  <affected-histogram name="SimpleCache.SyncCreatePlatformFileError"/>
  <affected-histogram name="SimpleCache.SyncCreatePlatformFileError_WithIndex"/>
  <affected-histogram
      name="SimpleCache.SyncCreatePlatformFileError_WithoutIndex"/>
  <affected-histogram name="SimpleCache.SyncCreateResult"/>
  <affected-histogram name="SimpleCache.SyncCreateResult_WithIndex"/>
  <affected-histogram name="SimpleCache.SyncCreateResult_WithoutIndex"/>
  <affected-histogram name="SimpleCache.SyncKeySHA256Result"/>
  <affected-histogram name="SimpleCache.SyncOpenEntryAge"/>
  <affected-histogram name="SimpleCache.SyncOpenPlatformFileError"/>
  <affected-histogram name="SimpleCache.SyncOpenPlatformFileError_WithIndex"/>
  <affected-histogram
      name="SimpleCache.SyncOpenPlatformFileError_WithoutIndex"/>
  <affected-histogram name="SimpleCache.SyncOpenResult"/>
  <affected-histogram name="SimpleCache.SyncOpenResult_WithIndex"/>
  <affected-histogram name="SimpleCache.SyncOpenResult_WithoutIndex"/>
  <affected-histogram name="SimpleCache.SyncWriteResult"/>
  <affected-histogram name="SimpleCache.WriteDependencyType"/>
  <affected-histogram name="SimpleCache.WriteResult"/>
  <affected-histogram name="SimpleCache.WriteResult2"/>
</histogram_suffixes>

<histogram_suffixes name="CacheListSize">
  <obsolete>
    Experiments no longer active.
  </obsolete>
  <suffix name="CacheListSize_12" label="Control"/>
  <suffix name="CacheListSize_13" label="Extended deleted list (2x)"/>
  <suffix name="CacheListSize_14" label="Out of the experiment"/>
  <affected-histogram name="DiskCache.TotalIOTime"/>
  <affected-histogram name="Net.HttpJob.TotalTime"/>
  <affected-histogram name="Net.HttpJob.TotalTimeCached"/>
  <affected-histogram name="Net.HttpJob.TotalTimeCancel"/>
  <affected-histogram name="Net.HttpJob.TotalTimeNotCached"/>
  <affected-histogram name="Net.HttpJob.TotalTimeSuccess"/>
  <affected-histogram name="PLT.Abandoned"/>
  <affected-histogram name="PLT.BeginToFinish"/>
  <affected-histogram name="PLT.BeginToFinish_HistoryLoad"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadCacheOnly"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadReload"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadStaleOk"/>
  <affected-histogram name="PLT.BeginToFinish_NormalLoad"/>
  <affected-histogram name="PLT.BeginToFinish_Reload"/>
</histogram_suffixes>

<histogram_suffixes name="CacheSensitivityAnalysis">
  <obsolete>
    Experiments no longer active.
  </obsolete>
  <suffix name="No" label="Turned off"/>
  <suffix name="Control" label="Control group"/>
  <suffix name="ControlA" label="Control, Group A"/>
  <suffix name="ControlB" label="Control, Group B"/>
  <suffix name="100" label="100% slowdown"/>
  <suffix name="100A" label="100% slowdown, Group A"/>
  <suffix name="100B" label="100% slowdown, Group B"/>
  <suffix name="200A" label="200% slowdown, Group A"/>
  <suffix name="200B" label="200% slowdown, Group B"/>
  <suffix name="400A" label="400% slowdown, Group A"/>
  <suffix name="400B" label="400% slowdown, Group B"/>
  <affected-histogram name="Net.HttpJob.TotalTime"/>
  <affected-histogram name="Net.HttpJob.TotalTimeCached"/>
  <affected-histogram name="Net.HttpJob.TotalTimeCancel"/>
  <affected-histogram name="Net.HttpJob.TotalTimeNotCached"/>
  <affected-histogram name="Net.HttpJob.TotalTimeSuccess"/>
  <affected-histogram name="PLT.BeginToFinish_CacheSensitivity"/>
  <affected-histogram name="PLT.BeginToFinishDoc_CacheSensitivity"/>
  <affected-histogram name="PLT.BeginToFirstPaint_CacheSensitivity"/>
  <affected-histogram name="PLT.CommitToFirstPaint_CacheSensitivity"/>
</histogram_suffixes>

<histogram_suffixes name="CacheSensitivityHistograms">
  <suffix name="CacheSensitivity" label="Cache Sensivitiy Analysis"/>
  <affected-histogram name="PLT.BeginToFinish"/>
  <affected-histogram name="PLT.BeginToFinishDoc"/>
  <affected-histogram name="PLT.BeginToFirstPaint"/>
  <affected-histogram name="PLT.CommitToFirstPaint"/>
</histogram_suffixes>

<histogram_suffixes name="CacheSensitivityHistograms">
  <suffix name="CacheSensitivity" label="Cache Sensivitiy Analysis"/>
  <affected-histogram name="PLT.BeginToFinish"/>
  <affected-histogram name="PLT.BeginToFinishDoc"/>
  <affected-histogram name="PLT.BeginToFirstPaint"/>
  <affected-histogram name="PLT.CommitToFirstPaint"/>
</histogram_suffixes>

<histogram_suffixes name="CacheThrottle">
  <suffix name="CacheThrottle_On" label="Throttling payload requests."/>
  <suffix name="CacheThrottle_Off" label="Control group."/>
  <affected-histogram name="DiskCache.TotalIOTime"/>
  <affected-histogram name="PLT.Abandoned"/>
  <affected-histogram name="PLT.BeginToFinish"/>
  <affected-histogram name="PLT.BeginToFinish_HistoryLoad"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadCacheOnly"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadReload"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadStaleOk"/>
  <affected-histogram name="PLT.BeginToFinish_NormalLoad"/>
  <affected-histogram name="PLT.BeginToFinish_Reload"/>
</histogram_suffixes>

<histogram_suffixes name="CanvasRequestedImageMimeTypeFunctions">
  <suffix name="toDataURL" label="Image formats passed to canvas.toDataURL"/>
  <suffix name="toBlobCallback"
      label="Image formats passed to canvas.toBlob (callback)"/>
  <suffix name="convertToBlobPromise"
      label="Image formats passed to OffscreenCanvas.convertToBlob (promise)"/>
  <affected-histogram name="Canvas.RequestedImageMimeTypes"/>
</histogram_suffixes>

<histogram_suffixes name="CertificateTypeAlgorithms" separator=".">
  <owner>rsleevi@chromium.org</owner>
  <suffix name="DH" label="DH"/>
  <suffix name="DSA" label="DSA"/>
  <suffix name="ECDH" label="ECDH"/>
  <suffix name="ECDSA" label="ECDSA"/>
  <suffix name="RSA" label="RSA"/>
  <suffix name="Unknown" label="SPKI unrecognized by cert library"/>
  <suffix name="Unsupported" label="Un-histogrammed type - please fix"/>
  <affected-histogram name="CertificateType.BR.Intermediate"/>
  <affected-histogram name="CertificateType.BR.Leaf"/>
  <affected-histogram name="CertificateType.BR.Root"/>
  <affected-histogram name="CertificateType.NonBR.Intermediate"/>
  <affected-histogram name="CertificateType.NonBR.Leaf"/>
  <affected-histogram name="CertificateType.NonBR.Root"/>
  <affected-histogram name="CertificateType2.BR.Intermediate"/>
  <affected-histogram name="CertificateType2.BR.Leaf"/>
  <affected-histogram name="CertificateType2.BR.Root"/>
  <affected-histogram name="CertificateType2.NonBR.Intermediate"/>
  <affected-histogram name="CertificateType2.NonBR.Leaf"/>
  <affected-histogram name="CertificateType2.NonBR.Root"/>
</histogram_suffixes>

<histogram_suffixes name="CertificateTypeBRValidity" separator=".">
  <obsolete>
    Deprecated as of 8/2013. This histogram only considered the leaf certificate
    expiry date as a proxy for whether a certificate was in-scope for the BRs,
    but did not consider the issuance date. As some CAs have issued long-lived
    certs prior to the BRs, this disproportionately reported those certs as
    being subject to the BRs, but non-compliant, when in reality they're not
    subject.
  </obsolete>
  <suffix name="BR"
      label="The *leaf* certificate of the chain expires after 2013-12-31,
             meaning that it should be in scope for the Baseline
             Requirement's key size requirements"/>
  <suffix name="NonBR"
      label="The *leaf* certificate of the chain expires on or before
             2013-12-31"/>
  <affected-histogram name="CertificateType"/>
</histogram_suffixes>

<histogram_suffixes name="CertificateTypeBRValidity2" separator=".">
  <suffix name="BR"
      label="The *leaf* certificate of the chain expires after 2013-12-31 and
             was issued on or after 2012-07-01, as judged by the notBefore,
             meaning that it should be in scope for the Baseline
             Requirement's key size requirements"/>
  <suffix name="NonBR"
      label="The *leaf* certificate of the chain expires on or before
             2013-12-31 or was issued before 2012-07-01"/>
  <affected-histogram name="CertificateType2"/>
</histogram_suffixes>

<histogram_suffixes name="CertificateTypeChainPosition" separator=".">
  <suffix name="Intermediate" label="Intermediate's SPKI"/>
  <suffix name="Leaf" label="Leaf's SPKI"/>
  <suffix name="Root" label="Root's SPKI"/>
  <affected-histogram name="CertificateType.BR"/>
  <affected-histogram name="CertificateType.NonBR"/>
  <affected-histogram name="CertificateType2.BR"/>
  <affected-histogram name="CertificateType2.NonBR"/>
</histogram_suffixes>

<histogram_suffixes name="CertIo" separator="">
  <obsolete>
    Deprecated as of 01/2016. CertCacheTrial has been removed.
    https://crbug.com/522312
  </obsolete>
  <suffix name="ReadSuccess"
      label="success rate of reading a certificate from the disk cache"/>
  <suffix name="ReadFailure"
      label="failure rate of reading a certificate from the disk cache"/>
  <suffix name="WriteSuccess"
      label="success rate of writing a certificate to the disk cache"/>
  <suffix name="WriteFailure"
      label="failure rate of writing a certificate to the disk cache"/>
  <affected-histogram name="DiskBasedCertCache.CertIo"/>
</histogram_suffixes>

<histogram_suffixes name="ChromeActivityName" separator=".">
  <suffix name="ChromeTabbedActivity"
      label="Activity launched in TABBED mode on Android"/>
  <suffix name="DocumentActivity"
      label="Activity launched in DOCUMENT mode (Tabs and apps together) on
             Android"/>
  <suffix name="CustomTabActivity"
      label="Activity launched with a CUSTOM TAB on Android"/>
  <affected-histogram name="MobileStartup.ToolbarFirstDrawTime"/>
  <affected-histogram name="MobileStartup.ToolbarFirstFocusTime"/>
  <affected-histogram name="MobileStartup.ToolbarInflationTime"/>
</histogram_suffixes>

<histogram_suffixes name="ChromeOS.MachineIdRegen.AgeSeconds">
  <suffix name="Network"/>
  <suffix name="Periodic"/>
  <suffix name="Unknown"/>
  <affected-histogram name="ChromeOS.MachineIdRegen.AgeSeconds"/>
</histogram_suffixes>

<histogram_suffixes name="Clients.StaleWhileRevalidateExperiment" separator="."
    ordering="prefix">
  <suffix name="Clients.StaleWhileRevalidateExperiment"
      label="Timing was recorded on one of the domains of focus for
             stale-while-revalidate"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToFirstLayout"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToFirstTextPaint"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToLoadEventFired"/>
</histogram_suffixes>

<histogram_suffixes name="ClockResolution" separator=".">
  <obsolete>
    These were temporary metrics intended to understand whether high/low
    resolution clocks adversely impact page load metrics. After collecting a few
    months of data it was determined that clock resolution doesn't adversely
    impact our metrics, and that these histograms were no longer needed.
  </obsolete>
  <suffix name="HighResolutionClock"
      label="base::TimeTicks::IsHighResolution() is true for this measurement"/>
  <suffix name="LowResolutionClock"
      label="base::TimeTicks::IsHighResolution() is false for this
             measurement"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToFirstContentfulPaint"/>
</histogram_suffixes>

<histogram_suffixes name="CloudPrintRequests" separator=".">
  <suffix name="Register" label="Register request"/>
  <suffix name="UpdatePrinter" label="Update printer request"/>
  <suffix name="DownloadData" label="Download data request"/>
  <suffix name="Other" label="Other requests"/>
  <affected-histogram name="CloudPrint.UrlFetcherDownloadSize"/>
  <affected-histogram name="CloudPrint.UrlFetcherRequestTime"/>
  <affected-histogram name="CloudPrint.UrlFetcherRetries"/>
  <affected-histogram name="CloudPrint.UrlFetcherUploadSize"/>
</histogram_suffixes>

<histogram_suffixes name="CompositorTimingHistoryProcess" separator="."
    ordering="prefix">
  <suffix name="Browser"/>
  <suffix name="Renderer"/>
  <affected-histogram name="Scheduling.ActivateDuration2"/>
  <affected-histogram name="Scheduling.BeginImplFrameLatency2"/>
  <affected-histogram name="Scheduling.BeginMainFrameIntervalCritical2"/>
  <affected-histogram name="Scheduling.BeginMainFrameIntervalNotCritical2"/>
  <affected-histogram name="Scheduling.BeginMainFrameQueueDurationCritical2"/>
  <affected-histogram
      name="Scheduling.BeginMainFrameQueueDurationNotCritical2"/>
  <affected-histogram name="Scheduling.BeginMainFrameStartToCommitDuration2"/>
  <affected-histogram name="Scheduling.CommitInterval2"/>
  <affected-histogram name="Scheduling.CommitToReadyToActivateDuration2"/>
  <affected-histogram name="Scheduling.DrawDuration2"/>
  <affected-histogram name="Scheduling.DrawInterval2"/>
  <affected-histogram name="Scheduling.MainAndImplFrameTimeDelta2"/>
  <affected-histogram name="Scheduling.PrepareTilesDuration2"/>
  <affected-histogram name="Scheduling.SwapAckWasFast"/>
  <affected-histogram name="Scheduling.SwapToAckLatency2"/>
</histogram_suffixes>

<histogram_suffixes name="CompositorTimingHistoryProcess2" separator="."
    ordering="prefix">
  <suffix name="Browser"/>
  <suffix name="Renderer"/>
  <affected-histogram name="Scheduling.PendingTreeDuration"/>
</histogram_suffixes>

<histogram_suffixes name="CompositorTimingHistoryProcessObsolete" separator="."
    ordering="prefix">
  <obsolete>
    These used an old bucketing scheme that that had too many buckets and were
    an inefficient usage of UMA bandwidth. They have been replaced by new
    metrics of the same name with a &quot;2&quot; appended to them.
  </obsolete>
  <suffix name="Browser"/>
  <suffix name="Renderer"/>
  <affected-histogram name="Scheduling.ActivateDuration"/>
  <affected-histogram name="Scheduling.BeginMainFrameIntervalCritical"/>
  <affected-histogram name="Scheduling.BeginMainFrameIntervalNotCritical"/>
  <affected-histogram name="Scheduling.BeginMainFrameQueueDurationCritical"/>
  <affected-histogram name="Scheduling.BeginMainFrameQueueDurationNotCritical"/>
  <affected-histogram name="Scheduling.BeginMainFrameStartToCommitDuration"/>
  <affected-histogram name="Scheduling.BeginMainFrameToCommitDuration"/>
  <affected-histogram name="Scheduling.CommitInterval"/>
  <affected-histogram name="Scheduling.CommitToReadyToActivateDuration"/>
  <affected-histogram name="Scheduling.DrawDuration"/>
  <affected-histogram name="Scheduling.DrawInterval"/>
  <affected-histogram name="Scheduling.MainAndImplFrameTimeDelta"/>
  <affected-histogram name="Scheduling.PrepareTilesDuration"/>
  <affected-histogram name="Scheduling.SwapToAckLatency"/>
</histogram_suffixes>

<histogram_suffixes name="CompositorTimingHistorySubcategory" separator=".">
  <obsolete>
    Estimates don't need long term monitoring.
  </obsolete>
  <suffix name="NotUsedForEstimate"
      label="Samples that don't affect estimates. For example, because we are
             coming out of idle."/>
  <suffix name="Overestimate"
      label="Tracks when the compositor's estimates were too high and by how
             much."/>
  <suffix name="Underestimate"
      label="Tracks when the compositor's estimates were too low and by how
             much."/>
  <affected-histogram name="Scheduling.Browser.ActivateDuration"/>
  <affected-histogram name="Scheduling.Browser.BeginMainFrameToCommitDuration"/>
  <affected-histogram
      name="Scheduling.Browser.CommitToReadyToActivateDuration"/>
  <affected-histogram name="Scheduling.Browser.DrawDuration"/>
  <affected-histogram name="Scheduling.Browser.PrepareTilesDuration"/>
  <affected-histogram name="Scheduling.Renderer.ActivateDuration"/>
  <affected-histogram
      name="Scheduling.Renderer.BeginMainFrameToCommitDuration"/>
  <affected-histogram
      name="Scheduling.Renderer.CommitToReadyToActivateDuration"/>
  <affected-histogram name="Scheduling.Renderer.DrawDuration"/>
  <affected-histogram name="Scheduling.Renderer.PrepareTilesDuration"/>
</histogram_suffixes>

<histogram_suffixes name="CompositorTimingHistorySubcategory2" separator=".">
  <obsolete>
    Estimates don't need long term monitoring.
  </obsolete>
  <suffix name="NotUsedForEstimate"
      label="Samples that don't affect estimates. For example, because we are
             coming out of idle."/>
  <affected-histogram
      name="Scheduling.Browser.BeginMainFrameQueueDurationCritical"/>
  <affected-histogram
      name="Scheduling.Browser.BeginMainFrameQueueDurationNotCritical"/>
  <affected-histogram
      name="Scheduling.Browser.BeginMainFrameStartToCommitDuration"/>
  <affected-histogram
      name="Scheduling.Renderer.BeginMainFrameQueueDurationCritical"/>
  <affected-histogram
      name="Scheduling.Renderer.BeginMainFrameQueueDurationNotCritical"/>
  <affected-histogram
      name="Scheduling.Renderer.BeginMainFrameStartToCommitDuration"/>
</histogram_suffixes>

<histogram_suffixes name="ConnCountImpact">
  <suffix name="conn_count_16" label="with 16 persistent connections per host"/>
  <suffix name="conn_count_4" label="with 4 persistent connections per host"/>
  <suffix name="conn_count_5" label="with 5 persistent connections per host"/>
  <suffix name="conn_count_6" label="with 6 persistent connections per host"/>
  <suffix name="conn_count_7" label="with 7 persistent connections per host"/>
  <suffix name="conn_count_8" label="with 8 persistent connections per host"/>
  <suffix name="conn_count_9" label="with 9 persistent connections per host"/>
  <affected-histogram name="Net.Transaction_Connected_New"/>
  <affected-histogram name="PLT.Abandoned"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadReload"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadStaleOk"/>
  <affected-histogram name="PLT.BeginToFinish_NormalLoad"/>
  <affected-histogram name="Renderer4.Abandoned"/>
  <affected-histogram name="Renderer4.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="Renderer4.BeginToFinish_LinkLoadReload"/>
  <affected-histogram name="Renderer4.BeginToFinish_LinkLoadStaleOk"/>
  <affected-histogram name="Renderer4.BeginToFinish_NormalLoad"/>
</histogram_suffixes>

<histogram_suffixes name="ConnectivityDiagnostics" separator=".">
  <suffix name="0" label="INTERNET_DISCONNECTED"/>
  <suffix name="1" label="CHROME_VERSION"/>
  <suffix name="2" label="CHROMEOS_VERSION"/>
  <suffix name="3" label="DNS_RESOLVER_PRESENT"/>
  <suffix name="4" label="CAPTIVE_PORTAL_DNS"/>
  <suffix name="5" label="CAPTIVE_PORTAL_HTTP"/>
  <suffix name="6" label="FIREWALL_80"/>
  <suffix name="7" label="FIREWALL_443"/>
  <suffix name="8" label="RESOLVER_LATENCY"/>
  <suffix name="9" label="HTTP_LATENCY"/>
  <suffix name="10" label="NIC_SIGNAL_STRENGTH"/>
  <suffix name="11" label="PING_GATEWAY"/>
  <affected-histogram name="ConnectivityDiagnostics.TestVerdict"/>
  <affected-histogram name="ConnectivityDiagnostics.TimeTaken"/>
</histogram_suffixes>

<histogram_suffixes name="ConnnectBackupJobs">
  <suffix name="ConnectBackupJobsEnabled"/>
  <suffix name="ConnectBackupJobsDisabled"/>
  <affected-histogram name="Net.PreconnectUtilization"/>
  <affected-histogram name="Net.PreconnectUtilization2"/>
  <affected-histogram name="PLT.Abandoned"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadReload"/>
  <affected-histogram name="PLT.BeginToFinish_NormalLoad"/>
  <affected-histogram name="PLT.LoadType"/>
</histogram_suffixes>

<histogram_suffixes name="ContentSettingsType" separator=".">
  <suffix name="app-banner" label="App banner exceptions"/>
  <suffix name="autoplay" label="Autoplay exception"/>
  <suffix name="auto-select-certificate" label="Auto-select cert exceptions"/>
  <suffix name="automatic-downloads" label="Automatic downloads exceptions"/>
  <suffix name="background-sync" label="Background sync exceptions"/>
  <suffix name="bluetooth-guard" label="Bluetooth guard exceptions"/>
  <suffix name="cookies" label="Cookies exceptions"/>
  <suffix name="durable-storage" label="Durable Storage Exceptions"/>
  <suffix name="fullscreen" label="Fullscreen exceptions"/>
  <suffix name="geolocation" label="Geolocation exceptions"/>
  <suffix name="images" label="Images exceptions"/>
  <suffix name="javascript" label="JavaScript exceptions"/>
  <suffix name="keygen" label="Keygen exceptions"/>
  <suffix name="media-stream-camera" label="Camera exceptions"/>
  <suffix name="media-stream-mic" label="Microphone exceptions"/>
  <suffix name="midi-sysex" label="Midi exceptions"/>
  <suffix name="mixed-script" label="Mixed script exceptions"/>
  <suffix name="mouselock" label="Mouse lock exceptions"/>
  <suffix name="notifications" label="Notification exceptions"/>
  <suffix name="plugins" label="Plugins exceptions"/>
  <suffix name="popups" label="Popups exceptions"/>
  <suffix name="ppapi-broker" label="Ppapi broker exceptions"/>
  <suffix name="protected-media-identifier" label="Protected media exceptions"/>
  <suffix name="protocol-handler" label="Protocol handler exceptions"/>
  <suffix name="push-messaging" label="Push messaging exceptions"/>
  <suffix name="site-engagement" label="Site engagement exceptions"/>
  <suffix name="ssl-cert-decisions" label="SSL cert decisions exceptions"/>
  <suffix name="usb-chooser-data" label="USB chooser data exceptions"/>
  <affected-histogram name="ContentSettings.Exceptions"/>
</histogram_suffixes>

<histogram_suffixes name="ContentSuggestionCategory" separator=".">
  <suffix name="RecentTabs" label="Recent (offline) tabs"/>
  <suffix name="Downloads" label="Downloads"/>
  <suffix name="Bookmarks" label="Bookmarks"/>
  <suffix name="PhysicalWeb" label="Physical Web pages"/>
  <suffix name="Articles" label="Articles for you"/>
  <suffix name="ForeignTabs" label="Open tabs on other devices"/>
  <suffix name="Experimental" label="Experimental"/>
  <suffix name="ReadingList" label="Reading List entries"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.CountOnNtpOpened"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.DismissedUnvisited"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.DismissedVisited"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.MenuOpened"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.MenuOpenedAge"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.MenuOpenedScore"/>
  <affected-histogram
      name="NewTabPage.ContentSuggestions.MenuOpenedScoreNormalized"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.MoreButtonClicked"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.MoreButtonShown"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.OpenDisposition"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.Opened"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.OpenedAge"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.OpenedCategoryIndex"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.OpenedScore"/>
  <affected-histogram
      name="NewTabPage.ContentSuggestions.OpenedScoreNormalized"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.Shown"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.ShownAge"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.ShownScore"/>
  <affected-histogram
      name="NewTabPage.ContentSuggestions.ShownScoreNormalized"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.VisitDuration"/>
</histogram_suffixes>

<histogram_suffixes name="ContextMenuType" separator=".">
  <suffix name="Link"
      label="The context menu was shown for a (non-image) link"/>
  <suffix name="Image"
      label="The context menu was shown for a (non-link) image"/>
  <suffix name="ImageLink"
      label="The context menu was shown for an image which is also a link"/>
  <suffix name="Video" label="The context menu was shown for a video"/>
  <suffix name="SelectedText"
      label="The context menu was shown for a text selection"/>
  <suffix name="MisspelledWord"
      label="The context menu was shown for a misspelt word"/>
  <affected-histogram name="ContextMenu.SelectedOption"/>
</histogram_suffixes>

<histogram_suffixes name="ContextType" separator=".">
  <suffix name="BrowserCompositor"
      label="A BrowserCompositor GPU command buffer context"/>
  <suffix name="BrowserMainThread"
      label="A BrowserMainThread GPU command buffer context"/>
  <suffix name="RenderCompositor"
      label="A RenderCompositor GPU command buffer context"/>
  <suffix name="RenderMainThread"
      label="A RenderMainThread GPU command buffer context"/>
  <suffix name="RenderWorker"
      label="A RenderWorker GPU command buffer context"/>
  <suffix name="Unknown" label="A GPU command buffer context of unknown type"/>
  <suffix name="VideoAccelerator"
      label="A VideoAccelerator GPU command buffer context"/>
  <suffix name="VideoCapture"
      label="A VideoCapture GPU command buffer context"/>
  <suffix name="WebGL" label="A WebGL GPU command buffer context"/>
  <suffix name="Media" label="The media worker command buffer context"/>
  <suffix name="BlimpRenderCompositor"
      label="BlimpCompositor compositor command buffer context">
    <obsolete>
      Deprecated and removed from code as of 02/2017.
    </obsolete>
  </suffix>
  <suffix name="BlimpRenderWorker"
      label="BlimpCompositor worker command buffer context">
    <obsolete>
      Deprecated and removed from code as of 02/2017.
    </obsolete>
  </suffix>
  <affected-histogram name="GPU.ContextLost"/>
</histogram_suffixes>

<histogram_suffixes name="ContextualSearchQuickActionCategory" separator=".">
  <suffix name="Address"/>
  <suffix name="Email"/>
  <suffix name="Event"/>
  <suffix name="Phone"/>
  <suffix name="None"/>
  <suffix name="Website"/>
  <affected-histogram name="Search.ContextualSearchQuickActions.Clicked"/>
  <affected-histogram
      name="Search.ContextualSearchQuickActions.IntentResolution"/>
  <affected-histogram name="Search.ContextualSearchQuickActions.ResultsSeen"/>
</histogram_suffixes>

<histogram_suffixes name="CreditCardScanSuccess">
  <suffix name="Completed" label="Credit card scan completed."/>
  <suffix name="Cancelled" label="Credit card scan was cancelled."/>
  <affected-histogram name="Autofill.ScanCreditCard.Duration"/>
</histogram_suffixes>

<histogram_suffixes name="CrosFirstRunStep" separator="">
  <suffix name="AppList"/>
  <suffix name="Tray"/>
  <suffix name="Help"/>
  <affected-histogram name="CrosFirstRun.TimeSpentOnStep"/>
</histogram_suffixes>

<histogram_suffixes name="CurrentTabState">
  <suffix name="Initial" label="For a tab that is just being created."/>
  <suffix name="Active"
      label="For an active tab which is shown foreground in a browser window."/>
  <suffix name="Inactive"
      label="For tabs in background and not shown to user."/>
  <suffix name="Detached"
      label="For a tab that is being dragged by user to outside of the
             browser window."/>
  <affected-histogram name="Tabs.StateTransfer.Target"/>
  <affected-histogram name="Tabs.StateTransfer.Time"/>
</histogram_suffixes>

<histogram_suffixes name="DataReductionProxy">
  <obsolete>
    Deprecated 9/2016.
  </obsolete>
  <suffix name="DataReductionProxy"
      label="Only page loads through the data reduction proxy are considered."/>
  <suffix name="HTTPS_DataReductionProxy"
      label="Only page loads through the data reduction proxy through an HTTP
             tunnel for HTTPS origins are considered."/>
  <affected-histogram name="PLT.NT_Connect"/>
  <affected-histogram name="PLT.NT_DelayBeforeConnect"/>
  <affected-histogram name="PLT.NT_DelayBeforeDomainLookup"/>
  <affected-histogram name="PLT.NT_DelayBeforeDomLoading"/>
  <affected-histogram name="PLT.NT_DelayBeforeFetch"/>
  <affected-histogram name="PLT.NT_DelayBeforeFetchRedirect"/>
  <affected-histogram name="PLT.NT_DelayBeforeLoadEvent"/>
  <affected-histogram name="PLT.NT_DelayBeforeRequest"/>
  <affected-histogram name="PLT.NT_DomainLookup"/>
  <affected-histogram name="PLT.NT_DomContentLoaded"/>
  <affected-histogram name="PLT.NT_DomInteractive"/>
  <affected-histogram name="PLT.NT_DomLoading"/>
  <affected-histogram name="PLT.NT_LoadEvent"/>
  <affected-histogram name="PLT.NT_Redirect"/>
  <affected-histogram name="PLT.NT_Request"/>
  <affected-histogram name="PLT.NT_Response"/>
  <affected-histogram name="PLT.PT_BeginToCommit"/>
  <affected-histogram name="PLT.PT_BeginToFinish"/>
  <affected-histogram name="PLT.PT_BeginToFinishDoc"/>
  <affected-histogram name="PLT.PT_CommitToFinish"/>
  <affected-histogram name="PLT.PT_CommitToFinishDoc"/>
  <affected-histogram name="PLT.PT_FinishDocToFinish"/>
  <affected-histogram name="PLT.PT_RequestToCommit"/>
  <affected-histogram name="PLT.PT_RequestToDomContentLoaded"/>
  <affected-histogram name="PLT.PT_RequestToFinish"/>
  <affected-histogram name="PLT.PT_RequestToFinishDoc"/>
  <affected-histogram name="PLT.PT_RequestToStart"/>
  <affected-histogram name="PLT.PT_StartToCommit"/>
  <affected-histogram name="PLT.PT_StartToFinish"/>
</histogram_suffixes>

<histogram_suffixes
    name="DataReductionProxy.LoFi.Accuracy.DifferentRecordingIntervals"
    separator=".">
  <suffix name="15"
      label="Recorded approximately 15 seconds after navigation start"/>
  <suffix name="30"
      label="Recorded approximately 30 seconds after navigation start"/>
  <suffix name="60"
      label="Recorded approximately 60 seconds after navigation start"/>
  <affected-histogram name="DataReductionProxy.LoFi.Accuracy"/>
</histogram_suffixes>

<histogram_suffixes name="DataReductionProxy.MimeType">
  <suffix name="Application" label="Application mime-type"/>
  <suffix name="Unknown"
      label="Deprecated. Moved to UnknownMime in M46. Unknown mime-type"/>
  <suffix name="UnknownMime" label="Unknown mime-type"/>
  <suffix name="Video" label="Video mime-type"/>
  <affected-histogram name="Net.DailyContentLength"/>
  <affected-histogram name="Net.DailyContentLength_DataReductionProxyEnabled"/>
  <affected-histogram name="Net.DailyContentLength_ViaDataReductionProxy"/>
  <affected-histogram name="Net.DailyOriginalContentLength"/>
  <affected-histogram
      name="Net.DailyOriginalContentLength_DataReductionProxyEnabled"/>
  <affected-histogram
      name="Net.DailyOriginalContentLength_ViaDataReductionProxy"/>
</histogram_suffixes>

<histogram_suffixes name="DataReductionProxy.NetworkTypes" separator=".">
  <suffix name="Unknown" label="On Unknown network"/>
  <suffix name="Ethernet" label="On Ethernet network"/>
  <suffix name="WiFi" label="On WiFi network"/>
  <suffix name="2G" label="On 2G network"/>
  <suffix name="3G" label="On 3G Network"/>
  <suffix name="4G" label="On 4G network"/>
  <suffix name="None" label="With no detected network"/>
  <suffix name="Bluetooth" label="On Bluetooth network"/>
  <affected-histogram name="DataReductionProxy.AutoLoFiAccuracy"/>
  <affected-histogram name="DataReductionProxy.AutoLoFiRequestHeaderState"/>
  <affected-histogram name="DataReductionProxy.LoFi.Accuracy.15"/>
  <affected-histogram name="DataReductionProxy.LoFi.Accuracy.30"/>
  <affected-histogram name="DataReductionProxy.LoFi.Accuracy.60"/>
  <affected-histogram name="DataReductionProxy.LoFi.ImplicitOptOutAction"/>
</histogram_suffixes>

<histogram_suffixes name="DataReductionProxy.WithValidOCL.LoFiOn" separator=".">
  <suffix name="LoFiOn"
      label="Only page loads through the data reduction proxy with Lo-Fi On
             are considered."/>
  <affected-histogram name="Net.HttpContentLengthDifferenceWithValidOCL"/>
  <affected-histogram name="Net.HttpContentLengthWithValidOCL"/>
  <affected-histogram name="Net.HttpOriginalContentLengthWithValidOCL"/>
</histogram_suffixes>

<histogram_suffixes name="DataReductionProxy_AutoLoFi" separator="_">
  <obsolete>
    Deprecated 09/2016.
  </obsolete>
  <suffix name="DataReductionProxy_AutoLoFiOn"
      label="Only page loads through the data reduction proxy with auto LoFi
             enabled are considered."/>
  <suffix name="DataReductionProxy_AutoLoFiOff"
      label="Only page loads through the data reduction proxy with auto LoFi
             disabled are considered."/>
  <suffix name="HTTPS_DataReductionProxy_AutoLoFiOn"
      label="Only page loads through the data reduction proxy through an HTTP
             tunnel for HTTPS origins with auto LoFi enabled are considered."/>
  <suffix name="HTTPS_DataReductionProxy_AutoLoFiOff"
      label="Only page loads through the data reduction proxy through an HTTP
             tunnel for HTTPS origins with auto LoFi disabled are considered."/>
  <affected-histogram name="PLT.BeginToFirstPaint"/>
  <affected-histogram name="PLT.PT_BeginToFinish"/>
  <affected-histogram name="PLT.PT_CommitToFinish"/>
  <affected-histogram name="PLT.PT_RequestToDomContentLoaded"/>
  <affected-histogram name="PLT.PT_RequestToFinish"/>
  <affected-histogram name="PLT.PT_StartToFinish"/>
</histogram_suffixes>

<histogram_suffixes name="DataReductionProxy_TamperingFingerprints"
    separator="_">
  <suffix name="ChromeProxy"
      label="for each carrier, number of tamperings detected on Chrome-Proxy
             header"/>
  <suffix name="ContentLength"
      label="for each carrier, total number of responses whose Content-Length
             header has been tampered with"/>
  <suffix name="ContentLength_CSS"
      label="for each carrier, number of CSS responses whose Content-Length
             header has been tampered with"/>
  <suffix name="ContentLength_Image"
      label="for each carrier, number of image responses whose Content-Length
             header has been tampered with"/>
  <suffix name="ContentLength_Image_GIF"
      label="for each carrier, number of GIF image responses whose
             Content-Length header has been tampered with"/>
  <suffix name="ContentLength_Image_JPG"
      label="for each carrier, number of JPEG image responses whose
             Content-Length header has been tampered with"/>
  <suffix name="ContentLength_Image_PNG"
      label="for each carrier, number of PNG image responses whose
             Content-Length header has been tampered with"/>
  <suffix name="ContentLength_Image_WEBP"
      label="for each carrier, number of WebP image responses whose
             Content-Length header has been tampered with"/>
  <suffix name="ContentLength_Video"
      label="for each carrier, number of video responses whose Content-Length
             header has been tampered with"/>
  <suffix name="CompressionRatio_Image"
      label="the histogram of compression ratio of images"/>
  <suffix name="CompressionRatio_Image_GIF"
      label="the histogram of compression ratio of GIF images"/>
  <suffix name="CompressionRatio_Image_JPG"
      label="the histogram of compression ratio of JPG images"/>
  <suffix name="CompressionRatio_Image_PNG"
      label="the histogram of compression ratio of PNG images"/>
  <suffix name="CompressionRatio_Image_WEBP"
      label="the histogram of compression ratio of WEBP images"/>
  <suffix name="CompressionRatio_Video"
      label="the histogram of compression ratio of videos"/>
  <suffix name="CompressionRatio_Image_0_10KB"
      label="the histogram of compression ratio of images whose sizes are in
             the range of 0-10KB"/>
  <suffix name="CompressionRatio_Image_10_100KB"
      label="the histogram of compression ratio of images whose sizes are in
             the range of 10-100KB"/>
  <suffix name="CompressionRatio_Image_100_500KB"
      label="the histogram of compression ratio of images whose sizes are in
             the range of 100-500KB"/>
  <suffix name="CompressionRatio_Image_500KB"
      label="the histogram of compression ratio of images whose sizes are
             larger than 500KB"/>
  <suffix name="ContentLength_JS"
      label="for each carrier, number of JavaScript responses whose
             Content-Length header has been tampered with"/>
  <suffix name="ContentLength_Other"
      label="for each carrier, number of other type responses whose
             Content-Length header has been tampered with"/>
  <suffix name="OtherHeaders"
      label="for each carrier, number of tamperings detected on a list of
             headers"/>
  <suffix name="Via"
      label="for each carrier, number of tamperings detected on Via header"/>
  <suffix name="Via_Missing"
      label="for each carrier, number of responses whose data reduction
             proxy's Via header is missing"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperedHTTP"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperedHTTPS"/>
</histogram_suffixes>

<histogram_suffixes name="DataReductionProxy_TamperingTotal" separator="_">
  <suffix name="Total" label="total number of tamperings detected"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperDetectionHTTP"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperDetectionHTTP_CSS"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTP_Image"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTP_Image_0_10KB"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTP_Image_100_500KB"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTP_Image_10_100KB"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTP_Image_500KB"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTP_Image_GIF"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTP_Image_JPG"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTP_Image_PNG"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTP_Image_WEBP"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperDetectionHTTP_JS"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTP_Video"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperDetectionHTTPS"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperDetectionHTTPS_CSS"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTPS_Image"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTPS_Image_0_10KB"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTPS_Image_100_500KB"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTPS_Image_10_100KB"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTPS_Image_500KB"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTPS_Image_GIF"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTPS_Image_JPG"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTPS_Image_PNG"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTPS_Image_WEBP"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperDetectionHTTPS_JS"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperDetectionHTTPS_Video"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperDetectionPassHTTP"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperDetectionPassHTTPS"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperedHTTP_ChromeProxy"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperedHTTP_ContentLength"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperedHTTP_ContentLength_CSS"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperedHTTP_ContentLength_Image"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperedHTTP_ContentLength_JS"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperedHTTP_ContentLength_Other"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperedHTTP_OtherHeaders"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperedHTTP_Via"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperedHTTP_Via_Missing"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperedHTTPS_ChromeProxy"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperedHTTPS_ContentLength"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperedHTTPS_ContentLength_CSS"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperedHTTPS_ContentLength_Image"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperedHTTPS_ContentLength_JS"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperedHTTPS_ContentLength_Other"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperedHTTPS_OtherHeaders"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperedHTTPS_Via"/>
  <affected-histogram
      name="DataReductionProxy.HeaderTamperedHTTPS_Via_Missing"/>
</histogram_suffixes>

<histogram_suffixes name="DataReductionProxy_TotalCounts" separator="_">
  <suffix name="JS" label="JavaScript count"/>
  <suffix name="CSS" label="CSS count"/>
  <suffix name="Image" label="image count"/>
  <suffix name="Image_GIF" label="GIF image count"/>
  <suffix name="Image_JPG" label="JPG image count"/>
  <suffix name="Image_PNG" label="PNG image count"/>
  <suffix name="Image_WEBP" label="WEBP image count"/>
  <suffix name="Video" label="Video count"/>
  <suffix name="Image_0_10KB" label="image counts of 0-10KB"/>
  <suffix name="Image_10_100KB" label="image counts of 10-100KB"/>
  <suffix name="Image_100_500KB" label="image counts of 100-500KB"/>
  <suffix name="Image_500KB" label="image counts of more than 500KB"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperDetectionHTTP"/>
  <affected-histogram name="DataReductionProxy.HeaderTamperDetectionHTTPS"/>
</histogram_suffixes>

<histogram_suffixes name="DataReductionProxyBypassedBytes" separator=".">
  <suffix name="SSL" label="Bypass due to SSL"/>
  <suffix name="LocalBypassRules"
      label="Bypass due to client-side bypass rules or because the proxy
             config was missing at the client"/>
  <suffix name="ManagedProxyConfig"
      label="Deprecated 1/9/2014 (M-41). Bypass due to a managed config"/>
  <suffix name="ProxyOverridden"
      label="Bypass due to another proxy taking precedence"/>
  <suffix name="Current" label="Bypass due to explicit instruction"/>
  <suffix name="CurrentAudioVideo"
      label="Bypass due to explicit instruction for audio/video"/>
  <suffix name="CurrentApplicationOctetStream"
      label="Bypass due to explicit instruction for
             'application/octet-stream' content type"/>
  <suffix name="ShortAll" label="Short bypass"/>
  <suffix name="ShortTriggeringRequest"
      label="Triggering request short bypass"/>
  <suffix name="ShortAudioVideo"
      label="Triggering request short bypass due to audio/video"/>
  <suffix name="MediumAll" label="Medium bypass"/>
  <suffix name="MediumTriggeringRequest"
      label="Triggering request medium bypass"/>
  <suffix name="LongAll" label="Long bypass"/>
  <suffix name="LongTriggeringRequest" label="Triggering request long bypass"/>
  <suffix name="MissingViaHeader4xx"
      label="Bypass due to a 4xx missing via header"/>
  <suffix name="MissingViaHeaderOther"
      label="Bypass due to other missing via header"/>
  <suffix name="Malformed407"
      label="Bypass due to 407 response from proxy without a challenge"/>
  <suffix name="Status500HttpInternalServerError"
      label="Bypass due to internal server error"/>
  <suffix name="Status502HttpBadGateway"
      label="Bypass because the request URI was too long"/>
  <suffix name="Status503HttpServiceUnavailable"
      label="Bypass due to a 503 response"/>
  <suffix name="NetworkErrorTimedOut" label="Bypass due to network timeout"/>
  <suffix name="NetworkErrorProxyConnectionFailed"
      label="Bypass due to failed proxy connection"/>
  <suffix name="NetworkErrorProxyCertificateInvalid"
      label="Bypass due to invalid proxy certificate"/>
  <suffix name="NetworkErrorOther" label="Bypass due to any network error"/>
  <suffix name="URLRedirectCycle" label="Bypass due to URL redirect cycle"/>
  <affected-histogram name="DataReductionProxy.BypassedBytes"/>
</histogram_suffixes>

<histogram_suffixes name="DataReductionProxyConfigFetchLostBytes" separator="_">
  <obsolete>
    Removed in Feb 2016.
  </obsolete>
  <suffix name="0" label="Bucket 0 for gathering multiple data points."/>
  <suffix name="1" label="Bucket 1 for gathering multiple data points."/>
  <suffix name="2" label="Bucket 2 for gathering multiple data points."/>
  <suffix name="3" label="Bucket 3 for gathering multiple data points."/>
  <suffix name="4" label="Bucket 4 for gathering multiple data points."/>
  <suffix name="5" label="Bucket 5 for gathering multiple data points."/>
  <suffix name="6" label="Bucket 6 for gathering multiple data points."/>
  <suffix name="7" label="Bucket 7 for gathering multiple data points."/>
  <suffix name="8" label="Bucket 8 for gathering multiple data points."/>
  <suffix name="9" label="Bucket 9 for gathering multiple data points."/>
  <affected-histogram name="DataReductionProxy.ConfigFetchLostBytesCL"/>
  <affected-histogram name="DataReductionProxy.ConfigFetchLostBytesDiff"/>
  <affected-histogram name="DataReductionProxy.ConfigFetchLostBytesOCL"/>
</histogram_suffixes>

<histogram_suffixes name="DataReductionProxyMissingViaHeaderBytes"
    separator=".">
  <suffix name="4xx" label="Response with 4xx response code"/>
  <suffix name="Other" label="Other response"/>
  <affected-histogram name="DataReductionProxy.MissingViaHeader.Bytes"/>
</histogram_suffixes>

<histogram_suffixes name="DataReductionProxyMissingViaHeaderResponseCode"
    separator=".">
  <suffix name="Primary" label="Primary data reduction proxy"/>
  <suffix name="Fallback" label="Fallback data reduction proxy"/>
  <affected-histogram name="DataReductionProxy.MissingViaHeader.ResponseCode"/>
</histogram_suffixes>

<histogram_suffixes name="DataReductionProxyRequestCompletionErrorCodes"
    separator=".">
  <suffix name="Primary" label="Primary data reduction proxy"/>
  <suffix name="Fallback" label="Fallback data reduction proxy"/>
  <affected-histogram name="DataReductionProxy.RequestCompletionErrorCodes"/>
</histogram_suffixes>

<histogram_suffixes
    name="DataReductionProxyRequestCompletionErrorCodesMainFrame" separator=".">
  <suffix name="Primary" label="Primary data reduction proxy"/>
  <suffix name="Fallback" label="Fallback data reduction proxy"/>
  <affected-histogram
      name="DataReductionProxy.RequestCompletionErrorCodes.MainFrame"/>
</histogram_suffixes>

<histogram_suffixes name="DataSaverEnabled" separator=".">
  <suffix name="DataSaverEnabled" label="Data Saver is enabled"/>
  <suffix name="DataSaverDisabled" label="Data Saver is disabled"/>
  <affected-histogram name="Previews.ContentLength"/>
  <affected-histogram name="Previews.DataInflation"/>
  <affected-histogram name="Previews.DataInflationPercent"/>
  <affected-histogram name="Previews.DataSavings"/>
  <affected-histogram name="Previews.DataSavingsPercent"/>
  <affected-histogram name="Previews.OriginalContentLength"/>
</histogram_suffixes>

<histogram_suffixes name="DataUsageReportSubmissionBytes" separator=".">
  <suffix name="Failed"
      label="Platform external data use observer reported the submission as
             failed"/>
  <suffix name="Lost"
      label="Lost before it could be submitted to platform external data use
             observer"/>
  <suffix name="Successful"
      label="Platform external data use observer reported the submission as
             successful"/>
  <suffix name="TimedOut"
      label="Submission of the report to the platform external data use
             observer timed out"/>
  <affected-histogram name="DataUsage.ReportSubmission.Bytes"/>
</histogram_suffixes>

<histogram_suffixes name="DataUse.AppTabState.Dimensions" separator=".">
  <suffix name="Upstream.AppBackground"/>
  <suffix name="Upstream.AppForeground.TabBackground"/>
  <suffix name="Upstream.AppForeground.TabForeground"/>
  <suffix name="Downstream.AppBackground"/>
  <suffix name="Downstream.AppForeground.TabBackground"/>
  <suffix name="Downstream.AppForeground.TabForeground"/>
  <affected-histogram name="DataUse.AppTabState"/>
</histogram_suffixes>

<histogram_suffixes name="DataUse.Bytes" separator=".">
  <suffix name="Delegate" label="As reported by the network delegate."/>
  <suffix name="OS"
      label="As reported by the operating system. Currently logged only on
             Android."/>
  <affected-histogram name="DataUse.BytesReceived"/>
  <affected-histogram name="DataUse.BytesSent"/>
</histogram_suffixes>

<histogram_suffixes name="DataUse.Dimensions" separator=".">
  <suffix name="Upstream.Background.NotCellular"/>
  <suffix name="Upstream.Background.Cellular"/>
  <suffix name="Upstream.Foreground.NotCellular"/>
  <suffix name="Upstream.Foreground.Cellular"/>
  <suffix name="Downstream.Background.NotCellular"/>
  <suffix name="Downstream.Background.Cellular"/>
  <suffix name="Downstream.Foreground.NotCellular"/>
  <suffix name="Downstream.Foreground.Cellular"/>
  <suffix name="Upstream.Unknown.NotCellular"/>
  <suffix name="Upstream.Unknown.Cellular"/>
  <suffix name="Downstream.Unknown.NotCellular"/>
  <suffix name="Downstream.Unknown.Cellular"/>
  <affected-histogram name="DataUse.MessageSize.AllServices"/>
  <affected-histogram name="DataUse.TrafficSize.System"/>
  <affected-histogram name="DataUse.TrafficSize.User"/>
</histogram_suffixes>

<histogram_suffixes name="DataUse.Service.Types" separator=".">
  <suffix name="NotTagged"/>
  <suffix name="Suggestions"/>
  <suffix name="Translate"/>
  <suffix name="Sync"/>
  <suffix name="Omnibox"/>
  <suffix name="Invalidation"/>
  <suffix name="Rappor"/>
  <suffix name="Variations"/>
  <suffix name="UMA"/>
  <suffix name="DomainReliability"/>
  <suffix name="ProfileDownloader"/>
  <suffix name="GoogleURLTracker"/>
  <suffix name="Autofill"/>
  <suffix name="Policy"/>
  <suffix name="SpellChecker"/>
  <suffix name="NTPSnippets">
    <obsolete>
      Deprecated March 2017
    </obsolete>
  </suffix>
  <suffix name="NTPSnippetsSuggestions"/>
  <suffix name="NTPSnippetsThumbnails"/>
  <affected-histogram name="DataUse.MessageSize"/>
</histogram_suffixes>

<histogram_suffixes name="DataUse.TrafficSource" separator=".">
  <suffix name="System"/>
  <suffix name="User"/>
  <affected-histogram name="DataUse.BackgroundToDataRecievedPerByte"/>
  <affected-histogram name="DataUse.BackgroundToFirstDownstream"/>
</histogram_suffixes>

<histogram_suffixes name="DefaultAppsExperiment">
  <suffix name="NoDefaultApps" label="User's without default apps installed"/>
  <suffix name="WithDefaultApps" label="User's with default apps installed"/>
  <affected-histogram name="Extensions.AppTabLaunchType"/>
  <affected-histogram name="Extensions.ExtensionInstalled"/>
  <affected-histogram name="Extensions.ExtensionUninstalled"/>
  <affected-histogram name="NewTabPage.DefaultPageType"/>
  <affected-histogram name="NewTabPage.SelectedPageType"/>
  <affected-histogram name="NtpHandler.AttachShownPageType"/>
  <affected-histogram name="NtpHandler.SelectedShownPageType"/>
  <affected-histogram name="Profile.AppCount"/>
</histogram_suffixes>

<histogram_suffixes name="DefaultPinnedApps">
  <obsolete>
    Deprecated as of 12/2013. Default pinned apps trial is finished.
  </obsolete>
  <suffix name="Existing"/>
  <suffix name="Control"/>
  <suffix name="Alternate"/>
  <affected-histogram name="Cros.ClickOnShelf"/>
</histogram_suffixes>

<histogram_suffixes name="DeprecatedPrerenderSource" ordering="prefix">
  <obsolete>
    Deprecated August 2016
  </obsolete>
  <suffix name="" label="All prerenders."/>
  <suffix name="exp1" label="Likelihood threshold experiment 1.">
    <obsolete>
      Deprecated April 2015
    </obsolete>
  </suffix>
  <suffix name="exp2" label="Likelihood threshold experiment 2.">
    <obsolete>
      Deprecated April 2015
    </obsolete>
  </suffix>
  <suffix name="exp3" label="Likelihood threshold experiment 3.">
    <obsolete>
      Deprecated April 2015
    </obsolete>
  </suffix>
  <suffix name="exp4" label="Likelihood threshold experiment 4.">
    <obsolete>
      Deprecated April 2015
    </obsolete>
  </suffix>
  <suffix name="exp5" label="Likelihood threshold experiment 5.">
    <obsolete>
      Deprecated April 2015
    </obsolete>
  </suffix>
  <suffix name="exp6" label="Likelihood threshold experiment 6.">
    <obsolete>
      Deprecated April 2015
    </obsolete>
  </suffix>
  <suffix name="exp7" label="Likelihood threshold experiment 7.">
    <obsolete>
      Deprecated April 2015
    </obsolete>
  </suffix>
  <suffix name="exp8" label="Likelihood threshold experiment 8.">
    <obsolete>
      Deprecated April 2015
    </obsolete>
  </suffix>
  <suffix name="exp9" label="Likelihood threshold experiment 9.">
    <obsolete>
      Deprecated April 2015
    </obsolete>
  </suffix>
  <suffix name="gws" label="GWS triggered prerender."/>
  <suffix name="externalrequest" label="Externally triggered prerender."/>
  <suffix name="externalrequestforced"
      label="Forced prerender regardless of network."/>
  <suffix name="Instant" label="Instant search prerender."/>
  <suffix name="localpredictor" label="Local predictor triggered prerender.">
    <obsolete>
      Deprecated April 2015
    </obsolete>
  </suffix>
  <suffix name="omnibox" label="Triggered from the omnibox."/>
  <suffix name="wash" label="Multiple sources could have triggered.">
    <obsolete>
      Deprecated April 2017
    </obsolete>
  </suffix>
  <suffix name="web" label="Link triggered prerender."/>
  <suffix name="webcross"
      label="Link triggered prerender, rel=prerender, cross domain."/>
  <suffix name="websame"
      label="Link triggered prerender, rel=prerender, same domain."/>
  <suffix name="webnext" label="Link triggered prerender, rel=next."/>
  <suffix name="offline"
      label="Prerender triggered for saving a page for offline use."/>
  <affected-histogram name="Prerender.FinalStatus_Prerender5minTTL"/>
  <affected-histogram name="Prerender.FinalStatus_PrerenderControl"/>
  <affected-histogram name="Prerender.FinalStatus_PrerenderEnabled"/>
  <affected-histogram name="Prerender.FinalStatus_PrerenderMatchComplete"/>
  <affected-histogram name="Prerender.FinalStatus_PrerenderMulti"/>
  <affected-histogram name="Prerender.FinalStatus_PrerenderNoUse"/>
  <affected-histogram name="Prerender.FinalStatusMatchComplete"/>
  <affected-histogram
      name="Prerender.FinalStatusMatchComplete_Prerender5minTTL"/>
  <affected-histogram
      name="Prerender.FinalStatusMatchComplete_PrerenderControl"/>
  <affected-histogram
      name="Prerender.FinalStatusMatchComplete_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.FinalStatusMatchComplete_PrerenderMatchComplete"/>
  <affected-histogram name="Prerender.FinalStatusMatchComplete_PrerenderMulti"/>
  <affected-histogram name="Prerender.FinalStatusMatchComplete_PrerenderNoUse"/>
  <affected-histogram name="Prerender.FractionPixelsFinalAtSwapin"/>
  <affected-histogram
      name="Prerender.FractionPixelsFinalAtSwapin_Prerender5minTTL"/>
  <affected-histogram
      name="Prerender.FractionPixelsFinalAtSwapin_PrerenderControl"/>
  <affected-histogram
      name="Prerender.FractionPixelsFinalAtSwapin_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.FractionPixelsFinalAtSwapin_PrerenderMatchComplete"/>
  <affected-histogram
      name="Prerender.FractionPixelsFinalAtSwapin_PrerenderMulti"/>
  <affected-histogram
      name="Prerender.FractionPixelsFinalAtSwapin_PrerenderNoUse"/>
  <affected-histogram name="Prerender.LocalPredictorEvent"/>
  <affected-histogram name="Prerender.LocalPredictorEvent_Prerender5minTTL"/>
  <affected-histogram name="Prerender.LocalPredictorEvent_PrerenderControl"/>
  <affected-histogram name="Prerender.LocalPredictorEvent_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.LocalPredictorEvent_PrerenderMatchComplete"/>
  <affected-histogram name="Prerender.LocalPredictorEvent_PrerenderMulti"/>
  <affected-histogram name="Prerender.LocalPredictorEvent_PrerenderNoUse"/>
  <affected-histogram name="Prerender.PerceivedPLT_Prerender5minTTL"/>
  <affected-histogram name="Prerender.PerceivedPLT_PrerenderControl"/>
  <affected-histogram name="Prerender.PerceivedPLT_PrerenderEnabled"/>
  <affected-histogram name="Prerender.PerceivedPLT_PrerenderMatchComplete"/>
  <affected-histogram name="Prerender.PerceivedPLT_PrerenderMulti"/>
  <affected-histogram name="Prerender.PerceivedPLT_PrerenderNoUse"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMiss_Prerender5minTTL"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMiss_PrerenderControl"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMiss_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMiss_PrerenderMatchComplete"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMiss_PrerenderMulti"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMiss_PrerenderNoUse"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissAnyOnly_Prerender5minTTL"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissAnyOnly_PrerenderControl"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissAnyOnly_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissAnyOnly_PrerenderMatchComplete"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissAnyOnly_PrerenderMulti"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissAnyOnly_PrerenderNoUse"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissBoth_Prerender5minTTL"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissBoth_PrerenderControl"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissBoth_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissBoth_PrerenderMatchComplete"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissBoth_PrerenderMulti"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissBoth_PrerenderNoUse"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlapping_Prerender5minTTL"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlapping_PrerenderControl"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlapping_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlapping_PrerenderMatchComplete"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlapping_PrerenderMulti"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlapping_PrerenderNoUse"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlappingOnly_Prerender5minTTL"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlappingOnly_PrerenderControl"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlappingOnly_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlappingOnly_PrerenderMatchComplete"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlappingOnly_PrerenderMulti"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlappingOnly_PrerenderNoUse"/>
  <affected-histogram name="Prerender.PerceivedPLTMatched_Prerender5minTTL"/>
  <affected-histogram name="Prerender.PerceivedPLTMatched_PrerenderControl"/>
  <affected-histogram name="Prerender.PerceivedPLTMatched_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.PerceivedPLTMatched_PrerenderMatchComplete"/>
  <affected-histogram name="Prerender.PerceivedPLTMatched_PrerenderMulti"/>
  <affected-histogram name="Prerender.PerceivedPLTMatched_PrerenderNoUse"/>
  <affected-histogram name="Prerender.PerceivedPLTMatchedComplete"/>
  <affected-histogram
      name="Prerender.PerceivedPLTMatchedComplete_Prerender5minTTL"/>
  <affected-histogram
      name="Prerender.PerceivedPLTMatchedComplete_PrerenderControl"/>
  <affected-histogram
      name="Prerender.PerceivedPLTMatchedComplete_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.PerceivedPLTMatchedComplete_PrerenderMatchComplete"/>
  <affected-histogram
      name="Prerender.PerceivedPLTMatchedComplete_PrerenderMulti"/>
  <affected-histogram
      name="Prerender.PerceivedPLTMatchedComplete_PrerenderNoUse"/>
  <affected-histogram name="Prerender.PerceivedPLTWindowed_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.PerceivedPLTWindowNotMatched_Prerender5minTTL"/>
  <affected-histogram
      name="Prerender.PerceivedPLTWindowNotMatched_PrerenderControl"/>
  <affected-histogram
      name="Prerender.PerceivedPLTWindowNotMatched_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.PerceivedPLTWindowNotMatched_PrerenderMatchComplete"/>
  <affected-histogram
      name="Prerender.PerceivedPLTWindowNotMatched_PrerenderMulti"/>
  <affected-histogram
      name="Prerender.PerceivedPLTWindowNotMatched_PrerenderNoUse"/>
  <affected-histogram name="Prerender.PercentLoadDoneAtSwapin"/>
  <affected-histogram
      name="Prerender.PercentLoadDoneAtSwapin_Prerender5minTTL"/>
  <affected-histogram
      name="Prerender.PercentLoadDoneAtSwapin_PrerenderControl"/>
  <affected-histogram
      name="Prerender.PercentLoadDoneAtSwapin_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.PercentLoadDoneAtSwapin_PrerenderMatchComplete"/>
  <affected-histogram name="Prerender.PercentLoadDoneAtSwapin_PrerenderMulti"/>
  <affected-histogram name="Prerender.PercentLoadDoneAtSwapin_PrerenderNoUse"/>
  <affected-histogram
      name="Prerender.PrerenderNotSwappedInPLT_Prerender5minTTL"/>
  <affected-histogram
      name="Prerender.PrerenderNotSwappedInPLT_PrerenderControl"/>
  <affected-histogram
      name="Prerender.PrerenderNotSwappedInPLT_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.PrerenderNotSwappedInPLT_PrerenderMatchComplete"/>
  <affected-histogram name="Prerender.PrerenderNotSwappedInPLT_PrerenderMulti"/>
  <affected-histogram name="Prerender.PrerenderNotSwappedInPLT_PrerenderNoUse"/>
  <affected-histogram
      name="Prerender.SimulatedLocalBrowsingBaselinePLT_Prerender5minTTL"/>
  <affected-histogram
      name="Prerender.SimulatedLocalBrowsingBaselinePLT_PrerenderControl"/>
  <affected-histogram
      name="Prerender.SimulatedLocalBrowsingBaselinePLT_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.SimulatedLocalBrowsingBaselinePLT_PrerenderMatchComplete"/>
  <affected-histogram
      name="Prerender.SimulatedLocalBrowsingBaselinePLT_PrerenderMulti"/>
  <affected-histogram
      name="Prerender.SimulatedLocalBrowsingBaselinePLT_PrerenderNoUse"/>
  <affected-histogram
      name="Prerender.SimulatedLocalBrowsingPLT_Prerender5minTTL"/>
  <affected-histogram
      name="Prerender.SimulatedLocalBrowsingPLT_PrerenderControl"/>
  <affected-histogram
      name="Prerender.SimulatedLocalBrowsingPLT_PrerenderEnabled"/>
  <affected-histogram
      name="Prerender.SimulatedLocalBrowsingPLT_PrerenderMatchComplete"/>
  <affected-histogram
      name="Prerender.SimulatedLocalBrowsingPLT_PrerenderMulti"/>
  <affected-histogram
      name="Prerender.SimulatedLocalBrowsingPLT_PrerenderNoUse"/>
</histogram_suffixes>

<histogram_suffixes name="DesktopIOSEntryPoints" separator="."
    ordering="prefix">
  <affected-histogram name="DesktopIOSPromotion.DismissalReason"/>
  <suffix name="SavePasswordsNewBubble"/>
  <suffix name="BookmarksNewBubble"/>
  <suffix name="BookmarksFootNote"/>
  <suffix name="HistoryPage"/>
  <affected-histogram name="DesktopIOSPromotion.SMSToSigninTime"/>
</histogram_suffixes>

<histogram_suffixes name="DesktopIOSPromotionSMSSent" separator="."
    ordering="prefix">
  <suffix name="SMSSent" label="SMS sent from the promotion."/>
  <suffix name="NoSMS" label="No SMS was sent from the promotion."/>
  <affected-histogram name="DesktopIOSPromotion.IOSSigninReason"/>
  <affected-histogram name="DesktopIOSPromotion.VariationSigninReason"/>
</histogram_suffixes>

<histogram_suffixes name="DiskUsagePerUserCount" separator=".">
  <suffix name="1User" label="Only 1 user exists on device."/>
  <suffix name="2Users" label="2 users exist on device."/>
  <suffix name="3Users" label="3 users exist on device."/>
  <suffix name="4Users" label="4 users exist on device."/>
  <suffix name="5Users" label="5 users exist on device."/>
  <suffix name="6Users" label="6 users exist on device."/>
  <suffix name="7OrMoreUsers" label="7 or more users exist on device."/>
  <affected-histogram name="Platform.DiskUsage.Cache_Avg"/>
  <affected-histogram name="Platform.DiskUsage.Cache_Max"/>
  <affected-histogram name="Platform.DiskUsage.Downloads_Avg"/>
  <affected-histogram name="Platform.DiskUsage.Downloads_Max"/>
  <affected-histogram name="Platform.DiskUsage.GCache_Avg"/>
  <affected-histogram name="Platform.DiskUsage.GCache_Max"/>
  <affected-histogram name="Platform.DiskUsage.LeastUsedAccountDays"/>
</histogram_suffixes>

<histogram_suffixes name="DNS.HostCache.UpdateStale.AddressListDeltaType">
  <suffix name="Identical" label="Same addresses, in the same order."/>
  <suffix name="Reordered" label="Same addresses, in a different order."/>
  <suffix name="Overlap" label="Some same addreses, some different."/>
  <suffix name="Disjoint" label="All different addresses."/>
  <affected-histogram name="DNS.HostCache.UpdateStale.ExpiredBy"/>
  <affected-histogram name="DNS.HostCache.UpdateStale.NetworkChanges"/>
</histogram_suffixes>

<histogram_suffixes name="DnsImpact2">
  <suffix name="disabled_prefetch"
      label="DNS pre-resolving is disabled in these clients"/>
  <suffix name="disabled_prefetch_4_connections"
      label="DNS pre-resolving is disabled in these clients, and a maximum of
             4 connections per host was allowed"/>
  <suffix name="enabled_prefetch_4_connections"
      label="a maximum of 4 connections per host was allowed in these clients"/>
  <suffix name="parallel_4_prefetch"
      label="DNS pre-resolving was only doing 4 concurrent speculative
             resolutions in this test"/>
  <affected-histogram name="Net.Dns_Resolution_And_TCP_Connection_Latency"/>
  <affected-histogram name="Net.TCP_Connection_Idle_Sockets">
    <with-suffix name="disabled_prefetch"/>
    <with-suffix name="disabled_prefetch_4_connections"/>
    <with-suffix name="enabled_prefetch_4_connections"/>
  </affected-histogram>
  <affected-histogram name="Net.TCP_Connection_Latency"/>
  <affected-histogram name="Net.Transaction_Connected"/>
  <affected-histogram name="Net.Transaction_Connected_New"/>
  <affected-histogram name="Net.Transaction_Connected_New_b"/>
  <affected-histogram name="Net.Transaction_Connected_Under_10"/>
  <affected-histogram name="Net.Transaction_Latency"/>
  <affected-histogram name="Net.Transaction_Latency_b"/>
  <affected-histogram name="Net.Transaction_Latency_Total"/>
  <affected-histogram name="Net.Transaction_Latency_Total_New_Connection"/>
  <affected-histogram
      name="Net.Transaction_Latency_Total_New_Connection_Under_10"/>
  <affected-histogram name="Net.Transaction_Latency_Total_Under_10"/>
  <affected-histogram name="Net.Transaction_Latency_Under_10"/>
  <affected-histogram name="PLT.RequestToFinish">
    <with-suffix name="parallel_4_prefetch"/>
  </affected-histogram>
</histogram_suffixes>

<histogram_suffixes name="DnsImpact3">
  <suffix name="disabled_prefetch" label="with DNS pre-resolving disabled"/>
  <suffix name="parallel_4_prefetch"
      label="with only 4 concurrent speculative resolutions done in parallel"/>
  <affected-histogram name="Net.Transaction_Connected_New">
    <with-suffix name="disabled_prefetch"/>
  </affected-histogram>
  <affected-histogram name="Renderer2.FinishDocToFinish"/>
  <affected-histogram name="Renderer2.RequestToFinish"/>
  <affected-histogram name="Renderer2.RequestToFinish_L">
    <with-suffix name="disabled_prefetch"/>
  </affected-histogram>
  <affected-histogram name="Renderer2.RequestToFirstLayout"/>
  <affected-histogram name="Renderer2.RequestToStart"/>
  <affected-histogram name="Renderer2.StartToFinish"/>
  <affected-histogram name="Renderer2.StartToFinishDoc"/>
  <affected-histogram name="Renderer2.StartToFirstLayout"/>
  <affected-histogram name="Renderer4.RequestToFinish">
    <with-suffix name="parallel_4_prefetch"/>
  </affected-histogram>
  <affected-histogram name="Renderer4.StartToFinish">
    <with-suffix name="parallel_4_prefetch"/>
  </affected-histogram>
</histogram_suffixes>

<histogram_suffixes name="DnsParallelism">
  <suffix name="parallel_10"
      label="with only 10 concurrent resolutions done in parallel"/>
  <suffix name="parallel_14"
      label="with only 14 concurrent resolutions done in parallel"/>
  <suffix name="parallel_20"
      label="with only 20 concurrent resolutions done in parallel"/>
  <suffix name="parallel_6"
      label="with only 6 concurrent resolutions done in parallel"/>
  <suffix name="parallel_7"
      label="with only 7 concurrent resolutions done in parallel"/>
  <suffix name="parallel_8"
      label="with only 8 concurrent resolutions done in parallel"/>
  <suffix name="parallel_9"
      label="with only 9 concurrent resolutions done in parallel"/>
  <suffix name="parallel_default"
      label="with the default number of concurrent resolutions done in
             parallel"/>
  <affected-histogram name="DNS.ResolveCategory"/>
  <affected-histogram name="DNS.ResolveSuccess"/>
</histogram_suffixes>

<histogram_suffixes name="DocsSpecific" separator=".">
  <suffix name="Docs" label="Only for docs.google.com"/>
  <affected-histogram name="appcache.MainResourceResponseRetrieval"/>
  <affected-histogram name="appcache.SubResourceResponseRetrieval"/>
  <affected-histogram name="appcache.UpdateJobResult"/>
  <affected-histogram name="appcache.UpdateProgressAtPointOfFaliure"/>
  <affected-histogram name="appcache.UpdateWasOffOriginAtPointOfFailure"/>
  <affected-histogram name="appcache.UpdateWasStalledAtPointOfFailure"/>
</histogram_suffixes>

<histogram_suffixes name="DomainGoogle" separator="">
  <suffix name="Google" label="only Google cookies are recorded."/>
  <suffix name="Other" label="only NON-Google cookies are recorded."/>
  <affected-histogram name="Cookie.ReinstatedCookies"/>
</histogram_suffixes>

<histogram_suffixes name="DownloadDangerPromptResponse" separator=".">
  <suffix name="Proceed"
      label="The user clicked through and recovered the download."/>
  <suffix name="Shown" label="The user was shown the prompt."/>
  <affected-histogram name="Download.DownloadDangerPrompt.DangerousContent"/>
  <affected-histogram name="Download.DownloadDangerPrompt.DangerousFile"/>
  <affected-histogram name="Download.DownloadDangerPrompt.DangerousHost"/>
  <affected-histogram name="Download.DownloadDangerPrompt.DangerousURL"/>
  <affected-histogram name="Download.DownloadDangerPrompt.PotentiallyUnwanted"/>
  <affected-histogram name="Download.DownloadDangerPrompt.UncommonContent"/>
</histogram_suffixes>

<histogram_suffixes name="DownloadDangerPromptType" separator=".">
  <suffix name="DangerousContent" label="File marked DANGEROUS_CONTENT"/>
  <suffix name="DangerousFile" label="File marked DANGEROUS_FILE"/>
  <suffix name="DangerousHost" label="File marked DANGEROUS_HOST"/>
  <suffix name="DangerousURL" label="File marked DANGEROUS_URL"/>
  <suffix name="PotentiallyUnwanted" label="File marked POTENTIALLY_UNWANTED"/>
  <suffix name="UncommonContent" label="File marked UNCOMMON_CONTENT"/>
  <affected-histogram name="Download.DownloadDangerPrompt"/>
</histogram_suffixes>

<histogram_suffixes name="DownloadWithUnsupportedScheme" separator=".">
  <suffix name="ContentScheme" label="downloads with content scheme"/>
  <suffix name="ContentIdScheme" label="downloads with cid scheme"/>
  <suffix name="LocalFileScheme" label="downloads with file:/// scheme"/>
  <suffix name="RemoteFileScheme" label="downloads with file:// scheme"/>
  <suffix name="FileSystemScheme" label="downloads with filesystem scheme"/>
  <suffix name="FtpScheme" label="downloads with ftp scheme"/>
  <suffix name="GopherScheme" label="downloads with gopher scheme"/>
  <suffix name="JavaScriptScheme" label="downloads with javascript scheme"/>
  <suffix name="WSOrWSSScheme" label="downloads with ws or wss scheme"/>
  <suffix name="OtherUnsupportedScheme" label="Other unsupported schemes"/>
  <affected-histogram name="SBClientDownload.UnsupportedScheme"/>
</histogram_suffixes>

<histogram_suffixes name="EmePromise" separator=".">
  <suffix name="CloseSession" label="CloseSession promises only."/>
  <suffix name="CreateSession" label="CreateSession promises only.">
    <obsolete>
      Replaced by GenerateRequest.
    </obsolete>
  </suffix>
  <suffix name="GenerateRequest" label="GenerateRequest promises only."/>
  <suffix name="LoadSession" label="LoadSession promises only."/>
  <suffix name="RemoveSession" label="RemoveSession promises only."/>
  <suffix name="UpdateSession" label="UpdateSession promises only."/>
  <affected-histogram name="Media.EME.ClearKey"/>
  <affected-histogram name="Media.EME.Unknown"/>
  <affected-histogram name="Media.EME.Widevine"/>
</histogram_suffixes>

<histogram_suffixes name="EmeTimeToResolvePromise" separator=".">
  <suffix name="GenerateRequest" label="GenerateRequest promises only."/>
  <suffix name="LoadSession" label="LoadSession promises only."/>
  <affected-histogram name="Media.EME.ClearKey.TimeTo"/>
  <affected-histogram name="Media.EME.Unknown.TimeTo"/>
  <affected-histogram name="Media.EME.Widevine.TimeTo"/>
</histogram_suffixes>

<histogram_suffixes name="EngagementScoreBuckets">
  <owner>calamity@chromium.org</owner>
  <suffix name="0"/>
  <suffix name="10"/>
  <suffix name="20"/>
  <suffix name="30"/>
  <suffix name="40"/>
  <suffix name="50"/>
  <suffix name="60"/>
  <suffix name="70"/>
  <suffix name="80"/>
  <suffix name="90"/>
  <suffix name="100"/>
  <affected-histogram name="SiteEngagementService.EngagementScoreBucket"/>
</histogram_suffixes>

<histogram_suffixes name="EventLatencyOS" separator=".">
  <suffix name="MOUSE_WHEEL"/>
  <suffix name="TOUCH_MOVED"/>
  <suffix name="TOUCH_PRESSED"/>
  <suffix name="TOUCH_RELEASED"/>
  <affected-histogram name="Event.Latency.OS"/>
</histogram_suffixes>

<histogram_suffixes name="ExitFunnels" separator=".">
  <suffix name="BackgroundOff"/>
  <suffix name="BackgroundOn"/>
  <suffix name="BrowserExit"/>
  <suffix name="EndSession"/>
  <suffix name="ES_CloseApp"/>
  <suffix name="ES_Critical"/>
  <suffix name="ES_Logoff"/>
  <suffix name="ES_Other"/>
  <suffix name="HungBrowserTerminated"/>
  <suffix name="KillProcess"/>
  <suffix name="LastWindowClose"/>
  <suffix name="MessageWindowHung"/>
  <suffix name="MessageWindowNotFound"/>
  <suffix name="MessageWindowVanished"/>
  <suffix name="ProcessSingletonIsShuttingDown"/>
  <suffix name="RendezvousToHungBrowser"/>
  <suffix name="SessionEnding"/>
  <suffix name="TraybarEndSession"/>
  <suffix name="TraybarExit"/>
  <suffix name="WatcherEndSession"/>
  <suffix name="WatcherLogoff"/>
  <suffix name="WatcherQueryEndSession"/>
  <suffix name="WM_ENDSESSION"/>
  <affected-histogram name="Stability.ExitFunnel"/>
</histogram_suffixes>

<histogram_suffixes name="ExtensionFunctionExecutionTime" separator=".">
  <suffix name="1msTo5ms"
      label="Execution took between 1ms and 5ms (tolerable)."/>
  <suffix name="5msTo10ms" label="Execution took between 5ms and 10ms (slow)."/>
  <suffix name="LessThan1ms" label="Execution took less than 1ms (fast)."/>
  <suffix name="Over10ms" label="Execution took over 10ms (glacial)."/>
  <affected-histogram name="Extensions.Functions.FailedTime"/>
  <affected-histogram name="Extensions.Functions.SucceededTime"/>
</histogram_suffixes>

<histogram_suffixes name="ExtensionMessagingPortCreationTime" separator=".">
  <suffix name="Normal"
      label="Created during any time other than the 'unload' or 'beforeunload'
             handlers.">
    <obsolete>
      Deprecated and removed from code as of 05/2015.
    </obsolete>
  </suffix>
  <suffix name="InBeforeUnload"
      label="Created during an event handler for the 'beforeunload' event.">
    <obsolete>
      Deprecated and removed from code as of 05/2015.
    </obsolete>
  </suffix>
  <suffix name="InUnload"
      label="Created during an event handler for the 'unload' event.">
    <obsolete>
      Deprecated and removed from code as of 05/2015.
    </obsolete>
  </suffix>
  <suffix name="Total" label="The total number of ports created."/>
  <affected-histogram name="Extensions.Messaging.ExtensionPortsCreated"/>
</histogram_suffixes>

<histogram_suffixes name="ExtensionMessagingPortType" separator=".">
  <suffix name="Extension" label="A port opened to an extension context."/>
  <suffix name="NativeApp" label="A port opened to a native application."/>
  <suffix name="Tab" label="A port opened to a tab context."/>
  <affected-histogram name="Extensions.Messaging.GetPortIdAsyncTime"/>
  <affected-histogram name="Extensions.Messaging.GetPortIdSyncTime"/>
  <affected-histogram name="Extensions.Messaging.SetPortIdTime"/>
</histogram_suffixes>

<histogram_suffixes name="ExtensionsDatabaseOpen" separator=".">
  <suffix name="Rules" label="Rules backing stores"/>
  <suffix name="Settings" label="Settings backing stores"/>
  <suffix name="State" label="State backing stores"/>
  <affected-histogram name="Extensions.Database.Open"/>
</histogram_suffixes>

<histogram_suffixes name="ExtensionsDatabaseRestore" separator=".">
  <suffix name="Rules" label="Rules backing stores"/>
  <suffix name="Settings" label="Settings backing stores"/>
  <suffix name="State" label="State backing stores"/>
  <affected-histogram name="Extensions.Database.Restore"/>
</histogram_suffixes>

<histogram_suffixes name="ExtensionWebUiPageType" separator=".">
  <suffix name="MD" label="The Material Design chrome://extensions page."/>
  <suffix name="Uber" label="The Uber chrome://extensions page."/>
  <affected-histogram name="Extensions.WebUi.DocumentLoadedInMainFrameTime"/>
  <affected-histogram name="Extensions.WebUi.LoadCompletedInMainFrame"/>
</histogram_suffixes>

<histogram_suffixes name="ExternalExtensionEvent" separator="">
  <suffix name="NonWebstore"
      label="sideloaded extensions that don't update from the webstore"/>
  <suffix name="Webstore"
      label="sideloaded extensions that update from the webstore"/>
  <affected-histogram name="Extensions.ExternalExtensionEvent"/>
</histogram_suffixes>

<histogram_suffixes name="FaviconIconType" separator=".">
  <suffix name="Favicons" label="Metrics for regular favicons."/>
  <suffix name="LargeIcons" label="Metrics for large non-touch icons."/>
  <suffix name="TouchIcons" label="Metrics for large touch icons."/>
  <affected-histogram name="Favicons.DownloadAttempts"/>
</histogram_suffixes>

<histogram_suffixes name="FieldPredictionSubmissionEvents" separator=".">
  <suffix name="NoSubmission" label="No observed submission."/>
  <suffix name="BasedOnAutocomplete"
      label="Quality metrics based on autocomplete attributes."/>
  <affected-histogram
      name="Autofill.NumberOfEditedAutofilledFieldsAtSubmission"/>
  <affected-histogram name="Autofill.Quality.HeuristicType"/>
  <affected-histogram name="Autofill.Quality.HeuristicType.ByFieldType"/>
  <affected-histogram name="Autofill.Quality.PredictedType"/>
  <affected-histogram name="Autofill.Quality.PredictedType.ByFieldType"/>
  <affected-histogram name="Autofill.Quality.ServerType"/>
  <affected-histogram name="Autofill.Quality.ServerType.ByFieldType"/>
</histogram_suffixes>

<histogram_suffixes name="FileBrowserLoad" separator=".">
  <suffix name="Construct"
      label="Time spent constructing the main Javascript object.">
    <obsolete>
      Deprecated as of 12/2016.
    </obsolete>
  </suffix>
  <suffix name="DOM" label="Time to initialize DOM.">
    <obsolete>
      Deprecated as of 12/2016.
    </obsolete>
  </suffix>
  <suffix name="FileSystem"
      label="Time to get access to the local file system.">
    <obsolete>
      Deprecated as of 9/2013.
    </obsolete>
  </suffix>
  <suffix name="Parse" label="Time to parse Javascript and CSS (Deprecated).">
    <obsolete>
      Deprecated as of 12/2016.
    </obsolete>
  </suffix>
  <suffix name="Roots" label="Time to enumerate file system roots.">
    <obsolete>
      Deprecated as of 12/2016.
    </obsolete>
  </suffix>
  <suffix name="Total"
      label="Total load time from the moment the Javascript started parsing
             till the moment the empty file list is displayed."/>
  <suffix name="Script" label="Time to parse Javascript and CSS."/>
  <suffix name="BackgroundScript"
      label="Time to initialize backend script to wait for events."/>
  <suffix name="BackgroundLaunch"
      label="Time from onLaunched event is called to the window is created."/>
  <suffix name="BackgroundRestart" label="Time to create a window on restart."/>
  <suffix name="ImportElements"
      label="Time to initialize the polymer elements."/>
  <suffix name="InitBackgroundPage"
      label="Time to initialize the background page."/>
  <suffix name="InitDocuments"
      label="Time to initialize the background page and the elements."/>
  <suffix name="InitSettings" label="Time to restore user settings."/>
  <suffix name="InitUI"
      label="Time to initialize all UI after all elements are initialized."/>
  <affected-histogram name="FileBrowser.Load"/>
</histogram_suffixes>

<histogram_suffixes name="FirstPacketSplit">
  <suffix name="first_packet_intact"
      label="with GET/POST headers often using only 1 packet"/>
  <suffix name="first_packet_split"
      label="with all GET/POST requests using at least 2 packets"/>
  <affected-histogram name="Renderer4.Abandoned"/>
  <affected-histogram name="Renderer4.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="Renderer4.BeginToFinish_LinkLoadReload"/>
  <affected-histogram name="Renderer4.BeginToFinish_LinkLoadStaleOk"/>
  <affected-histogram name="Renderer4.BeginToFinish_NormalLoad"/>
  <affected-histogram name="Renderer4.LoadType"/>
</histogram_suffixes>

<histogram_suffixes name="FirstUserActionTypes" separator=".">
  <suffix name="Backgrounded" label="The user sent Chrome to the background"/>
  <suffix name="Continuation"
      label="The user continued the task from the last time they used the app"/>
  <suffix name="NtpCreated" label="The user action open a NTP."/>
  <suffix name="Omnibox" label="The user interacted with the omnibox."/>
  <suffix name="SwitchTabs" label="The user switched tabs."/>
  <affected-histogram name="FirstUserAction.BackgroundTime.MainIntent"/>
</histogram_suffixes>

<histogram_suffixes name="FromGWS">
  <suffix name="FromGWS"
      label="Only page loads that are a result of a navigation from a web
             search are considered."/>
  <affected-histogram name="PLT.BeginToFinish"/>
  <affected-histogram name="PLT.BeginToFinishDoc"/>
  <affected-histogram name="PLT.BeginToFirstPaint"/>
  <affected-histogram name="PLT.CommitToFirstPaint"/>
  <affected-histogram name="PLT.PT_BeginToCommit"/>
  <affected-histogram name="PLT.PT_BeginToFinish"/>
  <affected-histogram name="PLT.PT_BeginToFinishDoc"/>
  <affected-histogram name="PLT.PT_CommitToFinish"/>
  <affected-histogram name="PLT.PT_CommitToFinishDoc"/>
  <affected-histogram name="PLT.PT_RequestToCommit"/>
  <affected-histogram name="PLT.PT_RequestToDomContentLoaded"/>
  <affected-histogram name="PLT.PT_RequestToFinish"/>
  <affected-histogram name="PLT.PT_RequestToFinishDoc"/>
  <affected-histogram name="PLT.PT_RequestToStart"/>
  <affected-histogram name="PLT.PT_StartToCommit"/>
  <affected-histogram name="PLT.PT_StartToFinish"/>
</histogram_suffixes>

<histogram_suffixes name="GeolocationSettingsDialogSource" separator=".">
  <suffix name="DSE" label="Default search engine"/>
  <suffix name="NonDSE" label="Non-default search engine"/>
  <affected-histogram name="Geolocation.SettingsDialog.AcceptEvent"/>
  <affected-histogram name="Geolocation.SettingsDialog.DenyEvent"/>
  <affected-histogram name="Geolocation.SettingsDialog.ShowEvent"/>
  <affected-histogram name="Geolocation.SettingsDialog.SuppressEvent"/>
</histogram_suffixes>

<histogram_suffixes name="GLApisWithErrorReporting">
  <suffix name="TexImage2D" label="All GL APIs that allocate a 2D texture."/>
  <suffix name="TexImage3D" label="All GL APIs that allocate a 3D texture."/>
  <affected-histogram name="GPU.Error"/>
</histogram_suffixes>

<histogram_suffixes name="GlobalSdch">
  <suffix name="global_disable_sdch" label="with SDCH completely disabled"/>
  <suffix name="global_enable_sdch"
      label="with SDCH support for applicable sites"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoad"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadCacheOnly"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadReload"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadStaleOk"/>
  <affected-histogram name="PLT.BeginToFinish_NormalLoad"/>
  <affected-histogram name="PLT.BeginToFinishDoc_LinkLoadCacheOnly"/>
  <affected-histogram name="PLT.BeginToFinishDoc_LinkLoadNormal"/>
  <affected-histogram name="PLT.BeginToFinishDoc_LinkLoadReload"/>
  <affected-histogram name="PLT.BeginToFinishDoc_LinkLoadStaleOk"/>
  <affected-histogram name="PLT.BeginToFinishDoc_NormalLoad"/>
  <affected-histogram name="PLT.LoadType"/>
  <affected-histogram name="PLT.RequestToFinish"/>
  <affected-histogram name="PLT.StartToFinish"/>
  <affected-histogram name="Renderer4.BeginToFinish_LinkLoad"/>
  <affected-histogram name="Renderer4.BeginToFinish_LinkLoadCacheOnly"/>
  <affected-histogram name="Renderer4.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="Renderer4.BeginToFinish_LinkLoadReload"/>
  <affected-histogram name="Renderer4.BeginToFinish_LinkLoadStaleOk"/>
  <affected-histogram name="Renderer4.BeginToFinish_NormalLoad"/>
  <affected-histogram name="Renderer4.BeginToFinishDoc_LinkLoad"/>
  <affected-histogram name="Renderer4.BeginToFinishDoc_LinkLoadCacheOnly"/>
  <affected-histogram name="Renderer4.BeginToFinishDoc_LinkLoadNormal"/>
  <affected-histogram name="Renderer4.BeginToFinishDoc_LinkLoadReload"/>
  <affected-histogram name="Renderer4.BeginToFinishDoc_LinkLoadStaleOk"/>
  <affected-histogram name="Renderer4.BeginToFinishDoc_NormalLoad"/>
  <affected-histogram name="Renderer4.LoadType"/>
  <affected-histogram name="Renderer4.RequestToFinish"/>
  <affected-histogram name="Renderer4.StartToFinish"/>
</histogram_suffixes>

<histogram_suffixes name="GoogleSearchVariations">
  <owner>kmadhusu@chromium.org</owner>
  <suffix name="_PrerenderDisabled"
      label="Counts number of Google searches from various access points in
             the Android Chrome browser when prerendering is disabled via
             &quot;Bandwidth management&quot; settings or &quot;Privacy&quot;
             settings. Only recorded on Android."/>
  <suffix name="_PrerenderEnabled"
      label="Counts number of Google searches from various access points in
             the Android Chrome browser when prerendering is enabled via
             &quot;Bandwidth management&quot; settings or &quot;Privacy&quot;
             settings. Only recorded on Android."/>
  <affected-histogram name="GoogleSearch.AccessPoint"/>
</histogram_suffixes>

<histogram_suffixes name="GPU.ContextType" separator=".">
  <suffix name="WebGL" label="WebGL Context."/>
  <suffix name="GLES" label="GLES Context."/>
  <affected-histogram name="GPU.ContextMemory"/>
</histogram_suffixes>

<histogram_suffixes name="GPU.MemorySamplingTime" separator=".">
  <suffix name="Periodic" label="Sampled periodically."/>
  <suffix name="Shutdown" label="Sampled at shutdown."/>
  <suffix name="Pressure" label="Sampled on CRITICAL memory pressure signal."/>
  <affected-histogram name="GPU.ContextMemory.GLES"/>
  <affected-histogram name="GPU.ContextMemory.WebGL"/>
</histogram_suffixes>

<histogram_suffixes name="GWSChromeJointExperiment">
  <suffix name="Experiment1"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment2"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment3"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment4"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment5"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment6"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment7"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment8"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment9"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment10"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment11"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment12"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment13"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment14"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment15"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment16"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment17"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment18"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment19"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <suffix name="Experiment20"
      label="Only page loads that are a result of a navigation from a web
             search under a specific web search/Chrome joint experiment.
             Unused at this moment."/>
  <affected-histogram name="PLT.BeginToFinish_FromGWS"/>
  <affected-histogram name="PLT.BeginToFinish_NoPreview"/>
  <affected-histogram name="PLT.BeginToFinish_Preview"/>
  <affected-histogram name="PLT.BeginToFinish_WithPreview"/>
  <affected-histogram name="PLT.BeginToFinishDoc_FromGWS"/>
  <affected-histogram name="PLT.BeginToFinishDoc_NoPreview"/>
  <affected-histogram name="PLT.BeginToFinishDoc_Preview"/>
  <affected-histogram name="PLT.BeginToFinishDoc_WithPreview"/>
  <affected-histogram name="PLT.BeginToFirstPaint_FromGWS"/>
  <affected-histogram name="PLT.BeginToFirstPaint_NoPreview"/>
  <affected-histogram name="PLT.BeginToFirstPaint_Preview"/>
  <affected-histogram name="PLT.BeginToFirstPaint_WithPreview"/>
  <affected-histogram name="PLT.CommitToFirstPaint_FromGWS"/>
  <affected-histogram name="PLT.CommitToFirstPaint_NoPreview"/>
  <affected-histogram name="PLT.CommitToFirstPaint_Preview"/>
  <affected-histogram name="PLT.CommitToFirstPaint_WithPreview"/>
  <affected-histogram name="PLT.PT_BeginToCommit_FromGWS"/>
  <affected-histogram name="PLT.PT_BeginToCommit_NoPreview"/>
  <affected-histogram name="PLT.PT_BeginToCommit_Preview"/>
  <affected-histogram name="PLT.PT_BeginToCommit_WithPreview"/>
  <affected-histogram name="PLT.PT_BeginToFinish_FromGWS"/>
  <affected-histogram name="PLT.PT_BeginToFinish_NoPreview"/>
  <affected-histogram name="PLT.PT_BeginToFinish_Preview"/>
  <affected-histogram name="PLT.PT_BeginToFinish_WithPreview"/>
  <affected-histogram name="PLT.PT_BeginToFinishDoc_FromGWS"/>
  <affected-histogram name="PLT.PT_BeginToFinishDoc_NoPreview"/>
  <affected-histogram name="PLT.PT_BeginToFinishDoc_Preview"/>
  <affected-histogram name="PLT.PT_BeginToFinishDoc_WithPreview"/>
  <affected-histogram name="PLT.PT_CommitToFinish_FromGWS"/>
  <affected-histogram name="PLT.PT_CommitToFinish_NoPreview"/>
  <affected-histogram name="PLT.PT_CommitToFinish_Preview"/>
  <affected-histogram name="PLT.PT_CommitToFinish_WithPreview"/>
  <affected-histogram name="PLT.PT_CommitToFinishDoc_FromGWS"/>
  <affected-histogram name="PLT.PT_CommitToFinishDoc_NoPreview"/>
  <affected-histogram name="PLT.PT_CommitToFinishDoc_Preview"/>
  <affected-histogram name="PLT.PT_CommitToFinishDoc_WithPreview"/>
  <affected-histogram name="PLT.PT_RequestToCommit_FromGWS"/>
  <affected-histogram name="PLT.PT_RequestToCommit_NoPreview"/>
  <affected-histogram name="PLT.PT_RequestToCommit_Preview"/>
  <affected-histogram name="PLT.PT_RequestToCommit_WithPreview"/>
  <affected-histogram name="PLT.PT_RequestToDomContentLoaded_FromGWS"/>
  <affected-histogram name="PLT.PT_RequestToDomContentLoaded_NoPreview"/>
  <affected-histogram name="PLT.PT_RequestToDomContentLoaded_Preview"/>
  <affected-histogram name="PLT.PT_RequestToDomContentLoaded_WithPreview"/>
  <affected-histogram name="PLT.PT_RequestToFinish_FromGWS"/>
  <affected-histogram name="PLT.PT_RequestToFinish_NoPreview"/>
  <affected-histogram name="PLT.PT_RequestToFinish_Preview"/>
  <affected-histogram name="PLT.PT_RequestToFinish_WithPreview"/>
  <affected-histogram name="PLT.PT_RequestToFinishDoc_FromGWS"/>
  <affected-histogram name="PLT.PT_RequestToFinishDoc_NoPreview"/>
  <affected-histogram name="PLT.PT_RequestToFinishDoc_Preview"/>
  <affected-histogram name="PLT.PT_RequestToFinishDoc_WithPreview"/>
  <affected-histogram name="PLT.PT_RequestToStart_FromGWS"/>
  <affected-histogram name="PLT.PT_RequestToStart_NoPreview"/>
  <affected-histogram name="PLT.PT_RequestToStart_Preview"/>
  <affected-histogram name="PLT.PT_RequestToStart_WithPreview"/>
  <affected-histogram name="PLT.PT_StartToCommit_FromGWS"/>
  <affected-histogram name="PLT.PT_StartToCommit_NoPreview"/>
  <affected-histogram name="PLT.PT_StartToCommit_Preview"/>
  <affected-histogram name="PLT.PT_StartToCommit_WithPreview"/>
  <affected-histogram name="PLT.PT_StartToFinish_FromGWS"/>
  <affected-histogram name="PLT.PT_StartToFinish_NoPreview"/>
  <affected-histogram name="PLT.PT_StartToFinish_Preview"/>
  <affected-histogram name="PLT.PT_StartToFinish_WithPreview"/>
</histogram_suffixes>

<histogram_suffixes name="HadUserInput" separator=".">
  <suffix name="HadUserInput" label="Had user input"/>
  <suffix name="NoUserInput" label="No user input"/>
  <affected-histogram
      name="PageLoad.Experimental.PaintTiming.NavigationToFirstMeaningfulPaint"/>
</histogram_suffixes>

<histogram_suffixes name="HandshakeConfirmed" separator=".">
  <suffix name="HandshakeConfirmed" label="the handshake was confirmed"/>
  <affected-histogram name="Net.QuicSession.ConnectionCloseErrorCodeClient"/>
  <affected-histogram name="Net.QuicSession.ConnectionCloseErrorCodeServer"/>
</histogram_suffixes>

<histogram_suffixes name="HistogramInconsistencies" separator=".">
  <suffix name="Cronet" label="Cronet histograms."/>
  <affected-histogram name="Histogram.InconsistenciesBrowser"/>
  <affected-histogram name="Histogram.InconsistenciesBrowserUnique"/>
  <affected-histogram name="Histogram.InconsistentSnapshotBrowser"/>
</histogram_suffixes>

<histogram_suffixes name="HttpCacheAccessToDoneCases" separator=".">
  <suffix name="SentRequest" label="The request was sent over the network."/>
  <suffix name="Used"
      label="A cache entry was used without using the network."/>
  <affected-histogram name="HttpCache.AccessToDone"/>
</histogram_suffixes>

<histogram_suffixes name="HttpCacheBeforeSendCases" separator=".">
  <suffix name="CantConditionalize"
      label="A cached resource existed but no conditional request could be
             written."/>
  <suffix name="NotCached" label="There was no pre-existing disk cache entry."/>
  <suffix name="Updated"
      label="A cached resource existed and was updated over the network."/>
  <suffix name="Validated"
      label="A cached resource existed and was validated over the network."/>
  <affected-histogram name="HttpCache.BeforeSend"/>
  <affected-histogram name="HttpCache.PercentBeforeSend"/>
</histogram_suffixes>

<histogram_suffixes name="HttpJobBytes" separator=".">
  <suffix name="Cache" label="For requests served from the cache."/>
  <suffix name="Net" label="For requests served from the network."/>
  <affected-histogram name="Net.HttpJob.PrefilterBytesRead"/>
</histogram_suffixes>

<histogram_suffixes name="HttpPipeliningCompatibility">
  <suffix name="disable_test" label="Do nothing"/>
  <suffix name="enable_test" label="Test connection for HTTP pipelining"/>
  <affected-histogram name="NetConnectivity.Pipeline.0.NetworkError"/>
  <affected-histogram name="NetConnectivity.Pipeline.0.ResponseCode"/>
  <affected-histogram name="NetConnectivity.Pipeline.0.Status"/>
  <affected-histogram name="NetConnectivity.Pipeline.1.NetworkError"/>
  <affected-histogram name="NetConnectivity.Pipeline.1.ResponseCode"/>
  <affected-histogram name="NetConnectivity.Pipeline.1.Status"/>
  <affected-histogram name="NetConnectivity.Pipeline.2.NetworkError"/>
  <affected-histogram name="NetConnectivity.Pipeline.2.ResponseCode"/>
  <affected-histogram name="NetConnectivity.Pipeline.2.Status"/>
  <affected-histogram name="NetConnectivity.Pipeline.3.NetworkError"/>
  <affected-histogram name="NetConnectivity.Pipeline.3.ResponseCode"/>
  <affected-histogram name="NetConnectivity.Pipeline.3.Status"/>
  <affected-histogram name="NetConnectivity.Pipeline.4.NetworkError"/>
  <affected-histogram name="NetConnectivity.Pipeline.4.ResponseCode"/>
  <affected-histogram name="NetConnectivity.Pipeline.4.Status"/>
  <affected-histogram name="NetConnectivity.Pipeline.5.NetworkError"/>
  <affected-histogram name="NetConnectivity.Pipeline.5.ResponseCode"/>
  <affected-histogram name="NetConnectivity.Pipeline.5.Status"/>
  <affected-histogram name="NetConnectivity.Pipeline.AllHTTP11"/>
  <affected-histogram name="NetConnectivity.Pipeline.CanarySuccess"/>
  <affected-histogram name="NetConnectivity.Pipeline.Depth"/>
  <affected-histogram name="NetConnectivity.Pipeline.Success"/>
</histogram_suffixes>

<histogram_suffixes name="IdleSktToImpact">
  <suffix name="idle_timeout_5"
      label="with 5-second unused idle socket timeout"/>
  <suffix name="idle_timeout_10"
      label="with 10-second unused idle socket timeout"/>
  <suffix name="idle_timeout_20"
      label="with 20-second unused idle socket timeout"/>
  <suffix name="idle_timeout_60"
      label="with 60-second unused idle socket timeout"/>
  <affected-histogram name="PLT.Abandoned"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadReload"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadStaleOk"/>
  <affected-histogram name="PLT.BeginToFinish_NormalLoad"/>
</histogram_suffixes>

<histogram_suffixes name="ImageDecoderFileTypes" separator=".">
  <obsolete>
    Deprecated as of 11/29/2016.
  </obsolete>
  <suffix name="BMP" label="Image decoded as BMP"/>
  <suffix name="GIF" label="Image decoded as GIF"/>
  <suffix name="ICO" label="Image decoded as ICO"/>
  <suffix name="JPEG" label="Image decoded as JPEG"/>
  <suffix name="PNG" label="Image decoded as PNG"/>
  <affected-histogram name="Blink.DecodedImage.CanvasExpanded"/>
  <affected-histogram name="Blink.DecodedImage.EffectiveDimensionsLocation"/>
  <affected-histogram name="Blink.DecodedImage.XCanvasExpansion"/>
  <affected-histogram name="Blink.DecodedImage.YCanvasExpansion"/>
</histogram_suffixes>

<histogram_suffixes name="IMEAutoCorrect" separator=".">
  <suffix name="AC0" label="The auto-correct level is 0"/>
  <suffix name="AC1" label="The auto-correct level is 1"/>
  <suffix name="AC2" label="The auto-correct level is 2"/>
  <affected-histogram name="InputMethod.Commit.Index.FR"/>
  <affected-histogram name="InputMethod.Commit.Index.US"/>
  <affected-histogram name="InputMethod.Commit.Type.FR"/>
  <affected-histogram name="InputMethod.Commit.Type.US"/>
</histogram_suffixes>

<histogram_suffixes name="IMEMajorNames" separator=".">
  <suffix name="US" label="The US keyboard input method"/>
  <suffix name="FR" label="The French keyboard input method"/>
  <suffix name="Pinyin" label="The Chinse Pinyin input method"/>
  <affected-histogram name="InputMethod.Commit.Index"/>
  <affected-histogram name="InputMethod.Commit.Type"/>
</histogram_suffixes>

<histogram_suffixes name="IMEVKLatency" separator=".">
  <suffix name="BackgroundSettingsFetched"
      label="Latency for settings fetched from background"/>
  <suffix name="HtmlLoaded" label="Latency for the page is loaded"/>
  <suffix name="KeyboardCreated" label="Latency for the keyboard is created"/>
  <suffix name="KeyboardShown" label="Latency for keyboard is shown"/>
  <suffix name="KeysetLoaded" label="Latency for keyset config is loaded"/>
  <suffix name="LayoutLoaded" label="Latency for layout definition is loaded"/>
  <affected-histogram name="InputMethod.VirtualKeyboard.InitLatency"/>
</histogram_suffixes>

<histogram_suffixes name="ImmediatePageLoadTiming" separator=".">
  <obsolete>
    Deprecated by PageLoad.PaintTiming.NavigationToFirstContentfulPaint.
  </obsolete>
  <suffix name="Immediate"
      label="Logged immediately after a timing update is observed, unlike
             normal PageLoad timing metrics, which are logged at the end of a
             page's lifetime. This metric is temporary and is intended to
             help loading-dev to understand the impact of logging metrics at
             the end of a page load."/>
  <affected-histogram name="PageLoad.Timing2.NavigationToFirstContentfulPaint"/>
</histogram_suffixes>

<histogram_suffixes name="IndexedDBLevelDBErrnoMethods" separator=".">
  <suffix name="NewLogger" label="ChromiumEnv::NewLogger"/>
  <suffix name="NewSequentialFile" label="ChromiumEnv::NewSequentialFile"/>
  <suffix name="NewWritableFile" label="ChromiumEnv::NewWritableFile"/>
  <suffix name="SequentialFileRead" label="ChromiumSequentialFile::Read"/>
  <suffix name="SequentialFileSkip" label="ChromiumSequentialFile::Skip"/>
  <suffix name="WritableFileAppend" label="ChromiumWritableFile::Append"/>
  <suffix name="WritableFileClose" label="ChromiumWritableFile::Close"/>
  <suffix name="WritableFileFlush" label="ChromiumWritableFile::Flush"/>
  <suffix name="WritableFileSync" label="ChromiumWritableFile::Sync"/>
  <suffix name="WritableFileSyncParent"
      label="ChromiumWritableFile::SyncParent"/>
  <affected-histogram name="WebCore.IndexedDB.LevelDBOpenErrors.Errno"/>
  <affected-histogram name="WebCore.IndexedDB.LevelDBReadErrors.Errno"/>
  <affected-histogram name="WebCore.IndexedDB.LevelDBWriteErrors.Errno"/>
</histogram_suffixes>

<histogram_suffixes name="IndexedDBLevelDBPFEMethods" separator=".">
  <suffix name="CreateDir" label="ChromiumEnv::CreateDir"/>
  <suffix name="DeleteDir" label="ChromiumEnv::DeleteDir"/>
  <suffix name="DeleteFile" label="ChromiumEnv::DeleteFile"/>
  <suffix name="GetChildren" label="ChromiumEnv::GetChildren"/>
  <suffix name="GetFileSize" label="ChromiumEnv::GetFileSize"/>
  <suffix name="LockFile" label="ChromiumEnv::LockFile"/>
  <suffix name="NewAppendableFile" label="ChromiumEnv::NewAppendableFile"/>
  <suffix name="NewRandomAccessFile" label="ChromiumEnv::NewRandomAccessFile"/>
  <suffix name="RandomAccessFileRead" label="ChromiumRandomAccessFile::Read"/>
  <suffix name="RenameFile" label="ChromiumEnv::RenameFile"/>
  <suffix name="UnlockFile" label="ChromiumEnv::UnlockFile"/>
  <affected-histogram name="WebCore.IndexedDB.LevelDBOpenErrors.PFE"/>
  <affected-histogram name="WebCore.IndexedDB.LevelDBReadErrors.PFE"/>
  <affected-histogram name="WebCore.IndexedDB.LevelDBWriteErrors.PFE"/>
</histogram_suffixes>

<histogram_suffixes name="InstallerDownloadSources" separator="">
  <suffix name="HttpPeer" label="Download Source: HTTP Peer"/>
  <suffix name="HttpServer" label="Download Source: HTTP Server"/>
  <suffix name="HttpsServer" label="Download Source: HTTPS Server"/>
  <affected-histogram name="Installer.SuccessfulMBsDownloadedFrom"/>
  <affected-histogram name="Installer.TotalMBsDownloadedFrom"/>
</histogram_suffixes>

<histogram_suffixes name="Instant">
  <suffix name="Extended" label="Suggestions + Results"/>
  <suffix name="Instant" label="Results"/>
  <affected-histogram name="Instant.SessionsStorageNamespace"/>
</histogram_suffixes>

<histogram_suffixes name="InstantExtended_QuerytoQuery">
  <obsolete>
    All relevant histograms have been marked as obsolete as of Sep 2016.
  </obsolete>
  <owner>macourteau@chromium.org</owner>
  <suffix name="400" label="Omnibox width &lt; 400"/>
  <suffix name="700" label="Omnibox width &lt; 700"/>
  <suffix name="1200" label="Omnibox width &lt; 1200"/>
  <suffix name="large" label="Omnibox width &gt;= 1200"/>
  <affected-histogram name="InstantExtended.PercentageMatchV2_QuerytoQuery"/>
  <affected-histogram name="InstantExtended.PercentageMatchV2_QuerytoURL"/>
  <affected-histogram name="InstantExtended.PercentageMatchV2_URLtoQuery"/>
  <affected-histogram name="InstantExtended.PercentageMatchV2_URLtoURL"/>
</histogram_suffixes>

<histogram_suffixes name="InstantSearchClicks">
  <obsolete>
    Deprecated as of 7/2015.
  </obsolete>
  <suffix name="WithPreview"
      label="Only page loads through data reduction proxy that are result of
             navigation from web search and preview version of the page shown
             are considered."/>
  <suffix name="Preview"
      label="Only page loads through data reduction proxy that are result of
             navigation from web search and preview version of the page shown
             are considered."/>
  <suffix name="NoPreview"
      label="Only page loads through data reduction proxy that are result of
             navigation from web search and preview version of the page shown
             are considered."/>
  <affected-histogram name="PLT.BeginToFinish"/>
  <affected-histogram name="PLT.BeginToFinish_ContentPrefetcherReferrer"/>
  <affected-histogram name="PLT.BeginToFinishDoc"/>
  <affected-histogram name="PLT.BeginToFinishDoc_ContentPrefetcherReferrer"/>
  <affected-histogram name="PLT.BeginToFirstPaint"/>
  <affected-histogram name="PLT.CommitToFirstPaint"/>
  <affected-histogram name="PLT.PT_BeginToCommit"/>
  <affected-histogram name="PLT.PT_BeginToFinish"/>
  <affected-histogram name="PLT.PT_BeginToFinishDoc"/>
  <affected-histogram name="PLT.PT_CommitToFinish"/>
  <affected-histogram name="PLT.PT_CommitToFinishDoc"/>
  <affected-histogram name="PLT.PT_RequestToCommit"/>
  <affected-histogram name="PLT.PT_RequestToDomContentLoaded"/>
  <affected-histogram name="PLT.PT_RequestToFinish"/>
  <affected-histogram name="PLT.PT_RequestToFinishDoc"/>
  <affected-histogram name="PLT.PT_RequestToStart"/>
  <affected-histogram name="PLT.PT_StartToCommit"/>
  <affected-histogram name="PLT.PT_StartToFinish"/>
</histogram_suffixes>

<histogram_suffixes name="IntentToFirstCommitZoom" separator=".">
  <owner>lizeb@chromium.org</owner>
  <owner>pasko@chromium.org</owner>
  <suffix name="ZoomedIn" label="Zoomed in view: shorter range, more buckets."/>
  <suffix name="ZoomedOut"
      label="Zoomed out view: longer time range, less buckets."/>
  <affected-histogram
      name="ChromeGeneratedCustomTab.IntentToFirstCommitNavigationTime2"/>
  <affected-histogram name="CustomTabs.IntentToFirstCommitNavigationTime2"/>
  <affected-histogram name="CustomTabs.IntentToFirstCommitNavigationTime3"/>
  <affected-histogram name="Startup.FirstCommitNavigationTime2"/>
</histogram_suffixes>

<histogram_suffixes name="InterProcessTimeTicksConversionType">
  <owner>ppi@chromium.org</owner>
  <suffix name="BrowserToRenderer"/>
  <suffix name="RendererToBrowser"/>
  <affected-histogram name="InterProcessTimeTicks.BrowserAhead"/>
  <affected-histogram name="InterProcessTimeTicks.BrowserBehind"/>
  <affected-histogram name="InterProcessTimeTicks.IsSkewAdditive"/>
</histogram_suffixes>

<histogram_suffixes name="Interval" separator="_">
  <obsolete>
    Removed 10/2016.
  </obsolete>
  <suffix name="Interval" label="Interval between two consecutive connects is"/>
  <affected-histogram name="Net.TCP_Connection_Latency"/>
</histogram_suffixes>

<histogram_suffixes name="Interval_20ms_plus_and_minus" separator="_">
  <obsolete>
    Removed 11/2016.
  </obsolete>
  <suffix name="Interval_20ms_Minus"
      label="Interval between two consecutive connects is less than 20ms."/>
  <suffix name="Interval_20ms_Plus"
      label="Interval between two consecutive connects is greater than or
             equal to 20ms."/>
  <affected-histogram name="Net.TCP_Connection_Latency"/>
</histogram_suffixes>

<histogram_suffixes name="Interval_lt_gt_20ms" separator="_">
  <obsolete>
    Removed 11/2016.
  </obsolete>
  <suffix name="LessThanOrEqual_10ms" label="less than or equal to 10ms."/>
  <suffix name="LessThanOrEqual_20ms"
      label="more than 10ms, and less than or equal to 20ms."/>
  <suffix name="GreaterThan_20ms" label="greater than 20ms."/>
  <affected-histogram name="Net.TCP_Connection_Latency_Interval"/>
</histogram_suffixes>

<histogram_suffixes name="IOMode" separator=".">
  <suffix name="Synchronous"/>
  <suffix name="Asynchronous"/>
  <affected-histogram name="Net.QuicSession.PacketWriteTime"/>
</histogram_suffixes>

<histogram_suffixes name="iOS_PLT" separator="">
  <owner>pauljensen@chromium.org</owner>
  <suffix name="" label="not using Data Reduction Proxy"/>
  <suffix name="_DataReductionProxy" label="using Data Reduction Proxy"/>
  <affected-histogram name="Tabs.iOS_PostRedirectPLT"/>
</histogram_suffixes>

<histogram_suffixes name="IPProtocolType" separator="_">
  <suffix name="UDP"/>
  <suffix name="TCP"/>
  <affected-histogram name="WebRTC.PeerConnection.CandidatePairType"/>
  <affected-histogram name="WebRTC.SystemMaxConsecutiveBytesDelayed"/>
  <affected-histogram name="WebRTC.SystemPercentPacketsDelayed"/>
  <affected-histogram name="WebRTC.SystemSendPacketDuration"/>
</histogram_suffixes>

<histogram_suffixes name="IPv6_Probe">
  <suffix name="IPv6_probe_skipped"
      label="with IPv6 not probed, and default OS settings used"/>
  <suffix name="IPv6_probe_done"
      label="with IPv6 probed for and possibly disabled"/>
  <affected-histogram name="DNS.PrefetchResolution"/>
</histogram_suffixes>

<histogram_suffixes name="JSDialogs.DialogType" separator=".">
  <suffix name="Alert"/>
  <suffix name="Confirm"/>
  <suffix name="Prompt"/>
  <affected-histogram name="JSDialogs.DismissalCause"/>
  <affected-histogram name="JSDialogs.IsForemost"/>
  <affected-histogram name="JSDialogs.SiteEngagementOfDialogs"/>
</histogram_suffixes>

<histogram_suffixes name="JSDialogs.EngagementList" separator=".">
  <suffix name="EngagementNone" label="site engagement = 0"/>
  <suffix name="EngagementLessThanOne" label="site engagement &lt; 1"/>
  <suffix name="EngagementOneToFive" label="site engagement &gt;= 1, &lt; 5"/>
  <suffix name="EngagementHigher" label="site engagement &gt;= 5"/>
  <affected-histogram name="JSDialogs.CharacterCount"/>
</histogram_suffixes>

<histogram_suffixes name="JSDialogs.FrameType" separator=".">
  <suffix name="MainFrame" label="dialog spawned by the main frame"/>
  <suffix name="Subframe" label="dialog spawned by a subframe"/>
  <affected-histogram name="JSDialogs.CharacterCount"/>
</histogram_suffixes>

<histogram_suffixes name="JSDialogs.LeaveStay" separator=".">
  <suffix name="Leave" label="user opted to leave the page"/>
  <suffix name="Stay" label="user opted to stay on the page"/>
  <affected-histogram name="JSDialogs.SiteEngagementOfBeforeUnload"/>
</histogram_suffixes>

<histogram_suffixes name="JSDialogs.UserGestureSinceLoad" separator=".">
  <suffix name="UserGestureSinceLoad"/>
  <suffix name="NoUserGestureSinceLoad"/>
  <affected-histogram name="JSDialogs.CharacterCount"/>
</histogram_suffixes>

<histogram_suffixes name="LateBindingExperiment">
  <suffix name="disable_late_binding" label="socket late binding is disabled"/>
  <suffix name="enable_late_binding" label="socket late binding is enabled"/>
  <affected-histogram name="Net.SocketIdleTimeBeforeNextUse_ReusedSocket"/>
  <affected-histogram name="Net.SocketIdleTimeBeforeNextUse_UnusedSocket"/>
  <affected-histogram name="Net.SocketIdleTimeOnIOError2_ReusedSocket"/>
  <affected-histogram name="Net.SocketIdleTimeOnIOError2_UnusedSocket"/>
  <affected-histogram name="Net.TCPSocketType"/>
  <affected-histogram name="Net.Transaction_Connected"/>
  <affected-histogram name="Net.Transaction_Connected_Under_10"/>
  <affected-histogram name="Net.TransportSocketRequestTime"/>
  <affected-histogram name="Renderer4.BeginToFinish_LinkLoad"/>
  <affected-histogram name="Renderer4.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="Renderer4.BeginToFinish_LinkLoadReload"/>
  <affected-histogram name="Renderer4.BeginToFinish_NormalLoad"/>
  <affected-histogram name="Renderer4.BeginToFinishDoc_LinkLoad"/>
  <affected-histogram name="Renderer4.BeginToFinishDoc_LinkLoadNormal"/>
  <affected-histogram name="Renderer4.BeginToFinishDoc_LinkLoadReload"/>
  <affected-histogram name="Renderer4.BeginToFinishDoc_NormalLoad"/>
  <affected-histogram name="Renderer4.RequestToFinish"/>
  <affected-histogram name="Renderer4.StartToFinish"/>
</histogram_suffixes>

<histogram_suffixes name="LevelDBBFEMethods" separator=".">
  <owner>cmumford@chromium.org</owner>
  <suffix name="CreateDir" label="ChromiumEnv::CreateDir"/>
  <suffix name="DeleteDir" label="ChromiumEnv::DeleteDir"/>
  <suffix name="DeleteFile" label="ChromiumEnv::DeleteFile"/>
  <suffix name="GetChildren" label="ChromiumEnv::GetChildren"/>
  <suffix name="GetFileSize" label="ChromiumEnv::GetFileSize"/>
  <suffix name="GetTestDirectory" label="ChromiumEnv::GetTestDirectory"/>
  <suffix name="LockFile" label="ChromiumEnv::LockFile"/>
  <suffix name="NewAppendableFile" label="ChromiumEnv::NewAppendableFile"/>
  <suffix name="NewLogger" label="ChromiumEnv::NewLogger"/>
  <suffix name="NewRandomAccessFile" label="ChromiumEnv::NewRandomAccessFile"/>
  <suffix name="NewSequentialFile" label="ChromiumEnv::NewSequentialFile"/>
  <suffix name="NewWritableFile" label="ChromiumEnv::NewWritableFile"/>
  <suffix name="RandomAccessFileRead" label="ChromiumRandomAccessFile::Read"/>
  <suffix name="RenameFile" label="ChromiumEnv::RenameFile"/>
  <suffix name="SequentialFileRead" label="ChromiumSequentialFile::Read"/>
  <suffix name="SequentialFileSkip" label="ChromiumSequentialFile::Skip"/>
  <suffix name="UnlockFile" label="ChromiumEnv::UnlockFile"/>
  <suffix name="WritableFileAppend" label="ChromiumWritableFile::Append"/>
  <suffix name="WritableFileClose" label="ChromiumWritableFile::Close"/>
  <suffix name="WritableFileFlush" label="ChromiumWritableFile::Flush"/>
  <suffix name="WritableFileSync" label="ChromiumWritableFile::Sync"/>
  <suffix name="WritableFileSyncParent"
      label="ChromiumWritableFile::SyncParent"/>
  <affected-histogram name="LevelDBEnv.IDB.IOError.BFE"/>
  <affected-histogram name="LevelDBEnv.IOError.BFE"/>
  <affected-histogram name="LevelDBEnv.ServiceWorker.IOError.BFE"/>
  <affected-histogram name="WebCore.IndexedDB.LevelDBOpenErrors.BFE"/>
  <affected-histogram name="WebCore.IndexedDB.LevelDBReadErrors.BFE"/>
  <affected-histogram name="WebCore.IndexedDB.LevelDBWriteErrors.BFE"/>
</histogram_suffixes>

<histogram_suffixes name="LevelDBEnvBackupRestore" separator="">
  <obsolete>
    Deprecated 08/2016.
  </obsolete>
  <suffix name="Backup" label="Backing up an ldb file."/>
  <suffix name="Restore" label="Restoring an ldb file."/>
  <affected-histogram name="LevelDBEnv.IDB.Table"/>
  <affected-histogram name="LevelDBEnv.ServiceWorker.Table"/>
  <affected-histogram name="LevelDBEnv.Table"/>
</histogram_suffixes>

<histogram_suffixes name="LevelDBEnvMaxFDs" separator=".">
  <suffix name="Success"
      label="This histogram shows the limit when open succeeded."/>
  <suffix name="TooManyOpened"
      label="This histogram shows the limit when open failed because the
             limit had been reached."/>
  <suffix name="OtherError"
      label="This histogram shows the limit when open failed for reasons
             other than exceeding the limit."/>
  <affected-histogram name="LevelDBEnv.IDB.MaxFDs"/>
  <affected-histogram name="LevelDBEnv.MaxFDs"/>
  <affected-histogram name="LevelDBEnv.ServiceWorker.MaxFDs"/>
</histogram_suffixes>

<histogram_suffixes name="LevelDBEnvPlatformFileErrors" separator="">
  <suffix name="CreateDir" label="ChromiumEnv::CreateDir"/>
  <suffix name="GetChildren" label="ChromiumEnv::GetChildren"/>
  <suffix name="LockFile" label="ChromiumEnv::LockFile"/>
  <suffix name="NewRandomAccessFile" label="ChromiumEnv::NewRandomAccessFile"/>
  <suffix name="RenameFile" label="ChromiumEnv::RenameFile"/>
  <affected-histogram name="LevelDBEnv.IDB.IOError."/>
  <affected-histogram name="LevelDBEnv.IOError."/>
  <affected-histogram name="LevelDBEnv.ServiceWorker.IOError."/>
</histogram_suffixes>

<histogram_suffixes name="LevelDBEnvRetry" separator="">
  <suffix name="RenameFile" label="RenameFile"/>
  <suffix name="LockFile" label="LockFile"/>
  <suffix name="CreateDir" label="CreateDir"/>
  <affected-histogram name="LevelDBEnv.IDB.RetryRecoveredFromErrorIn"/>
  <affected-histogram name="LevelDBEnv.IDB.TimeUntilSuccessFor"/>
  <affected-histogram name="LevelDBEnv.RetryRecoveredFromErrorIn"/>
  <affected-histogram
      name="LevelDBEnv.ServiceWorker.RetryRecoveredFromErrorIn"/>
  <affected-histogram name="LevelDBEnv.ServiceWorker.TimeUntilSuccessFor"/>
  <affected-histogram name="LevelDBEnv.TimeUntilSuccessFor"/>
</histogram_suffixes>

<histogram_suffixes name="LevelDBEnvRetryTimes" separator="">
  <obsolete>
    Deprecated 2013-04 in favor of LevelDBEnvRetry.
  </obsolete>
  <suffix name="Rename" label="RenameFile"/>
  <suffix name="LockFile" label="LockFile"/>
  <affected-histogram name="LevelDBEnv.IDB.TimeTo"/>
  <affected-histogram name="LevelDBEnv.TimeTo"/>
</histogram_suffixes>

<histogram_suffixes name="LevelDBEnvTypes" separator="." ordering="prefix">
  <suffix name="IDB" label="Restricted to IndexedDB LevelDB environments"/>
  <suffix name="ServiceWorker"
      label="Restricted to ServiceWorker LevelDB environments"/>
  <affected-histogram name="LevelDBEnv.IOError"/>
  <affected-histogram name="LevelDBEnv.IOError."/>
  <affected-histogram name="LevelDBEnv.IOError.BFE"/>
  <affected-histogram name="LevelDBEnv.IOError.NewLogger"/>
  <affected-histogram name="LevelDBEnv.IOError.NewSequentialFile"/>
  <affected-histogram name="LevelDBEnv.IOError.RandomAccessFile"/>
  <affected-histogram name="LevelDBEnv.IOError.WritableFileAppend"/>
  <affected-histogram name="LevelDBEnv.IOError.WritableFileFlush"/>
  <affected-histogram name="LevelDBEnv.LockFileAncestorsNotFound"/>
  <affected-histogram name="LevelDBEnv.MaxFDs"/>
  <affected-histogram name="LevelDBEnv.MissingFiles"/>
  <affected-histogram name="LevelDBEnv.RetryRecoveredFromErrorIn"/>
  <affected-histogram name="LevelDBEnv.Table"/>
  <affected-histogram name="LevelDBEnv.TimeTo"/>
  <affected-histogram name="LevelDBEnv.TimeUntilSuccessFor"/>
</histogram_suffixes>

<histogram_suffixes name="LevelDBOpenResults">
  <suffix name="DomDistillerStore" label="Databases for DomDistillerStore"/>
  <suffix name="GCMKeyStore" label="Databases for GCMKeyStore"/>
  <suffix name="ImageManager" label="Databases for ImageManager"/>
  <suffix name="OfflinePageMetadataStore"
      label="Databases for OfflinePageMetadataStore"/>
  <suffix name="UsageReportsBufferBackend"
      label="The result of the first attempt to open the usage reports buffer
             backend database."/>
  <suffix name="BudgetManager"
      label="Database for storing budget information for origins."/>
  <affected-histogram name="LevelDB.Open"/>
</histogram_suffixes>

<histogram_suffixes name="LocalStorageCachePurgeReason" separator=".">
  <suffix name="AggressivePurgeTriggered"
      label="Aggressive purge was triggered on memory pressure."/>
  <suffix name="AreaCountLimitExceeded"
      label="Storage areas count exceeded limit."/>
  <suffix name="InactiveOnLowEndDevice"
      label="Inactive areas found in low end device."/>
  <suffix name="ModeratePurgeTriggered"
      label="Moderate purge was triggered on memory pressure."/>
  <suffix name="SizeLimitExceeded" label="Cache size exceeded limit."/>
  <affected-histogram name="LocalStorage.BrowserLocalStorageCachePurgedInKB"/>
</histogram_suffixes>

<histogram_suffixes name="LocalStorageSizes" separator="">
  <suffix name="Under100KB" label="DB size under 100KB"/>
  <suffix name="100KBTo1MB" label="DB size between 100KB and 1MB"/>
  <suffix name="1MBTo5MB" label="DB size between 1MB and 5MB"/>
  <affected-histogram name="LocalStorage.BrowserTimeToPrimeLocalStorage"/>
  <affected-histogram name="LocalStorage.MojoTimeToPrimeFor"/>
  <affected-histogram name="LocalStorage.RendererTimeToPrimeLocalStorage"/>
</histogram_suffixes>

<histogram_suffixes name="LocationAttachedStatus" separator=".">
  <suffix name="LocationAttached"
      label="This histogram is for when the location was successfully
             attached to the request."/>
  <suffix name="LocationNotAttached"
      label="This histogram is for when the location was not attached to the
             request. A location may not be attached if it is too old or if
             the permissions do not allow it."/>
  <affected-histogram name="Geolocation.Header.TimeListening.BatterySaving"/>
  <affected-histogram name="Geolocation.Header.TimeListening.GpsOnly"/>
  <affected-histogram name="Geolocation.Header.TimeListening.HighAccuracy"/>
</histogram_suffixes>

<histogram_suffixes name="LocationMode" separator=".">
  <suffix name="BatterySaving"
      label="This histogram is for location mode Battery Saving."/>
  <suffix name="GpsOnly" label="This histogram is for location mode GPS Only."/>
  <suffix name="HighAccuracy"
      label="This histogram is for location mode High Accuracy."/>
  <affected-histogram name="Geolocation.Header.LocationAge"/>
  <affected-histogram name="Geolocation.Header.TimeListening"/>
</histogram_suffixes>

<histogram_suffixes name="LockExistingCachedImage" separator=".">
  <suffix name="Software.EVENTUALLY" label="Eventually bin for software"/>
  <suffix name="Software.NOW" label="Now bin for software"/>
  <suffix name="Software.SOON" label="Soon bin for software"/>
  <affected-histogram name="Renderer4.LockExistingCachedImage"/>
</histogram_suffixes>

<histogram_suffixes name="LowMemoryMargin">
  <suffix name="default" label="Low memory margin set to the system default"/>
  <suffix name="off" label="Low memory notification disabled"/>
  <suffix name="0mb" label="Low memory margin set to 0MB"/>
  <suffix name="25mb" label="Low memory margin set to 25MB"/>
  <suffix name="50mb" label="Low memory margin set to 50MB"/>
  <suffix name="100mb" label="Low memory margin set to 100MB"/>
  <suffix name="200mb" label="Low memory margin set to 200MB"/>
  <affected-histogram name="Tabs.Discard.DiscardCount"/>
  <affected-histogram name="Tabs.Discard.InitialTime2"/>
  <affected-histogram name="Tabs.Discard.IntervalTime2"/>
  <affected-histogram name="Tabs.Discard.MemAnonymousMB"/>
  <affected-histogram name="Tabs.Discard.MemAvailableMB"/>
  <affected-histogram name="Tabs.Discard.TabCount"/>
  <affected-histogram name="Tabs.SadTab.CrashCreated"/>
  <affected-histogram name="Tabs.SadTab.KillCreated"/>
</histogram_suffixes>

<histogram_suffixes name="ManifestProperties" separator=".">
  <suffix name="name"/>
  <suffix name="short_name"/>
  <suffix name="start_url"/>
  <suffix name="display"/>
  <suffix name="orientation"/>
  <suffix name="icons"/>
  <suffix name="gcm_sender_id"/>
  <affected-histogram name="Manifest.HasProperty"/>
</histogram_suffixes>

<histogram_suffixes name="MediaAudioInputControllerTime" separator=".">
  <suffix name="CloseTime" label="Measures the time taken for DoClose()."/>
  <suffix name="CreateTime" label="Measures the time taken for DoCreate()."/>
  <suffix name="RecordTime" label="Measures the time taken for DoRecord()."/>
  <affected-histogram name="Media.AudioInputController"/>
</histogram_suffixes>

<histogram_suffixes name="MediaAudioInputDeviceManagerTime" separator=".">
  <suffix name="OpenOnDeviceThreadTime"
      label="Measures the time taken for OpenOnDeviceThread()."/>
  <suffix name="EnumerateOnDeviceThreadTime"
      label="Measures the time taken for EnumerateOnDeviceThread()."/>
  <affected-histogram name="Media.AudioInputDeviceManager"/>
</histogram_suffixes>

<histogram_suffixes name="MediaAudioOutputControllerTime" separator=".">
  <suffix name="CloseTime" label="Measures the time taken for DoClose()."/>
  <suffix name="CreateTime" label="Measures the time taken for DoCreate()."/>
  <suffix name="DeviceChangeTime"
      label="Measures the time taken for OnDeviceChange()."/>
  <suffix name="PauseTime" label="Measures the time taken for DoPause()."/>
  <suffix name="PlayTime"
      label="Measures the time taken for DoPlay(). Technically only the
             worker method AudioOutputController::PollAndStartIfDataReady()."/>
  <affected-histogram name="Media.AudioOutputController"/>
</histogram_suffixes>

<histogram_suffixes name="MediaElementConfigurations" separator=".">
  <suffix name="InlinePortrait"/>
  <suffix name="InlineLandscape"/>
  <suffix name="FullscreenPortrait"/>
  <suffix name="FullscreenLandscape"/>
  <affected-histogram name="Media.Timeline.Width"/>
</histogram_suffixes>

<histogram_suffixes name="MediaPipelineStatusForStreams" separator=".">
  <suffix name="AudioVideo.Other"
      label="PipelineStatus for the codecs that dont have an explicit metric."/>
  <suffix name="AudioVideo.VP8.SW"
      label="PipelineStatus for AV streams with VP8 software decoder."/>
  <suffix name="AudioVideo.VP8.HW"
      label="PipelineStatus for AV streams with VP8 hardware decoder."/>
  <suffix name="AudioVideo.VP8.DDS.SW"
      label="PipelineStatus for AV streams with VP8 software codec and that
             go through the DecryptingDemuxerStream (DDS)."/>
  <suffix name="AudioVideo.VP8.DDS.HW"
      label="PipelineStatus for AV streams with VP8 hardware codec and that
             go through the DecryptingDemuxerStream (DDS)."/>
  <suffix name="AudioVideo.VP8.DVD"
      label="PipelineStatus for AV streams with VP8 codec and that go through
             the DecryptingVideoDecoder (DVD)."/>
  <suffix name="AudioVideo.VP9.SW"
      label="PipelineStatus for AV streams with VP9 software decoder."/>
  <suffix name="AudioVideo.VP9.HW"
      label="PipelineStatus for AV streams with VP9 hardware decoder."/>
  <suffix name="AudioVideo.VP9.DDS.SW"
      label="PipelineStatus for AV streams with VP9 codec and that go through
             the DecryptingDemuxerStream (DDS)."/>
  <suffix name="AudioVideo.VP9.DDS.HW"
      label="PipelineStatus for AV streams with VP9 hardware codec and that
             go through the DecryptingDemuxerStream (DDS)."/>
  <suffix name="AudioVideo.VP9.DVD"
      label="PipelineStatus for AV streams with VP9 software codec and that
             go through the DecryptingVideoDecoder (DVD)."/>
  <suffix name="AudioVideo.H264.SW"
      label="PipelineStatus for software decoded AV streams with H264
             decoder."/>
  <suffix name="AudioVideo.H264.HW"
      label="PipelineStatus for hardware decoded AV streams with H264
             decoder."/>
  <suffix name="AudioVideo.H264.DDS.SW"
      label="PipelineStatus for AV streams with H264 software decoder and
             that go through the DecryptingDemuxerStream (DDS)."/>
  <suffix name="AudioVideo.H264.DDS.HW"
      label="PipelineStatus for AV streams with H264 hardware decoder and
             that go through the DecryptingDemuxerStream (DDS)."/>
  <suffix name="AudioVideo.H264.DVD"
      label="PipelineStatus for AV streams with H264 decoder and that go
             through the DecryptingVideoDecoder (DVD)."/>
  <suffix name="AudioOnly" label="PipelineStatus for Audio-only streams."/>
  <suffix name="VideoOnly" label="PipelineStatus for Video-only streams."/>
  <suffix name="Unsupported" label="PipelineStatus for unsupported streams."/>
  <affected-histogram name="Media.PipelineStatus"/>
</histogram_suffixes>

<histogram_suffixes name="MediaTimelineWidths" separator=".">
  <suffix name="32_47"/>
  <suffix name="48_79"/>
  <suffix name="80_127"/>
  <suffix name="128_255"/>
  <suffix name="256_511"/>
  <suffix name="512_inf"/>
  <affected-histogram name="Media.Timeline.DragGestureDuration"/>
  <affected-histogram name="Media.Timeline.DragPercent"/>
  <affected-histogram name="Media.Timeline.DragSumAbsTimeDelta"/>
  <affected-histogram name="Media.Timeline.DragTimeDelta"/>
  <affected-histogram name="Media.Timeline.SeekType"/>
</histogram_suffixes>

<histogram_suffixes name="MediaVideoCaptureManagerTime" separator=".">
  <suffix name="StartDeviceTime"
      label="Measures the time taken for DoStartDeviceOnDeviceThread()."/>
  <suffix name="StopDeviceTime"
      label="Measures the time taken for DoStopDeviceOnDeviceThread()."/>
  <suffix name="GetAvailableDevicesInfoOnDeviceThreadTime"
      label="Measures the time taken to enumerate devices and their
             capabilities, between EnumerateDevices() and
             OnDevicesInfoEnumerated()."/>
  <affected-histogram name="Media.VideoCaptureManager"/>
</histogram_suffixes>

<histogram_suffixes name="MediaVideoCategories" separator=".">
  <suffix name="All" label="All media with a video track."/>
  <suffix name="EME" label="EME media with a video track."/>
  <suffix name="MSE" label="MSE media with a video track."/>
  <suffix name="SRC" label="SRC media with a video track."/>
  <affected-histogram name="Media.VideoHeight.Initial"/>
</histogram_suffixes>

<histogram_suffixes name="MediaWatchTimeCategories" separator=".">
  <suffix name="Audio.All"
      label="Watch time for all media with only an audio track."/>
  <suffix name="Audio.AC"
      label="Watch time for all media with only an audio track on AC power."/>
  <suffix name="Audio.Battery"
      label="Watch time for all media with only an audio track on battery
             power."/>
  <suffix name="Audio.MSE"
      label="Watch time for MSE media with only an audio track."/>
  <suffix name="Audio.SRC"
      label="Watch time for SRC media with only an audio track."/>
  <suffix name="Audio.EME"
      label="Watch time for EME media with only an audio track."/>
  <suffix name="Audio.EmbeddedExperience"
      label="Watch time for downloaded media on Android with only an audio
             track."/>
  <suffix name="AudioVideo.All"
      label="Watch time for all media with both an audio and video track."/>
  <suffix name="AudioVideo.AC"
      label="Watch time for all media with both an audio and video track on
             AC power."/>
  <suffix name="AudioVideo.Battery"
      label="Watch time for all media with both an audio and video track on
             battery power."/>
  <suffix name="AudioVideo.MSE"
      label="Watch time for MSE media with both an audio and video track."/>
  <suffix name="AudioVideo.SRC"
      label="Watch time for SRC media with both an audio and video track."/>
  <suffix name="AudioVideo.EME"
      label="Watch time for EME media with both an audio and video track."/>
  <suffix name="AudioVideo.EmbeddedExperience"
      label="Watch time for downloaded media on Android with both an audio
             and video track."/>
  <suffix name="AudioVideo.Background.All"
      label="Background watch time for all media with both an audio and video
             track."/>
  <suffix name="AudioVideo.Background.AC"
      label="Background watch time for all media with both an audio and video
             track on AC power."/>
  <suffix name="AudioVideo.Background.Battery"
      label="Background watch time for all media with both an audio and video
             track on battery power."/>
  <suffix name="AudioVideo.Background.MSE"
      label="Background watch time for MSE media with both an audio and video
             track."/>
  <suffix name="AudioVideo.Background.SRC"
      label="Background watch time for SRC media with both an audio and video
             track."/>
  <suffix name="AudioVideo.Background.EME"
      label="Background watch time for EME media with both an audio and video
             track."/>
  <suffix name="AudioVideo.Background.EmbeddedExperience"
      label="Background watch time for downloaded media on Android with both
             an audio and video track."/>
  <affected-histogram name="Media.WatchTime"/>
</histogram_suffixes>

<histogram_suffixes name="MediaWMPIMemoryUsage" separator=".">
  <suffix name="Audio"/>
  <suffix name="DataSource"/>
  <suffix name="Demuxer"/>
  <suffix name="Video"/>
  <affected-histogram name="Media.WebMediaPlayerImpl.Memory"/>
</histogram_suffixes>

<histogram_suffixes name="MemoryFDsAllProcesses" separator="."
    ordering="prefix">
  <suffix name="Browser" label="Browser process"/>
  <suffix name="Gpu" label="GPU process"/>
  <suffix name="RendererAll" label="Renderer process"/>
  <suffix name="Chrome" label="chrome:// renderer process"/>
  <suffix name="Extension" label="Extension process"/>
  <suffix name="NativeClient" label="Native client process"/>
  <suffix name="NativeClientBroker" label="Native client broker process"/>
  <suffix name="PeperPlugin" label="Pepper plugin process"/>
  <suffix name="PepperPluginBroker" label="Pepper plugin broker process"/>
  <suffix name="Renderer" label="Renderer process"/>
  <suffix name="SandboxHelper" label="Sandbox helper process"/>
  <suffix name="Utility" label="Utility process"/>
  <suffix name="Zygote" label="Zygot process"/>
  <affected-histogram name="Memory.OpenFDs"/>
</histogram_suffixes>

<histogram_suffixes name="MemoryFDsBroswerGpuAndRendererProcess" separator="."
    ordering="prefix">
  <suffix name="Browser" label="Browser process"/>
  <suffix name="Gpu" label="GPU process"/>
  <suffix name="RendererAll" label="Renderer process"/>
  <affected-histogram name="Memory.OpenFDsSoftLimit"/>
</histogram_suffixes>

<histogram_suffixes name="MemoryStateTransition" separator=".">
  <suffix name="NormalToThrottled"/>
  <suffix name="NormalToSuspended"/>
  <suffix name="ThrottledToNormal"/>
  <suffix name="ThrottledToSuspended"/>
  <suffix name="SuspendedToNormal"/>
  <suffix name="SuspendedToThrottled"/>
  <affected-histogram name="Memory.Coordinator.StateDuration"/>
  <affected-histogram name="Memory.Coordinator.TotalPrivate"/>
</histogram_suffixes>

<histogram_suffixes name="MobileDownloadBytesDownloadedTypes" separator=".">
  <suffix name="ChromeNetworkStack.Failure"/>
  <suffix name="ChromeNetworkStack.Success"/>
  <suffix name="DownloadManager.Failure"/>
  <suffix name="DownloadManager.Success"/>
  <affected-histogram name="MobileDownload.BytesDownloaded"/>
</histogram_suffixes>

<histogram_suffixes name="MobileDownloadBytesWastedTypes" separator=".">
  <suffix name="Failure" label="Recorded upon download failure."/>
  <suffix name="Success" label="Recorded upon download success."/>
  <suffix name="Cancel" label="Recorded upon download Cancel."/>
  <affected-histogram name="MobileDownload.BytesWasted.ChromeNetworkStack"/>
</histogram_suffixes>

<histogram_suffixes name="MobileDownloadDownloadTimeTypes" separator=".">
  <suffix name="ChromeNetworkStack.Cancel"/>
  <suffix name="ChromeNetworkStack.Failure"/>
  <suffix name="ChromeNetworkStack.Success"/>
  <suffix name="DownloadManager.Failure"/>
  <suffix name="DownloadManager.Success"/>
  <affected-histogram name="MobileDownload.DownloadTime"/>
</histogram_suffixes>

<histogram_suffixes name="MobileDownloadInterruptionsCountTypes" separator=".">
  <suffix name="ChromeNetworkStack.Cancel"/>
  <suffix name="ChromeNetworkStack.Failure"/>
  <suffix name="ChromeNetworkStack.Success"/>
  <affected-histogram name="MobileDownload.InterruptionsCount"/>
</histogram_suffixes>

<histogram_suffixes name="MobileDownloadResumptionsCountTypes" separator=".">
  <suffix name="Automatic"/>
  <suffix name="Manual"/>
  <suffix name="Total"/>
  <affected-histogram name="MobileDownload.ResumptionsCount"/>
</histogram_suffixes>

<histogram_suffixes name="MobileFreEntryType" separator=".">
  <suffix name="MainIntent" label="Icon click"/>
  <suffix name="ViewIntent" label="VIEW intent"/>
  <affected-histogram name="MobileFre.Progress"/>
</histogram_suffixes>

<histogram_suffixes name="MobileFreSignInChoiceEntryType" separator=".">
  <obsolete>
    Removed from code as of 08/2016.
  </obsolete>
  <suffix name="MainIntent" label="Icon click"/>
  <suffix name="ViewIntent" label="VIEW intent"/>
  <affected-histogram name="MobileFre.SignInChoice"/>
</histogram_suffixes>

<histogram_suffixes name="MobileFreSignInChoiceNumberOfAccounts" separator=".">
  <obsolete>
    Removed from code as of 08/2016.
  </obsolete>
  <suffix name="ZeroAccounts" label="Zero accounts"/>
  <suffix name="OneAccount" label="One account"/>
  <suffix name="ManyAccounts" label="Two or more accounts"/>
  <affected-histogram name="MobileFre.SignInChoice.MainIntent"/>
  <affected-histogram name="MobileFre.SignInChoice.ViewIntent"/>
</histogram_suffixes>

<histogram_suffixes name="ModuleIntegrityVerificationType" separator=".">
  <suffix name="WithoutByteSet"
      label="The version of the Module Integrity Verifier that doesn't use a
             hash set to track relocations."/>
  <suffix name="WithByteSet"
      label="The version of the Module Integrity Verifier that uses a hash set
             to track relocations.">
    <obsolete>
      Deprecated and removed from code as of 05/2015.
    </obsolete>
  </suffix>
  <affected-histogram name="ModuleIntegrityVerification.BytesModified"/>
  <affected-histogram name="ModuleIntegrityVerification.Difference"/>
</histogram_suffixes>

<histogram_suffixes name="NatType" separator=".">
  <suffix name="NoNAT"/>
  <suffix name="UnknownNAT"/>
  <suffix name="SymNAT"/>
  <suffix name="NonSymNAT"/>
  <affected-histogram name="WebRTC.Stun.BatchSuccessPercent"/>
  <affected-histogram name="WebRTC.Stun.ResponseLatency"/>
  <affected-histogram name="WebRTC.Stun.SuccessPercent"/>
</histogram_suffixes>

<histogram_suffixes name="NavigationCharacteristic">
  <suffix name="ExistingRenderer_BeforeUnloadDiscounted"
      label="Navigation reused an existing renderer process. Time spent in
             beforeunload subtracted."/>
  <suffix name="NewRenderer_BeforeUnloadDiscounted"
      label="Navigation spawned a new renderer process. Time spent in
             beforeunload subtracted."/>
  <suffix name="SessionRestored_BeforeUnloadDiscounted"
      label="Navigation caused by restoring a tab from a previous session
             (whether from a crash or a continued session) either spawning or
             reusing a renderer. Time spent in beforeunload subtracted."/>
  <suffix name="SessionRestored"
      label="Navigation caused by restoring a tab from a previous session
             (whether from a crash or a continued session) either spawning or
             reusing a renderer. Time spent in beforeunload subtracted.">
    <obsolete>
      Replaced by the likely named entry. It had a misleading name as it also
      has the before-unload time discounted.
    </obsolete>
  </suffix>
  <affected-histogram name="Navigation.TimeToCommit"/>
  <affected-histogram name="Navigation.TimeToURLJobStart"/>
</histogram_suffixes>

<histogram_suffixes name="NavigationPreloadEnabled">
  <affected-histogram
      name="ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time"/>
  <affected-histogram
      name="ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time_StartWorkerExistingProcess"/>
  <suffix name="NavigationPreloadEnabled" label="Navigation preload occurred."/>
  <affected-histogram
      name="ServiceWorker.ActivatedWorkerPreparationForMainFrame.Type"/>
</histogram_suffixes>

<histogram_suffixes name="NavigationPreloadOrWorkerFirst">
  <suffix name="SWStartFirst"
      label="The service worker finished preparing before the navigation
             preload response arrived."/>
  <suffix name="NavPreloadFirst"
      label="The navigation preload response arrived before the service
             worker finished preparing."/>
  <affected-histogram name="ServiceWorker.NavigationPreload.ConcurrentTime"/>
</histogram_suffixes>

<histogram_suffixes name="Net.BidirectionalStreamExperiment" separator=".">
  <owner>xunjieli@chromium.org</owner>
  <suffix name="QUIC" label="Bidirectional streams that use QUIC protocol"/>
  <suffix name="HTTP2" label="Bidirectional stream that use HTTP2 protocol"/>
  <affected-histogram name="Net.BidirectionalStream.ReceivedBytes"/>
  <affected-histogram name="Net.BidirectionalStream.SentBytes"/>
  <affected-histogram name="Net.BidirectionalStream.TimeToReadEnd"/>
  <affected-histogram name="Net.BidirectionalStream.TimeToReadStart"/>
  <affected-histogram name="Net.BidirectionalStream.TimeToSendEnd"/>
  <affected-histogram name="Net.BidirectionalStream.TimeToSendStart"/>
</histogram_suffixes>

<histogram_suffixes name="Net.QuicClientHelloRejectReasons.QuicIsSecureOrNot"
    separator=".">
  <owner>rtenneti@chromium.org</owner>
  <suffix name="Insecure" label="for insecure QUIC.">
    <obsolete>
      Deprecated and removed from code as of 10/2015.
    </obsolete>
  </suffix>
  <suffix name="Secure" label="for secure QUIC."/>
  <suffix name="TooMany"
      label="for secure QUIC when there were too many rejects."/>
  <affected-histogram name="Net.QuicClientHelloRejectReasons"/>
</histogram_suffixes>

<histogram_suffixes name="Net.QuicSession.21CumulativePackets" separator="_">
  <owner>rch@chromium.org</owner>
  <suffix name="First21"
      label="Only the first group of 21 packets in a connection via"/>
  <suffix name="Some21s"
      label="After the first 21, this records data for some groups of 21
             consecutive sequence nmubers, arriving via."/>
  <affected-histogram name="Net.QuicSession.21CumulativePacketsReceived"/>
</histogram_suffixes>

<histogram_suffixes name="Net.QuicSession.6PacketPatterns" separator="_">
  <owner>rch@chromium.org</owner>
  <suffix name="First6"
      label="Only the first group of 6 packets in a connection via"/>
  <suffix name="Some6s"
      label="After the first 6, this records patterns for some groups of 6
             consecutive sequence numbers, arriving via."/>
  <affected-histogram name="Net.QuicSession.6PacketsPatternsReceived"/>
</histogram_suffixes>

<histogram_suffixes name="Net.QuicSession.PacketReceived" separator="_">
  <owner>rch@chromium.org</owner>
  <suffix name="Ack"
      label="Only packets that were received by Chrome as well being part of
             connections via"/>
  <suffix name="Nack"
      label="Only packets that were missed by Chrome as well being part of
             connections via"/>
  <suffix name="IsAnAck"
      label="Only packets that were probably solo ACK packets when recieved
             by Chrome as well being part of connections via"/>
  <suffix name="IsNotAck"
      label="Only packets that were probably NOT solo ACK packets when
             recieved by Chrome as well being part of connections via"/>
  <affected-histogram name="Net.QuicSession.PacketReceived"/>
</histogram_suffixes>

<histogram_suffixes name="Net.QuicSession.PacketReceived_CONNECTION_TYPE"
    separator="_">
  <owner>rch@chromium.org</owner>
  <suffix name="CONNECTION_UNKNOWN" label="WiFi are tallied."/>
  <suffix name="CONNECTION_ETHERNET"
      label="ethernet are tallied, but this may include connections to a WiFi
             bridge."/>
  <suffix name="CONNECTION_WIFI"
      label="WiFi are tallied, but this may include connections to a mobile
             hotspot. Also check similar histograms that end in WIFI_802.11*
             for more details on some platforms."/>
  <suffix name="CONNECTION_WIFI_ANCIENT"
      label="802.11 that are no longer standard are tallied."/>
  <suffix name="CONNECTION_WIFI_802.11a" label="802.11a are tallied."/>
  <suffix name="CONNECTION_WIFI_802.11b" label="802.11b are tallied."/>
  <suffix name="CONNECTION_WIFI_802.11g" label="802.11g are tallied."/>
  <suffix name="CONNECTION_WIFI_802.11n" label="802.11n are tallied."/>
  <suffix name="CONNECTION_2G" label="mobile 2G are tallied."/>
  <suffix name="CONNECTION_3G" label="mobile 3G are tallied."/>
  <suffix name="CONNECTION_4G" label="mobile 4G are tallied."/>
  <suffix name="CONNECTION_NONE"
      label="NO(?) network are tallied (should be empty)."/>
  <suffix name="CONNECTION_BLUETOOTH"
      label="Bluetooth are tallied, but this may include connections to a
             mobile hotspot."/>
  <affected-histogram
      name="Net.QuicSession.21CumulativePacketsReceived_First21"/>
  <affected-histogram
      name="Net.QuicSession.21CumulativePacketsReceived_Some21s"/>
  <affected-histogram name="Net.QuicSession.6PacketsPatternsReceived_First6"/>
  <affected-histogram name="Net.QuicSession.6PacketsPatternsReceived_Some6s"/>
  <affected-histogram name="Net.QuicSession.PacketLossRate"/>
  <affected-histogram name="Net.QuicSession.PacketReceived_Ack"/>
  <affected-histogram name="Net.QuicSession.PacketReceived_IsAnAck"/>
  <affected-histogram name="Net.QuicSession.PacketReceived_IsNotAck"/>
  <affected-histogram name="Net.QuicSession.PacketReceived_Nack"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity" separator=".">
  <suffix name="53.100B" label="100 bytes of data on port 53."/>
  <suffix name="53.100B.NoProxy"
      label="100 bytes of data on port 53 with no proxy."/>
  <suffix name="53.1K" label="1K bytes of data on port 53."/>
  <suffix name="53.1K.NoProxy"
      label="1K bytes of data on port 53 with no proxy."/>
  <suffix name="53.100B.RTT"
      label="100 bytes of data on port 53 successfully."/>
  <suffix name="53.100B.RTT.NoProxy"
      label="100 bytes of data on port 53 successfully with no proxy."/>
  <suffix name="53.1K.RTT" label="1K bytes of data on port 53 successfully."/>
  <suffix name="53.1K.RTT.NoProxy"
      label="1K bytes of data on port 53 successfully with no proxy."/>
  <suffix name="587.100B" label="100 bytes of data on port 587."/>
  <suffix name="587.100B.NoProxy"
      label="100 bytes of data on port 587 with no proxy."/>
  <suffix name="587.1K" label="1K bytes of data on port 587."/>
  <suffix name="587.1K.NoProxy"
      label="1K bytes of data on port 587 with no proxy."/>
  <suffix name="587.100B.RTT"
      label="100 bytes of data on port 587 successfully."/>
  <suffix name="587.100B.RTT.NoProxy"
      label="100 bytes of data on port 587 successfully with no proxy."/>
  <suffix name="587.1K.RTT" label="1K bytes of data on port 587 successfully."/>
  <suffix name="587.1K.RTT.NoProxy"
      label="1K bytes of data on port 587 successfully with no proxy."/>
  <suffix name="6121.100B" label="100 bytes of data on port 6121."/>
  <suffix name="6121.100B.NoProxy"
      label="100 bytes of data on port 6121 with no proxy."/>
  <suffix name="6121.1K" label="1K bytes of data on port 6121."/>
  <suffix name="6121.1K.NoProxy"
      label="1K bytes of data on port 6121 with no proxy."/>
  <suffix name="6121.100B.RTT"
      label="100 bytes of data on port 6121 successfully."/>
  <suffix name="6121.100B.RTT.NoProxy"
      label="100 bytes of data on port 6121 successfully with no proxy."/>
  <suffix name="6121.1K.RTT"
      label="1K bytes of data on port 6121 successfully."/>
  <suffix name="6121.1K.RTT.NoProxy"
      label="1K bytes of data on port 6121 successfully with no proxy."/>
  <suffix name="80.100B" label="100 bytes of data on port 80."/>
  <suffix name="80.100B.NoProxy"
      label="100 bytes of data on port 80 with no proxy."/>
  <suffix name="80.1K" label="1K bytes of data on port 80."/>
  <suffix name="80.1K.NoProxy"
      label="1K bytes of data on port 80 with no proxy."/>
  <suffix name="80.100B.RTT"
      label="100 bytes of data on port 80 successfully."/>
  <suffix name="80.100B.RTT.NoProxy"
      label="100 bytes of data on port 80 successfully with no proxy."/>
  <suffix name="80.1K.RTT" label="1K bytes of data on port 80 successfully."/>
  <suffix name="80.1K.RTT.NoProxy"
      label="1K bytes of data on port 80 successfully with no proxy."/>
  <suffix name="8080.100B" label="100 bytes of data on port 8080."/>
  <suffix name="8080.100B.NoProxy"
      label="100 bytes of data on port 8080 with no proxy."/>
  <suffix name="8080.1K" label="1K bytes of data on port 8080."/>
  <suffix name="8080.1K.NoProxy"
      label="1K bytes of data on port 8080 with no proxy."/>
  <suffix name="8080.100B.RTT"
      label="100 bytes of data on port 8080 successfully."/>
  <suffix name="8080.100B.RTT.NoProxy"
      label="100 bytes of data on port 8080 successfully with no proxy."/>
  <suffix name="8080.1K.RTT"
      label="1K bytes of data on port 8080 successfully."/>
  <suffix name="8080.1K.RTT.NoProxy"
      label="1K bytes of data on port 8080 successfully with no proxy."/>
  <affected-histogram name="NetConnectivity.TCP.Status"/>
  <affected-histogram name="NetConnectivity.TCP.Success"/>
  <affected-histogram name="NetConnectivity.UDP.PacketLoss"/>
  <affected-histogram name="NetConnectivity.UDP.PacketLoss6"/>
  <affected-histogram name="NetConnectivity.UDP.Status"/>
  <affected-histogram name="NetConnectivity.UDP.Success"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity2" separator=".">
  <suffix name="AcksReceivedFromFirst2Packets" label="2 packets."/>
  <suffix name="AcksReceivedFromFirst3Packets" label="3 packets."/>
  <suffix name="AcksReceivedFromFirst4Packets" label="4 packets."/>
  <suffix name="AcksReceivedFromFirst5Packets" label="5 packets."/>
  <suffix name="AcksReceivedFromFirst6Packets" label="6 packets."/>
  <suffix name="AcksReceivedFromFirst7Packets" label="7 packets."/>
  <suffix name="AcksReceivedFromFirst8Packets" label="8 packets."/>
  <suffix name="AcksReceivedFromFirst9Packets" label="9 packets."/>
  <suffix name="AcksReceivedFromFirst10Packets" label="10 packets."/>
  <suffix name="AcksReceivedFromFirst11Packets" label="11 packets."/>
  <suffix name="AcksReceivedFromFirst12Packets" label="12 packets."/>
  <suffix name="AcksReceivedFromFirst13Packets" label="13 packets."/>
  <suffix name="AcksReceivedFromFirst14Packets" label="14 packets."/>
  <suffix name="AcksReceivedFromFirst15Packets" label="15 packets."/>
  <suffix name="AcksReceivedFromFirst16Packets" label="16 packets."/>
  <suffix name="AcksReceivedFromFirst17Packets" label="17 packets."/>
  <suffix name="AcksReceivedFromFirst18Packets" label="18 packets."/>
  <suffix name="AcksReceivedFromFirst19Packets" label="19 packets."/>
  <suffix name="AcksReceivedFromFirst20Packets" label="20 packets."/>
  <suffix name="AcksReceivedFromFirst21Packets" label="21 packets."/>
  <affected-histogram name="NetConnectivity.Sent21"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity2a" separator=".">
  <suffix name="6121.100B" label="100 bytes of data is sent on port 6121."/>
  <suffix name="6121.500B" label="500 bytes of data is sent on port 6121."/>
  <suffix name="6121.1K" label="1K bytes of data is sent on port 6121."/>
  <affected-histogram name="NetConnectivity2.Sent21.AckReceivedForNthPacket"/>
  <affected-histogram name="NetConnectivity2.Sent21.GotAnAck"/>
  <affected-histogram name="NetConnectivity2.Sent21.PacketsSent"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity2b" separator=".">
  <suffix name="AcksReceivedFromFirst2Packets.6121.100B"
      label="2 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst3Packets.6121.100B"
      label="3 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst4Packets.6121.100B"
      label="4 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst5Packets.6121.100B"
      label="5 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst6Packets.6121.100B"
      label="6 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst7Packets.6121.100B"
      label="7 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst8Packets.6121.100B"
      label="8 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst9Packets.6121.100B"
      label="9 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst10Packets.6121.100B"
      label="10 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst11Packets.6121.100B"
      label="11 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst12Packets.6121.100B"
      label="12 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst13Packets.6121.100B"
      label="13 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst14Packets.6121.100B"
      label="14 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst15Packets.6121.100B"
      label="15 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst16Packets.6121.100B"
      label="16 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst17Packets.6121.100B"
      label="17 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst18Packets.6121.100B"
      label="18 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst19Packets.6121.100B"
      label="19 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst20Packets.6121.100B"
      label="20 packets. 100 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst21Packets.6121.100B"
      label="21 packets. 100 bytes of data is sent on port 6121."/>
  <affected-histogram name="NetConnectivity2.Sent21"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity2c" separator=".">
  <suffix name="6121.100B" label="100 bytes of data is sent on port 6121."/>
  <suffix name="6121.100B.NoProxy"
      label="100 bytes of data is sent on port 6121 with no proxy."/>
  <suffix name="6121.500B" label="500 bytes of data is sent on port 6121."/>
  <suffix name="6121.500B.NoProxy"
      label="500 bytes of data is sent on port 6121 with no proxy."/>
  <suffix name="6121.1K" label="1K bytes of data is sent on port 6121."/>
  <suffix name="6121.1K.NoProxy"
      label="1K bytes of data is sent on port 6121 with no proxy."/>
  <affected-histogram name="NetConnectivity2.Send6.PacketsSent"/>
  <affected-histogram name="NetConnectivity2.Send6.SeriesAcked"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity2d" separator=".">
  <suffix name="AcksReceivedFromFirst2Packets.6121.500B"
      label="2 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst3Packets.6121.500B"
      label="3 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst4Packets.6121.500B"
      label="4 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst5Packets.6121.500B"
      label="5 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst6Packets.6121.500B"
      label="6 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst7Packets.6121.500B"
      label="7 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst8Packets.6121.500B"
      label="8 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst9Packets.6121.500B"
      label="9 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst10Packets.6121.500B"
      label="10 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst11Packets.6121.500B"
      label="11 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst12Packets.6121.500B"
      label="12 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst13Packets.6121.500B"
      label="13 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst14Packets.6121.500B"
      label="14 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst15Packets.6121.500B"
      label="15 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst16Packets.6121.500B"
      label="16 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst17Packets.6121.500B"
      label="17 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst18Packets.6121.500B"
      label="18 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst19Packets.6121.500B"
      label="19 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst20Packets.6121.500B"
      label="20 packets. 500 bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst21Packets.6121.500B"
      label="21 packets. 500 bytes of data is sent on port 6121."/>
  <affected-histogram name="NetConnectivity2.Sent21"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity2e" separator=".">
  <suffix name="AcksReceivedFromFirst2Packets.6121.1K"
      label="2 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst3Packets.6121.1K"
      label="3 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst4Packets.6121.1K"
      label="4 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst5Packets.6121.1K"
      label="5 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst6Packets.6121.1K"
      label="6 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst7Packets.6121.1K"
      label="7 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst8Packets.6121.1K"
      label="8 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst9Packets.6121.1K"
      label="9 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst10Packets.6121.1K"
      label="10 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst11Packets.6121.1K"
      label="11 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst12Packets.6121.1K"
      label="12 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst13Packets.6121.1K"
      label="13 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst14Packets.6121.1K"
      label="14 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst15Packets.6121.1K"
      label="15 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst16Packets.6121.1K"
      label="16 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst17Packets.6121.1K"
      label="17 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst18Packets.6121.1K"
      label="18 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst19Packets.6121.1K"
      label="19 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst20Packets.6121.1K"
      label="20 packets. 1K bytes of data is sent on port 6121."/>
  <suffix name="AcksReceivedFromFirst21Packets.6121.1K"
      label="21 packets. 1K bytes of data is sent on port 6121."/>
  <affected-histogram name="NetConnectivity2.Sent21"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity3a" separator=".">
  <suffix name="NonPacedPacket"
      label="In this histogram results are only shown if at least two packets
             were ACKed in the Startup Test. Packets were sent as rapidly as
             possible."/>
  <suffix name="PacedPacket"
      label="In this histogram results are only shown if at least two packets
             were ACKed in the Startup Test. Packets are sent at equal
             intervals. The interval is selected to match the bandwidth
             discovered during the StartPacket test."/>
  <suffix name="StartPacket"
      label="Packets are sent as rapidly as possible, just after successfully
             sending an UMA upload. Each packet was numbered, as was its ACK
             sent back by Google. If no packets (of the 21) were ever ACKed,
             then the port is assumed to be blocked, and no data is recorded
             in this histogram."/>
  <affected-histogram name="NetConnectivity3"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity3aa" separator=".">
  <suffix name="Sent21"
      label="This histogram shows the number of echo responses received from
             the first"/>
  <affected-histogram name="NetConnectivity3.NonPacedPacket"/>
  <affected-histogram name="NetConnectivity3.PacedPacket"/>
  <affected-histogram name="NetConnectivity3.StartPacket"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity3AckReceivedForNthPacket"
    separator=".">
  <suffix name="Sent21.AckReceivedForNthPacket"
      label="Each packet was numbered, as was its ACK sent back by Google.
             This histogram records, for each packet number, how often we
             received an ACK for that packet."/>
  <affected-histogram name="NetConnectivity3.NonPacedPacket"/>
  <affected-histogram name="NetConnectivity3.PacedPacket"/>
  <affected-histogram name="NetConnectivity3.StartPacket"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity3AcksReceivedFromFirst" separator=".">
  <suffix name="AcksReceivedFromFirst02Packets" label="2 packets."/>
  <suffix name="AcksReceivedFromFirst03Packets" label="3 packets."/>
  <suffix name="AcksReceivedFromFirst04Packets" label="4 packets."/>
  <suffix name="AcksReceivedFromFirst05Packets" label="5 packets."/>
  <suffix name="AcksReceivedFromFirst06Packets" label="6 packets."/>
  <suffix name="AcksReceivedFromFirst07Packets" label="7 packets."/>
  <suffix name="AcksReceivedFromFirst08Packets" label="8 packets."/>
  <suffix name="AcksReceivedFromFirst09Packets" label="9 packets."/>
  <suffix name="AcksReceivedFromFirst10Packets" label="10 packets."/>
  <suffix name="AcksReceivedFromFirst11Packets" label="11 packets."/>
  <suffix name="AcksReceivedFromFirst12Packets" label="12 packets."/>
  <suffix name="AcksReceivedFromFirst13Packets" label="13 packets."/>
  <suffix name="AcksReceivedFromFirst14Packets" label="14 packets."/>
  <suffix name="AcksReceivedFromFirst15Packets" label="15 packets."/>
  <suffix name="AcksReceivedFromFirst16Packets" label="16 packets."/>
  <suffix name="AcksReceivedFromFirst17Packets" label="17 packets."/>
  <suffix name="AcksReceivedFromFirst18Packets" label="18 packets."/>
  <suffix name="AcksReceivedFromFirst19Packets" label="19 packets."/>
  <suffix name="AcksReceivedFromFirst20Packets" label="20 packets."/>
  <suffix name="AcksReceivedFromFirst21Packets" label="21 packets."/>
  <affected-histogram name="NetConnectivity3.NonPacedPacket.Sent21"/>
  <affected-histogram name="NetConnectivity3.PacedPacket.Sent21"/>
  <affected-histogram name="NetConnectivity3.StartPacket.Sent21"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity3GotAnAck" separator=".">
  <suffix name="Sent21.GotAnAck"
      label="The histogram shows if we ever got an ACK for a packet in our
             series of 21."/>
  <affected-histogram name="NetConnectivity3.NonPacedPacket"/>
  <affected-histogram name="NetConnectivity3.PacedPacket"/>
  <affected-histogram name="NetConnectivity3.StartPacket"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity3PacketDelay1" separator=".">
  <suffix name="Sent21.443"
      label="This histogram shows the difference between the time when we
             have received 1st byte from the server and the last time when we
             have received data from the server on port 443."/>
  <suffix name="Sent21.6121"
      label="This histogram shows the difference between the time when we
             have received 1st byte from the server and the last time when we
             have received data from the server on port 6121."/>
  <affected-histogram name="NetConnectivity3.NonPacedPacket"/>
  <affected-histogram name="NetConnectivity3.PacedPacket"/>
  <affected-histogram name="NetConnectivity3.StartPacket"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity3PacketDelay2" separator=".">
  <suffix name="443.100B.PacketDelay"
      label="100 bytes of data is sent on port 443."/>
  <suffix name="443.1200B.PacketDelay"
      label="1200 bytes of data is sent on port 443."/>
  <suffix name="443.500B.PacketDelay"
      label="500 bytes of data is sent on port 443."/>
  <suffix name="6121.100B.PacketDelay"
      label="100 bytes of data is sent on port 6121."/>
  <suffix name="6121.1200B.PacketDelay"
      label="1200 bytes of data is sent on port 6121."/>
  <suffix name="6121.500B.PacketDelay"
      label="500 bytes of data is sent on port 6121."/>
  <affected-histogram name="NetConnectivity3.NonPacedPacket.Sent21"/>
  <affected-histogram name="NetConnectivity3.PacedPacket.Sent21"/>
  <affected-histogram name="NetConnectivity3.StartPacket.Sent21"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity3PacketRTT" separator=".">
  <suffix name="Sent21.Success.RTT" label="The histogram shows the RTT for"/>
  <affected-histogram name="NetConnectivity3.NonPacedPacket"/>
  <affected-histogram name="NetConnectivity3.PacedPacket"/>
  <affected-histogram name="NetConnectivity3.StartPacket"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity3Packets" separator=".">
  <suffix name="Packet01" label="1st packet."/>
  <suffix name="Packet02" label="2nd packet."/>
  <suffix name="Packet03" label="3rd packet."/>
  <suffix name="Packet10" label="10th packet."/>
  <suffix name="Packet20" label="20th packet."/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.Success.RTT"/>
  <affected-histogram name="NetConnectivity3.PacedPacket.Sent21.Success.RTT"/>
  <affected-histogram name="NetConnectivity3.StartPacket.Sent21.Success.RTT"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity3PacketsSent" separator=".">
  <suffix name="Sent21.PacketsSent"
      label="This histogram records how many packets (out of 21 attempted)
             were sent to the server via UDP."/>
  <suffix name="Send6.SeriesAcked"
      label="Chrome sends 6 UDP packets in a row to test to see if there is a
             probabalistic dependency in packet loss for consecutive packets.
             We record a bit vector of packets received, where the least
             significant bit is a 1 if the first packet was received, etc.
             For example, if all packets other than packet 2 and 4 are
             responded to, then we'd have a sample (in binary) of 110101B, or
             53."/>
  <affected-histogram name="NetConnectivity3.NonPacedPacket"/>
  <affected-histogram name="NetConnectivity3.PacedPacket"/>
  <affected-histogram name="NetConnectivity3.StartPacket"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity3PacketsSentBytes" separator=".">
  <suffix name="443.100B" label="100 bytes of data is sent on port 443."/>
  <suffix name="443.500B" label="500 bytes of data is sent on port 443."/>
  <suffix name="443.1200B" label="1200 bytes of data is sent on port 443."/>
  <suffix name="6121.100B" label="100 bytes of data is sent on port 6121."/>
  <suffix name="6121.500B" label="500 bytes of data is sent on port 6121."/>
  <suffix name="6121.1200B" label="1200 bytes of data is sent on port 6121."/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AckReceivedForNthPacket"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst02Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst03Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst04Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst05Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst06Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst07Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst08Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst09Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst10Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst11Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst12Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst13Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst14Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst15Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst16Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst17Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst18Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst19Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst20Packets"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.AcksReceivedFromFirst21Packets"/>
  <affected-histogram name="NetConnectivity3.NonPacedPacket.Sent21.GotAnAck"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.PacketsSent"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.Success.RTT.Packet01"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.Success.RTT.Packet02"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.Success.RTT.Packet03"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.Success.RTT.Packet10"/>
  <affected-histogram
      name="NetConnectivity3.NonPacedPacket.Sent21.Success.RTT.Packet20"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AckReceivedForNthPacket"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst02Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst03Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst04Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst05Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst06Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst07Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst08Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst09Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst10Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst11Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst12Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst13Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst14Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst15Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst16Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst17Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst18Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst19Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst20Packets"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.AcksReceivedFromFirst21Packets"/>
  <affected-histogram name="NetConnectivity3.PacedPacket.Sent21.GotAnAck"/>
  <affected-histogram name="NetConnectivity3.PacedPacket.Sent21.PacketsSent"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.Success.RTT.Packet01"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.Success.RTT.Packet02"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.Success.RTT.Packet03"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.Success.RTT.Packet10"/>
  <affected-histogram
      name="NetConnectivity3.PacedPacket.Sent21.Success.RTT.Packet20"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AckReceivedForNthPacket"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst02Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst03Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst04Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst05Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst06Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst07Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst08Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst09Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst10Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst11Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst12Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst13Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst14Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst15Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst16Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst17Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst18Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst19Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst20Packets"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.AcksReceivedFromFirst21Packets"/>
  <affected-histogram name="NetConnectivity3.StartPacket.Sent21.GotAnAck"/>
  <affected-histogram name="NetConnectivity3.StartPacket.Sent21.PacketsSent"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.Success.RTT.Packet01"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.Success.RTT.Packet02"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.Success.RTT.Packet03"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.Success.RTT.Packet10"/>
  <affected-histogram
      name="NetConnectivity3.StartPacket.Sent21.Success.RTT.Packet20"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity3Send6Acked" separator=".">
  <suffix name="443.100B" label="100 bytes of data is sent on port 443."/>
  <suffix name="443.100B.NoProxy"
      label="100 bytes of data is sent on port 443 with no proxy."/>
  <suffix name="443.500B" label="500 bytes of data is sent on port 443."/>
  <suffix name="443.500B.NoProxy"
      label="500 bytes of data is sent on port 443 with no proxy."/>
  <suffix name="443.1200B" label="1200 bytes of data is sent on port 443."/>
  <suffix name="443.1200B.NoProxy"
      label="1200 bytes of data is sent on port 443 with no proxy."/>
  <suffix name="6121.100B" label="100 bytes of data is sent on port 6121."/>
  <suffix name="6121.100B.NoProxy"
      label="100 bytes of data is sent on port 6121 with no proxy."/>
  <suffix name="6121.500B" label="500 bytes of data is sent on port 6121."/>
  <suffix name="6121.500B.NoProxy"
      label="500 bytes of data is sent on port 6121 with no proxy."/>
  <suffix name="6121.1200B" label="1200 bytes of data is sent on port 6121."/>
  <suffix name="6121.1200B.NoProxy"
      label="1200 bytes of data is sent on port 6121 with no proxy."/>
  <affected-histogram name="NetConnectivity3.NonPacedPacket.Send6.SeriesAcked"/>
  <affected-histogram name="NetConnectivity3.PacedPacket.Send6.SeriesAcked"/>
  <affected-histogram name="NetConnectivity3.StartPacket.Send6.PacketsSent"/>
  <affected-histogram name="NetConnectivity3.StartPacket.Send6.SeriesAcked"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity4a" separator=".">
  <suffix name="NATBind.Sent2"
      label="Two packets were sent spreading over a random period, to test if
             the NAT dropped the binding. Afterwords, an extra (short) packet
             was sent with renewed NAT binding to test whether the network
             that was used to deliver the first packet is still connected.
             Results are only shown in this histogram if at least ten packets
             were received in the StartPacket test."/>
  <suffix name="NonPacedPacket"
      label="21 Packets were sent as rapidly as possible. Results are only
             shown in this histogram if at least two packets were received in
             the StartPacket Test."/>
  <suffix name="PacedPacket"
      label="21 Packets were sent at equal intervals, which were selected to
             match the bandwidth discovered during the StartPacket test.
             Results are only shown in this histogram if at least two packets
             were received in the StartPacket Test."/>
  <suffix name="StartPacket"
      label="21 Packets were sent as rapidly as possible, just after the
             client successfully sent a UMA upload. Each packet was numbered
             when it was sent by Google."/>
  <affected-histogram name="NetConnectivity4"/>
  <affected-histogram name="NetConnectivity5"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity4NATBindPacketReceives" separator=".">
  <suffix name="Bind.Failure"
      label="Only when the second packet never arrived (we wait for 10 extra
             seconds) and the first and the extra (short) packets arrived did
             we record the duration in seconds between the sendings of the
             first two packets in this histogram."/>
  <suffix name="Bind.Success"
      label="Only when all three packets including the extra (short) packet
             arrived did we record the duration in seconds between the
             sendings of the first two packets in this histogram."/>
  <suffix name="Connectivity.Failure"
      label="Only when the extra (short) packet (with renewed NAT binding)
             never arrived (we wait for 10 extra seconds) did we record the
             duration in seconds between the sendings of the first two
             packets in this histogram."/>
  <suffix name="Connectivity.Success"
      label="Only when the extra (short) packet arrived did we record the
             duration in seconds between the sendings of the first two
             packets in this histogram."/>
  <suffix name="SendToLastRecvDelay"
      label="This histogram records the time duration (in milliseconds)
             between the client sending the request and the receiving of the
             second packet sent from the server, excluding the idle time
             between sendings of the first two packets. Results are only
             shown if the first two packets are both received."/>
  <affected-histogram name="NetConnectivity4.NATBind.Sent2"/>
  <affected-histogram name="NetConnectivity5.NATBind.Sent2"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity4PacketFirst6" separator=".">
  <suffix name="First6.SeriesRecv"
      label="This histogram records a bit vector of the first 6 packets sent,
             where the least significant bit is a 1 if the first packet was
             received, etc. For example, if all packets other than packet 2
             and 4 are received, then we'd have a sample (in binary) of
             110101B, or 53."/>
  <suffix name="Sent21"
      label="This histogram shows the number of packets received from the
             first"/>
  <affected-histogram name="NetConnectivity4.NonPacedPacket"/>
  <affected-histogram name="NetConnectivity4.PacedPacket"/>
  <affected-histogram name="NetConnectivity4.StartPacket"/>
  <affected-histogram name="NetConnectivity5.NonPacedPacket"/>
  <affected-histogram name="NetConnectivity5.PacedPacket"/>
  <affected-histogram name="NetConnectivity5.StartPacket"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity4PacketReceives" separator=".">
  <suffix name="NumRecvFromFirst01Packets" label="1 packet."/>
  <suffix name="NumRecvFromFirst02Packets" label="2 packets."/>
  <suffix name="NumRecvFromFirst03Packets" label="3 packets."/>
  <suffix name="NumRecvFromFirst04Packets" label="4 packets."/>
  <suffix name="NumRecvFromFirst05Packets" label="5 packets."/>
  <suffix name="NumRecvFromFirst06Packets" label="6 packets."/>
  <suffix name="NumRecvFromFirst07Packets" label="7 packets."/>
  <suffix name="NumRecvFromFirst08Packets" label="8 packets."/>
  <suffix name="NumRecvFromFirst09Packets" label="9 packets."/>
  <suffix name="NumRecvFromFirst10Packets" label="10 packets."/>
  <suffix name="NumRecvFromFirst11Packets" label="11 packets."/>
  <suffix name="NumRecvFromFirst12Packets" label="12 packets."/>
  <suffix name="NumRecvFromFirst13Packets" label="13 packets."/>
  <suffix name="NumRecvFromFirst14Packets" label="14 packets."/>
  <suffix name="NumRecvFromFirst15Packets" label="15 packets."/>
  <suffix name="NumRecvFromFirst16Packets" label="16 packets."/>
  <suffix name="NumRecvFromFirst17Packets" label="17 packets."/>
  <suffix name="NumRecvFromFirst18Packets" label="18 packets."/>
  <suffix name="NumRecvFromFirst19Packets" label="19 packets."/>
  <suffix name="NumRecvFromFirst20Packets" label="20 packets."/>
  <suffix name="NumRecvFromFirst21Packets" label="21 packets."/>
  <affected-histogram name="NetConnectivity4.NonPacedPacket.Sent21"/>
  <affected-histogram name="NetConnectivity4.PacedPacket.Sent21"/>
  <affected-histogram name="NetConnectivity4.StartPacket.Sent21"/>
  <affected-histogram name="NetConnectivity5.NonPacedPacket.Sent21"/>
  <affected-histogram name="NetConnectivity5.PacedPacket.Sent21"/>
  <affected-histogram name="NetConnectivity5.StartPacket.Sent21"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity4PacketRTT" separator=".">
  <suffix name="Sent21.GotAPacket"
      label="The histogram shows if we ever got at least one packet in our
             series of 21."/>
  <suffix name="Sent21.PacketDelay"
      label="The histogram shows the average inter-arrival time between every
             two consecutive packets we receive in our series of 21
             multiplied by 20 (so this is essentially the time duration
             between the first and the last received packets)."/>
  <suffix name="Sent21.PacketsRecv"
      label="The histogram shows how many packets we receive in our series of
             21."/>
  <suffix name="Sent21.RecvNthPacket"
      label="Each packet was numbered when it was sent by Google. This
             histogram records, for each packet number, how often we received
             that packet."/>
  <suffix name="Sent21.SendToLastRecvDelay"
      label="This histogram records the time duration between the client
             sending the request and the receiving of the last packet sent
             from the server, excluding the total pacing time requested by
             the client. Results are only shown if at least two packets are
             received."/>
  <suffix name="Sent21.Success.RTT"
      label="The histogram shows the RTT for the"/>
  <affected-histogram name="NetConnectivity4.NonPacedPacket"/>
  <affected-histogram name="NetConnectivity4.PacedPacket"/>
  <affected-histogram name="NetConnectivity4.StartPacket"/>
  <affected-histogram name="NetConnectivity5.NonPacedPacket"/>
  <affected-histogram name="NetConnectivity5.PacedPacket"/>
  <affected-histogram name="NetConnectivity5.StartPacket"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity4PacketRTTSeries" separator=".">
  <suffix name="Packet01" label="1st packet."/>
  <suffix name="Packet02" label="2nd packet."/>
  <suffix name="Packet03" label="3rd packet."/>
  <suffix name="Packet10" label="10th packet."/>
  <suffix name="Packet20" label="20th packet."/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.Success.RTT"/>
  <affected-histogram name="NetConnectivity4.PacedPacket.Sent21.Success.RTT"/>
  <affected-histogram name="NetConnectivity4.StartPacket.Sent21.Success.RTT"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.Success.RTT"/>
  <affected-histogram name="NetConnectivity5.PacedPacket.Sent21.Success.RTT"/>
  <affected-histogram name="NetConnectivity5.StartPacket.Sent21.Success.RTT"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity4PacketsAll" separator=".">
  <suffix name="443.100B" label="100 bytes of data is sent on port 443."/>
  <suffix name="443.1200B" label="1200 bytes of data is sent on port 443."/>
  <suffix name="443.500B" label="500 bytes of data is sent on port 443."/>
  <suffix name="80.100B" label="100 bytes of data is sent on port 80."/>
  <suffix name="80.1200B" label="1200 bytes of data is sent on port 80."/>
  <suffix name="80.500B" label="500 bytes of data is sent on port 80."/>
  <affected-histogram name="NetConnectivity4.NATBind.Sent2.Bind.Failure"/>
  <affected-histogram name="NetConnectivity4.NATBind.Sent2.Bind.Success"/>
  <affected-histogram
      name="NetConnectivity4.NATBind.Sent2.Connectivity.Failure"/>
  <affected-histogram
      name="NetConnectivity4.NATBind.Sent2.Connectivity.Success"/>
  <affected-histogram
      name="NetConnectivity4.NATBind.Sent2.SendToLastRecvDelay"/>
  <affected-histogram name="NetConnectivity4.NonPacedPacket.Sent21.GotAPacket"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst01Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst02Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst03Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst04Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst05Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst06Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst07Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst08Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst09Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst10Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst11Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst12Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst13Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst14Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst15Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst16Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst17Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst18Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst19Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst20Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.NumRecvFromFirst21Packets"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.PacketDelay"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.PacketsRecv"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.RecvNthPacket"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.SendToLastRecvDelay"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.Success.RTT.Packet01"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.Success.RTT.Packet02"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.Success.RTT.Packet03"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.Success.RTT.Packet10"/>
  <affected-histogram
      name="NetConnectivity4.NonPacedPacket.Sent21.Success.RTT.Packet20"/>
  <affected-histogram name="NetConnectivity4.PacedPacket.Sent21.GotAPacket"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst01Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst02Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst03Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst04Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst05Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst06Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst07Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst08Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst09Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst10Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst11Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst12Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst13Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst14Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst15Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst16Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst17Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst18Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst19Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst20Packets"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.NumRecvFromFirst21Packets"/>
  <affected-histogram name="NetConnectivity4.PacedPacket.Sent21.PacketDelay"/>
  <affected-histogram name="NetConnectivity4.PacedPacket.Sent21.PacketsRecv"/>
  <affected-histogram name="NetConnectivity4.PacedPacket.Sent21.RecvNthPacket"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.SendToLastRecvDelay"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.Success.RTT.Packet01"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.Success.RTT.Packet02"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.Success.RTT.Packet03"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.Success.RTT.Packet10"/>
  <affected-histogram
      name="NetConnectivity4.PacedPacket.Sent21.Success.RTT.Packet20"/>
  <affected-histogram name="NetConnectivity4.StartPacket.Sent21.GotAPacket"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst01Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst02Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst03Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst04Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst05Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst06Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst07Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst08Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst09Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst10Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst11Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst12Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst13Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst14Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst15Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst16Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst17Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst18Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst19Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst20Packets"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.NumRecvFromFirst21Packets"/>
  <affected-histogram name="NetConnectivity4.StartPacket.Sent21.PacketDelay"/>
  <affected-histogram name="NetConnectivity4.StartPacket.Sent21.PacketsRecv"/>
  <affected-histogram name="NetConnectivity4.StartPacket.Sent21.RecvNthPacket"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.SendToLastRecvDelay"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.Success.RTT.Packet01"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.Success.RTT.Packet02"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.Success.RTT.Packet03"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.Success.RTT.Packet10"/>
  <affected-histogram
      name="NetConnectivity4.StartPacket.Sent21.Success.RTT.Packet20"/>
  <affected-histogram name="NetConnectivity5.NATBind.Sent2.Bind.Failure"/>
  <affected-histogram name="NetConnectivity5.NATBind.Sent2.Bind.Success"/>
  <affected-histogram
      name="NetConnectivity5.NATBind.Sent2.Connectivity.Failure"/>
  <affected-histogram
      name="NetConnectivity5.NATBind.Sent2.Connectivity.Success"/>
  <affected-histogram
      name="NetConnectivity5.NATBind.Sent2.SendToLastRecvDelay"/>
  <affected-histogram name="NetConnectivity5.NonPacedPacket.Sent21.GotAPacket"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst01Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst02Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst03Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst04Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst05Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst06Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst07Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst08Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst09Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst10Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst11Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst12Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst13Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst14Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst15Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst16Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst17Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst18Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst19Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst20Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.NumRecvFromFirst21Packets"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.PacketDelay"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.PacketsRecv"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.RecvNthPacket"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.SendToLastRecvDelay"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.Success.RTT.Packet01"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.Success.RTT.Packet02"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.Success.RTT.Packet03"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.Success.RTT.Packet10"/>
  <affected-histogram
      name="NetConnectivity5.NonPacedPacket.Sent21.Success.RTT.Packet20"/>
  <affected-histogram name="NetConnectivity5.PacedPacket.Sent21.GotAPacket"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst01Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst02Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst03Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst04Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst05Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst06Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst07Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst08Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst09Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst10Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst11Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst12Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst13Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst14Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst15Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst16Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst17Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst18Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst19Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst20Packets"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.NumRecvFromFirst21Packets"/>
  <affected-histogram name="NetConnectivity5.PacedPacket.Sent21.PacketDelay"/>
  <affected-histogram name="NetConnectivity5.PacedPacket.Sent21.PacketsRecv"/>
  <affected-histogram name="NetConnectivity5.PacedPacket.Sent21.RecvNthPacket"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.SendToLastRecvDelay"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.Success.RTT.Packet01"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.Success.RTT.Packet02"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.Success.RTT.Packet03"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.Success.RTT.Packet10"/>
  <affected-histogram
      name="NetConnectivity5.PacedPacket.Sent21.Success.RTT.Packet20"/>
  <affected-histogram name="NetConnectivity5.StartPacket.Sent21.GotAPacket"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst01Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst02Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst03Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst04Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst05Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst06Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst07Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst08Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst09Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst10Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst11Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst12Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst13Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst14Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst15Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst16Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst17Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst18Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst19Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst20Packets"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.NumRecvFromFirst21Packets"/>
  <affected-histogram name="NetConnectivity5.StartPacket.Sent21.PacketDelay"/>
  <affected-histogram name="NetConnectivity5.StartPacket.Sent21.PacketsRecv"/>
  <affected-histogram name="NetConnectivity5.StartPacket.Sent21.RecvNthPacket"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.SendToLastRecvDelay"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.Success.RTT.Packet01"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.Success.RTT.Packet02"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.Success.RTT.Packet03"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.Success.RTT.Packet10"/>
  <affected-histogram
      name="NetConnectivity5.StartPacket.Sent21.Success.RTT.Packet20"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity4PacketSizeTest" separator=".">
  <suffix name="PacketSizeTest.Connectivity.Failure"
      label="This histogram records the size of the packet size that was not
             received from the server."/>
  <suffix name="PacketSizeTest.Connectivity.Success"
      label="This histogram records the size of the packet size that was
             received from the server."/>
  <affected-histogram name="NetConnectivity4"/>
  <affected-histogram name="NetConnectivity5"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity4PacketSizeTestPort" separator=".">
  <suffix name="443" label="Packet is sent on port 443."/>
  <suffix name="80" label="Packet is sent on port 80."/>
  <affected-histogram
      name="NetConnectivity4.PacketSizeTest.Connectivity.Failure"/>
  <affected-histogram
      name="NetConnectivity4.PacketSizeTest.Connectivity.Success"/>
  <affected-histogram
      name="NetConnectivity5.PacketSizeTest.Connectivity.Failure"/>
  <affected-histogram
      name="NetConnectivity5.PacketSizeTest.Connectivity.Success"/>
</histogram_suffixes>

<histogram_suffixes name="NetConnectivity4SeriesRecv" separator=".">
  <suffix name="443.100B" label="100 bytes of data is sent on port 443."/>
  <suffix name="443.100B.NoProxy"
      label="100 bytes of data is sent on port 443 with no proxy."/>
  <suffix name="443.1200B" label="1200 bytes of data is sent on port 443."/>
  <suffix name="443.1200B.NoProxy"
      label="1200 bytes of data is sent on port 443 with no proxy."/>
  <suffix name="443.500B" label="500 bytes of data is sent on port 443."/>
  <suffix name="443.500B.NoProxy"
      label="500 bytes of data is sent on port 443 with no proxy."/>
  <suffix name="80.100B" label="100 bytes of data is sent on port 80."/>
  <suffix name="80.100B.NoProxy"
      label="100 bytes of data is sent on port 80 with no proxy."/>
  <suffix name="80.1200B" label="1200 bytes of data is sent on port 80."/>
  <suffix name="80.1200B.NoProxy"
      label="1200 bytes of data is sent on port 80 with no proxy."/>
  <suffix name="80.500B" label="500 bytes of data is sent on port 80."/>
  <suffix name="80.500B.NoProxy"
      label="500 bytes of data is sent on port 80 with no proxy."/>
  <affected-histogram name="NetConnectivity4.NonPacedPacket.First6.SeriesRecv"/>
  <affected-histogram name="NetConnectivity4.PacedPacket.First6.SeriesRecv"/>
  <affected-histogram name="NetConnectivity4.StartPacket.First6.SeriesRecv"/>
  <affected-histogram name="NetConnectivity5.NonPacedPacket.First6.SeriesRecv"/>
  <affected-histogram name="NetConnectivity5.PacedPacket.First6.SeriesRecv"/>
  <affected-histogram name="NetConnectivity5.StartPacket.First6.SeriesRecv"/>
</histogram_suffixes>

<histogram_suffixes name="NetErrorCodeSubtype" separator="." ordering="prefix">
  <owner>csharrison@chromium.org</owner>
  <suffix name="NTP.Google" label="The Google web NTP"/>
  <suffix name="NTP.ThirdParty"
      label="The NTP served by a third party (e.g. Bing)"/>
  <suffix name="NTP.Local" label="The local NTP"/>
  <affected-histogram name="Net.RequestTime2.ErrAborted"/>
  <affected-histogram name="Net.RequestTime2.Success"/>
</histogram_suffixes>

<histogram_suffixes name="NetHttpContentLengthType" separator=".">
  <suffix name="Http"/>
  <suffix name="Https"/>
  <suffix name="Video"/>
  <affected-histogram name="Net.HttpContentLength"/>
</histogram_suffixes>

<histogram_suffixes name="NetHttpProxyConnectLatencySecure" separator=".">
  <owner>tbansal@chromium.org</owner>
  <suffix name="Insecure" label="Insecure proxy"/>
  <suffix name="Secure" label="Secure proxy"/>
  <affected-histogram name="Net.HttpProxy.ConnectLatency"/>
</histogram_suffixes>

<histogram_suffixes name="NetHttpProxyConnectLatencySuccess" separator=".">
  <owner>tbansal@chromium.org</owner>
  <suffix name="Error" label="Connection to proxy resulted in an error"/>
  <suffix name="Success" label="Connection to proxy was successful"/>
  <suffix name="TimedOut" label="Connection to proxy timed out"/>
  <affected-histogram name="Net.HttpProxy.ConnectLatency.Insecure"/>
  <affected-histogram name="Net.HttpProxy.ConnectLatency.Secure"/>
</histogram_suffixes>

<histogram_suffixes name="NetProxyResolverExecutionTime">
  <suffix name="UrlOver2K" label="URL length was over 2K"/>
  <suffix name="UrlOver4K" label="URL length was over 4K"/>
  <suffix name="UrlOver8K" label="URL length was over 8K"/>
  <suffix name="UrlOver128K" label="URL length was over 128K"/>
  <affected-histogram name="Net.ProxyResolver.ExecutionTime"/>
</histogram_suffixes>

<histogram_suffixes name="NetQuicDiskCacheBackend" separator=".">
  <owner>rtenneti@chromium.org</owner>
  <suffix name="NoBackend" label="DiskCache didn't have a backend"/>
  <suffix name="DiskCache" label="DiskCache backend is using disk cache."/>
  <suffix name="MemoryCache" label="DiskCache backend is using memory cache."/>
  <suffix name="PropertiesBasedCache" label="Preferences based cache is used."/>
  <suffix name="WaitForDataReady"
      label="Tracks the last failure reason until WaitForDataReady or its
             callback is executed. This is recorded when data is ready in
             WaitForDataReady or when the callback is executed"/>
  <affected-histogram name="Net.QuicDiskCache.APICall"/>
  <affected-histogram name="Net.QuicDiskCache.FailureReason"/>
</histogram_suffixes>

<histogram_suffixes name="NetRequestTime" separator=".">
  <suffix name="ErrAborted" label="Request aborted"/>
  <suffix name="ErrConnectionReset" label="Connection reset"/>
  <suffix name="ErrConnectionTimedOut" label="Request connection timed out"/>
  <suffix name="ErrInternetDisconnected" label="Internet disconnected"/>
  <suffix name="ErrNameNotResolved" label="Request domain not resolved"/>
  <suffix name="ErrTimedOut" label="Request timed out"/>
  <suffix name="MiscError" label="Uncategorized error"/>
  <suffix name="Success" label="Success"/>
  <affected-histogram name="Net.RequestTime"/>
  <affected-histogram name="Net.RequestTime2"/>
</histogram_suffixes>

<histogram_suffixes name="NetworkErrors" separator=".">
  <suffix name="AuthExtTimeout" label="with the last error AuthExtTimeout"/>
  <suffix name="Offline" label="with the last error Offline"/>
  <suffix name="Portal" label="with the last error Portal"/>
  <suffix name="Proxy" label="with the last error Proxy"/>
  <affected-histogram name="OOBE.ErrorScreensTime.Enrollment"/>
  <affected-histogram name="OOBE.ErrorScreensTime.Signin"/>
  <affected-histogram name="OOBE.ErrorScreensTime.Supervised"/>
  <affected-histogram name="OOBE.ErrorScreensTime.Update"/>
</histogram_suffixes>

<histogram_suffixes name="NewTabPageIconTypes" separator=".">
  <suffix name="IconsColor"
      label="Icons using a fallback color (favicon resolution too low)."/>
  <suffix name="IconsGray"
      label="Icons using a gray color (no favicon available)."/>
  <suffix name="IconsReal"
      label="Icons using an actual icon published by the site."/>
  <affected-histogram name="NewTabPage.MostVisited"/>
  <affected-histogram name="NewTabPage.SuggestionsImpression"/>
</histogram_suffixes>

<histogram_suffixes name="NewTabPageProviders" separator=".">
  <suffix name="client" label="Suggestions coming from the client."/>
  <suffix name="server" label="Suggestions coming from the server."/>
  <suffix name="popular" label="Non-personalized, popular suggestions."/>
  <suffix name="whitelist"
      label="Installed whitelist entry point suggestions."/>
  <suffix name="client0">
    <obsolete>
      Hasn't been used for a while, as of 2016-07.
    </obsolete>
  </suffix>
  <suffix name="server0">
    <obsolete>
      Hasn't been used for a while, as of 2016-07.
    </obsolete>
  </suffix>
  <suffix name="server8">
    <obsolete>
      Not used anymore as of 2016-07.
    </obsolete>
  </suffix>
  <suffix name="server9">
    <obsolete>
      Has never been used.
    </obsolete>
  </suffix>
  <suffix name="server10">
    <obsolete>
      Has never been used.
    </obsolete>
  </suffix>
  <suffix name="server11">
    <obsolete>
      Has never been used.
    </obsolete>
  </suffix>
  <affected-histogram name="NewTabPage.MostVisited"/>
  <affected-histogram name="NewTabPage.SuggestionsImpression"/>
  <affected-histogram name="NewTabPage.TileType"/>
  <affected-histogram name="NewTabPage.TileTypeClicked"/>
</histogram_suffixes>

<histogram_suffixes name="NewTabPageTimings" separator=".">
  <suffix name="MostLikely" label="Loaded server-side suggestions."/>
  <suffix name="MostVisited" label="Loaded client-side suggestions."/>
  <suffix name="LocalNTP" label="Loaded local NTP"/>
  <suffix name="Web" label="Loaded server-side NTP"/>
  <suffix name="Startup" label="NTP loaded during browser startup."/>
  <suffix name="NewTab" label="NTP loaded on a new tab."/>
  <affected-histogram name="NewTabPage.LoadTime"/>
  <affected-histogram name="NewTabPage.TilesReceivedTime"/>
</histogram_suffixes>

<histogram_suffixes name="NextTabState">
  <suffix name="Active"
      label="For a tab active which is shown foreground in a browser window."/>
  <suffix name="Inactive"
      label="For tabs in background and not shown to user."/>
  <suffix name="Detached"
      label="For a tab that is being dragged by user to outside of the
             browser window."/>
  <suffix name="Closed" label="For a tab that is about to be closed."/>
  <affected-histogram name="Tabs.StateTransfer.Time_Active"/>
  <affected-histogram name="Tabs.StateTransfer.Time_Detached"/>
  <affected-histogram name="Tabs.StateTransfer.Time_Inactive"/>
</histogram_suffixes>

<histogram_suffixes name="NotificationDisplayExperiment">
  <suffix name="Fullscreen.Shown"
      label="A notification sent by a fullscreen app or webpage that is
             displayed."/>
  <suffix name="Fullscreen.Suppressed"
      label="A notification sent by a fullscreen app or webpage that is not
             displayed."/>
  <suffix name="Windowed"
      label="A notification sent by a non-fullscreen app or webpage."/>
  <affected-histogram name="Notifications.Display"/>
</histogram_suffixes>

<histogram_suffixes name="NotificationImageTypes" separator=".">
  <suffix name="ActionIcon"/>
  <suffix name="Badge"/>
  <suffix name="Icon"/>
  <suffix name="Image"/>
  <affected-histogram name="Notifications.LoadFailTime"/>
  <affected-histogram name="Notifications.LoadFileSize"/>
  <affected-histogram name="Notifications.LoadFinishTime"/>
  <affected-histogram name="Notifications.LoadScaleDownTime"/>
</histogram_suffixes>

<histogram_suffixes name="NQE.Accuracy.Metric.Accuracy.DiffPositiveOrNegative"
    separator=".">
  <suffix name="Negative"
      label="Estimate of the metric was lower than observed metric"/>
  <suffix name="Positive"
      label="Estimate of the metric was higher than observed metric"/>
  <affected-histogram
      name="NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff"/>
  <affected-histogram
      name="NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff"/>
  <affected-histogram name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff"/>
  <affected-histogram name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff"/>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff"/>
  <affected-histogram
      name="NQE.UnweightedAverage.Accuracy.HttpRTT.EstimatedObservedDiff"/>
  <affected-histogram
      name="NQE.WeightedAverage.Accuracy.HttpRTT.EstimatedObservedDiff"/>
</histogram_suffixes>

<histogram_suffixes name="NQE.Accuracy.Metric.AccuracyRecordingIntervals"
    separator=".">
  <suffix name="15"
      label="Recorded approximately 15 seconds after navigation start"/>
  <suffix name="30"
      label="Recorded approximately 30 seconds after navigation start">
    <obsolete>
      Deprecated as of 01/2017.
    </obsolete>
  </suffix>
  <suffix name="60"
      label="Recorded approximately 60 seconds after navigation start">
    <obsolete>
      Deprecated as of 01/2017.
    </obsolete>
  </suffix>
  <affected-histogram
      name="NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff.Negative"/>
  <affected-histogram
      name="NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff.Positive"/>
  <affected-histogram
      name="NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff.Negative"/>
  <affected-histogram
      name="NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff.Positive"/>
  <affected-histogram
      name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff.Negative"/>
  <affected-histogram
      name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff.Positive"/>
  <affected-histogram
      name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff.Negative"/>
  <affected-histogram
      name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff.Positive"/>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff.Negative"/>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff.Positive"/>
  <affected-histogram
      name="NQE.UnweightedAverage.Accuracy.HttpRTT.EstimatedObservedDiff.Negative"/>
  <affected-histogram
      name="NQE.UnweightedAverage.Accuracy.HttpRTT.EstimatedObservedDiff.Positive"/>
  <affected-histogram
      name="NQE.WeightedAverage.Accuracy.HttpRTT.EstimatedObservedDiff.Negative"/>
  <affected-histogram
      name="NQE.WeightedAverage.Accuracy.HttpRTT.EstimatedObservedDiff.Positive"/>
</histogram_suffixes>

<histogram_suffixes
    name="NQE.Accuracy.Metric.EffectiveConnectionType.ObservedIntervals"
    separator=".">
  <suffix name="Unknown"
      label="Observed effective connection type was Unknown"/>
  <suffix name="Offline"
      label="Observed effective connection type was Offline"/>
  <suffix name="Slow2G" label="Observed effective connection type was Slow2G"/>
  <suffix name="2G" label="Observed effective connection type was 2G"/>
  <suffix name="3G" label="Observed effective connection type was 3G"/>
  <suffix name="4G" label="Observed effective connection type was 4G"/>
  <suffix name="Broadband"
      label="Observed effective connection type was Broadband"/>
  <affected-histogram
      name="NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff.Negative.15"/>
  <affected-histogram
      name="NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff.Negative.30">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff.Negative.60">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff.Positive.15"/>
  <affected-histogram
      name="NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff.Positive.30">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff.Positive.60">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
</histogram_suffixes>

<histogram_suffixes name="NQE.Accuracy.RTT.ObservedIntervals" separator=".">
  <suffix name="0_20"
      label="Observed metric was between 0 and 20 (inclusive) units"/>
  <suffix name="20_60"
      label="Observed metric was between 20 and 60 (inclusive) units"/>
  <suffix name="60_140"
      label="Observed metric was between 60 and 140 (inclusive) units"/>
  <suffix name="140_300"
      label="Observed metric was between 140 and 300 (inclusive) units"/>
  <suffix name="300_620"
      label="Observed metric was between 300 and 620 (inclusive) units"/>
  <suffix name="620_1260"
      label="Observed metric was between 620 and 1260 (inclusive) units"/>
  <suffix name="1260_2540"
      label="Observed metric was between 1260 and 2540 (inclusive) units"/>
  <suffix name="2540_5100"
      label="Observed metric was between 2540 and 51000 (inclusive) units"/>
  <suffix name="5100_Infinity"
      label="Observed metric was greater than 5100 (inclusive) units"/>
  <affected-histogram
      name="NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff.Negative.15"/>
  <affected-histogram
      name="NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff.Negative.30">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff.Negative.60">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff.Positive.15"/>
  <affected-histogram
      name="NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff.Positive.30">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff.Positive.60">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff.Negative.15"/>
  <affected-histogram
      name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff.Negative.30">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff.Negative.60">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff.Positive.15"/>
  <affected-histogram
      name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff.Positive.30">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.Accuracy.HttpRTT.EstimatedObservedDiff.Positive.60">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff.Negative.15"/>
  <affected-histogram
      name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff.Negative.30">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff.Negative.60">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff.Positive.15"/>
  <affected-histogram
      name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff.Positive.30">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.Accuracy.TransportRTT.EstimatedObservedDiff.Positive.60">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff.Negative.15"/>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff.Negative.30">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff.Negative.60">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff.Positive.15"/>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff.Positive.30">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff.Positive.60">
    <obsolete>
      Deprecated 01/2017.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="NQE.UnweightedAverage.Accuracy.HttpRTT.EstimatedObservedDiff.Negative.15"/>
  <affected-histogram
      name="NQE.UnweightedAverage.Accuracy.HttpRTT.EstimatedObservedDiff.Positive.15"/>
  <affected-histogram
      name="NQE.WeightedAverage.Accuracy.HttpRTT.EstimatedObservedDiff.Negative.15"/>
  <affected-histogram
      name="NQE.WeightedAverage.Accuracy.HttpRTT.EstimatedObservedDiff.Positive.15"/>
</histogram_suffixes>

<histogram_suffixes name="NQE.DifferentPercentiles" separator=".">
  <suffix name="Percentile0" label="0th percentile"/>
  <suffix name="Percentile10" label="10th percentile"/>
  <suffix name="Percentile50" label="50th percentile"/>
  <suffix name="Percentile90" label="90th percentile"/>
  <suffix name="Percentile100" label="100th percentile"/>
  <affected-histogram name="NQE.RTT"/>
  <affected-histogram name="NQE.TransportRTT"/>
</histogram_suffixes>

<histogram_suffixes name="NQE.DifferentPercentiles" separator=".">
  <suffix name="Percentile50" label="50th percentile"/>
  <affected-histogram name="NQE.MainFrame.Kbps"/>
  <affected-histogram name="NQE.MainFrame.RTT"/>
  <affected-histogram name="NQE.MainFrame.TransportRTT"/>
</histogram_suffixes>

<histogram_suffixes name="NQE.EstimateAvailable.MainFrame.Histograms"
    separator=".">
  <suffix name="Kbps"
      label="Records availability of the downstream throughput estimate."/>
  <suffix name="RTT" label="Records availability of the HTTP RTT estimate."/>
  <suffix name="TransportRTT"
      label="Records availability of the transport RTT estimate."/>
  <affected-histogram name="NQE.EstimateAvailable.MainFrame"/>
</histogram_suffixes>

<histogram_suffixes name="NQE.NetworkTypes" separator=".">
  <suffix name="Unknown" label="On Unknown network"/>
  <suffix name="Ethernet" label="On Ethernet network"/>
  <suffix name="WiFi" label="On WiFi network"/>
  <suffix name="2G" label="On 2G network"/>
  <suffix name="3G" label="On 3G Network"/>
  <suffix name="4G" label="On 4G network"/>
  <suffix name="None" label="With no detected network"/>
  <suffix name="Bluetooth" label="On Bluetooth network"/>
  <affected-histogram name="NQE.FastestRTT"/>
  <affected-histogram name="NQE.MainFrame.EffectiveConnectionType"/>
  <affected-histogram name="NQE.MainFrame.Kbps.Percentile50"/>
  <affected-histogram name="NQE.MainFrame.RTT.Percentile50"/>
  <affected-histogram name="NQE.MainFrame.TransportRTT.Percentile50"/>
  <affected-histogram name="NQE.PeakKbps"/>
  <affected-histogram name="NQE.RTT.Percentile0"/>
  <affected-histogram name="NQE.RTT.Percentile10"/>
  <affected-histogram name="NQE.RTT.Percentile100"/>
  <affected-histogram name="NQE.RTT.Percentile50"/>
  <affected-histogram name="NQE.RTT.Percentile90"/>
  <affected-histogram name="NQE.TransportRTT.Percentile0"/>
  <affected-histogram name="NQE.TransportRTT.Percentile10"/>
  <affected-histogram name="NQE.TransportRTT.Percentile100"/>
  <affected-histogram name="NQE.TransportRTT.Percentile50"/>
  <affected-histogram name="NQE.TransportRTT.Percentile90"/>
</histogram_suffixes>

<histogram_suffixes name="NumLayersBucket" separator=".">
  <suffix name="0" label="Layer count bucket [0, 10)"/>
  <suffix name="1" label="Layer count bucket [10, 30)"/>
  <suffix name="2" label="Layer count bucket [30, 70)"/>
  <suffix name="3" label="Layer count bucket [70, 150)"/>
  <suffix name="4" label="Layer count bucket [150, infinity)"/>
  <affected-histogram name="Compositing.Browser.LayersUpdateTime"/>
  <affected-histogram name="Compositing.Renderer.LayersUpdateTime"/>
</histogram_suffixes>

<histogram_suffixes name="OffDomainInclusionAbortReason" separator=".">
  <obsolete>
    Deprecated 2016-05 as the OffDomainInclusionDetector was removed.
  </obsolete>
  <suffix name="EmptyMainFrameURL" label="The main frame URL was empty."/>
  <suffix name="HistoryLookupFailed"
      label="The lookup to the HistoryService failed."/>
  <suffix name="Incognito"
      label="The profile associated with the frame under analysis is an
             incognito profile."/>
  <suffix name="NoHistoryService"
      label="There was no HistoryService associated with the profile of the
             frame under analysis (this can happen seldomly on startup for
             early net requests, or on shutdown by the asynchronous nature of
             the analysis, but shouldn't be common)."/>
  <suffix name="NoProfile"
      label="The profile associated with the frame under analysis couldn't be
             resolved (expected to happen at a low frequency by the
             asynchronous nature of the analysis)."/>
  <affected-histogram name="SBOffDomainInclusion.Abort"/>
  <affected-histogram name="SBOffDomainInclusion2.Abort"/>
</histogram_suffixes>

<histogram_suffixes name="OfflinePagesNamespace" separator=".">
  <affected-histogram
      name="OfflinePages.Background.BackgroundLoadingFailedCode"/>
  <suffix name="bookmark" label="Offline bookmark cache"/>
  <suffix name="last_n" label="Offline recent pages"/>
  <suffix name="async_loading" label="Offline async loaded pages"/>
  <suffix name="custom_tabs" label="Offline custom tabs"/>
  <suffix name="download" label="Offline downloaded pages"/>
  <suffix name="ntp_suggestions" label="Offline ntp suggestions"/>
  <affected-histogram
      name="OfflinePages.Background.EffectiveConnectionType.SavePageLater"/>
  <affected-histogram name="OfflinePages.Background.FinalSavePageResult"/>
  <affected-histogram name="OfflinePages.Background.OfflinerRequestStatus"/>
  <affected-histogram name="OfflinePages.Background.TimeToCanceled"/>
  <affected-histogram name="OfflinePages.Background.TimeToSaved"/>
  <affected-histogram name="OfflinePages.Background.TimeToStart"/>
  <affected-histogram name="OfflinePages.Background.TimeToStart.Svelte"/>
  <affected-histogram name="OfflinePages.DeletePage.AccessCount"/>
  <affected-histogram name="OfflinePages.DeletePage.LastOpenToCreated"/>
  <affected-histogram name="OfflinePages.DeletePage.PageSize"/>
  <affected-histogram name="OfflinePages.DeletePage.TimeSinceLastOpen"/>
  <affected-histogram name="OfflinePages.ExpirePage.PageLifetime"/>
  <affected-histogram name="OfflinePages.ExpirePage.TimeSinceLastAccess"/>
  <affected-histogram name="OfflinePages.FirstOpenSinceCreated"/>
  <affected-histogram name="OfflinePages.OpenSinceLastOpen"/>
  <affected-histogram name="OfflinePages.PageLifetime"/>
  <affected-histogram name="OfflinePages.PageSize"/>
  <affected-histogram name="OfflinePages.SavePageResult"/>
  <affected-histogram name="OfflinePages.SavePageTime"/>
</histogram_suffixes>

<histogram_suffixes name="OmniboxProviderTime" separator=".">
  <suffix name="Bookmark"/>
  <suffix name="Builtin"/>
  <suffix name="Contact"/>
  <suffix name="ExtensionApp"/>
  <suffix name="HistoryContents"/>
  <suffix name="HistoryQuick"/>
  <suffix name="HistoryURL"/>
  <suffix name="Keyword"/>
  <suffix name="Search"/>
  <suffix name="Shortcuts"/>
  <suffix name="ZeroSuggest"/>
  <affected-histogram name="Omnibox.ProviderTime"/>
  <affected-histogram name="Omnibox.ProviderTime2"/>
</histogram_suffixes>

<histogram_suffixes name="OobeScreenName" separator=".">
  <suffix name="Eula"/>
  <suffix name="Hid-detection"/>
  <suffix name="Image"/>
  <suffix name="Network"/>
  <suffix name="Update"/>
  <suffix name="Wrong-hwid"/>
  <affected-histogram name="OOBE.StepCompletionTime"/>
</histogram_suffixes>

<histogram_suffixes name="OtherActivityProcesses" separator=".">
  <suffix name="gpu-process"/>
  <suffix name="renderer"/>
  <suffix name="setup"/>
  <affected-histogram name="UMA.Histograms.Activity"/>
</histogram_suffixes>

<histogram_suffixes name="OverlappedReadImpact">
  <obsolete>
    Experiments no longer active.
  </obsolete>
  <suffix name="OverlappedReadDisabled" label="Non-blocking reads"/>
  <suffix name="OverlappedReadEnabled" label="Default, async reads"/>
  <affected-histogram name="Net.HttpJob.TotalTime"/>
  <affected-histogram name="Net.HttpJob.TotalTimeCached"/>
  <affected-histogram name="Net.HttpJob.TotalTimeCancel"/>
  <affected-histogram name="Net.HttpJob.TotalTimeNotCached"/>
  <affected-histogram name="Net.HttpJob.TotalTimeSuccess"/>
  <affected-histogram name="PLT.Abandoned"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadReload"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadStaleOk"/>
  <affected-histogram name="PLT.BeginToFinish_NormalLoad"/>
  <affected-histogram name="PLT.LoadType"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadBackgrounded" separator=".">
  <obsolete>
    Deprecated in favor of PageLoadBackgrounded2.
  </obsolete>
  <suffix name="BG"
      label="Event occurred at least partially in the background"/>
  <affected-histogram
      name="PageLoad.Timing2.NavigationToDOMContentLoadedEventFired"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToFirstLayout"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToFirstTextPaint"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToLoadEventFired"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadBackgrounded2" separator=".">
  <suffix name="Background"
      label="The page was backgrounded at least once from navigation start to
             this event."/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Block.ParseTiming.ParseBlockedOnScriptLoad"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Block.ParseTiming.ParseBlockedOnScriptLoadFromDocumentWrite"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Block.ParseTiming.ParseDuration"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Block.Timing2.ParseBlockedOnScriptLoad"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Block.Timing2.ParseBlockedOnScriptLoad.ParseComplete"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Block.Timing2.ParseBlockedOnScriptLoadFromDocumentWrite"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Block.Timing2.ParseBlockedOnScriptLoadFromDocumentWrite.ParseComplete"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Block.Timing2.ParseDuration"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Evaluator.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Evaluator.ParseTiming.ParseBlockedOnScriptLoad"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Evaluator.ParseTiming.ParseBlockedOnScriptLoadFromDocumentWrite"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Evaluator.ParseTiming.ParseDuration"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Evaluator.Timing2.NavigationToFirstContentfulPaint"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Evaluator.Timing2.ParseBlockedOnScriptLoad"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Evaluator.Timing2.ParseBlockedOnScriptLoadFromDocumentWrite"/>
  <affected-histogram
      name="PageLoad.Clients.DocWrite.Evaluator.Timing2.ParseDuration"/>
  <affected-histogram
      name="PageLoad.Clients.ServiceWorker.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram
      name="PageLoad.Clients.ServiceWorker.ParseTiming.NavigationToParseStart"/>
  <affected-histogram
      name="PageLoad.Clients.ServiceWorker.Timing2.NavigationToFirstContentfulPaint">
    <obsolete>
      Deprecated in favor of PaintTiming equivalent.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired"/>
  <affected-histogram name="PageLoad.DocumentTiming.NavigationToFirstLayout"/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToLoadEventFired"/>
  <affected-histogram name="PageLoad.Events.Committed"/>
  <affected-histogram name="PageLoad.Events.Provisional"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram name="PageLoad.PaintTiming.NavigationToFirstImagePaint"/>
  <affected-histogram name="PageLoad.PaintTiming.NavigationToFirstPaint"/>
  <affected-histogram name="PageLoad.PaintTiming.NavigationToFirstTextPaint"/>
  <affected-histogram
      name="PageLoad.PaintTiming.ParseStartToFirstContentfulPaint"/>
  <affected-histogram name="PageLoad.ParseTiming.NavigationToParseStart"/>
  <affected-histogram name="PageLoad.ParseTiming.ParseBlockedOnScriptLoad"/>
  <affected-histogram
      name="PageLoad.ParseTiming.ParseBlockedOnScriptLoadFromDocumentWrite"/>
  <affected-histogram name="PageLoad.ParseTiming.ParseDuration"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToCommit"/>
  <affected-histogram
      name="PageLoad.Timing2.NavigationToDOMContentLoadedEventFired"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToFirstContentfulPaint"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToFirstImagePaint"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToFirstLayout"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToFirstPaint"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToFirstTextPaint"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToLoadEventFired"/>
  <affected-histogram name="PageLoad.Timing2.ParseBlockedOnScriptLoad"/>
  <affected-histogram
      name="PageLoad.Timing2.ParseBlockedOnScriptLoad.ParseComplete"/>
  <affected-histogram
      name="PageLoad.Timing2.ParseBlockedOnScriptLoadFromDocumentWrite"/>
  <affected-histogram
      name="PageLoad.Timing2.ParseBlockedOnScriptLoadFromDocumentWrite.ParseComplete"/>
  <affected-histogram name="PageLoad.Timing2.ParseDuration"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadEventConditions" separator=".">
  <suffix name="BeforeCommit"/>
  <suffix name="AfterCommit.BeforePaint"/>
  <suffix base="true" name="AfterPaint.BeforeInteraction"/>
  <suffix base="true" name="AfterPaint.Before1sDelayedInteraction"/>
  <suffix name="DuringParse"/>
  <affected-histogram name="PageLoad.AbortTiming.Background"/>
  <affected-histogram name="PageLoad.AbortTiming.ClientRedirect"/>
  <affected-histogram name="PageLoad.AbortTiming.Close"/>
  <affected-histogram name="PageLoad.AbortTiming.ForwardBackNavigation"/>
  <affected-histogram name="PageLoad.AbortTiming.NewNavigation"/>
  <affected-histogram name="PageLoad.AbortTiming.Other"/>
  <affected-histogram name="PageLoad.AbortTiming.Reload"/>
  <affected-histogram name="PageLoad.AbortTiming.Stop"/>
  <affected-histogram name="PageLoad.AbortTiming.UnknownNavigation"/>
  <affected-histogram name="PageLoad.Experimental.AbortTiming.Background"/>
  <affected-histogram name="PageLoad.Experimental.AbortTiming.ClientRedirect"/>
  <affected-histogram name="PageLoad.Experimental.AbortTiming.Close"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.ForwardBackNavigation"/>
  <affected-histogram name="PageLoad.Experimental.AbortTiming.NewNavigation"/>
  <affected-histogram name="PageLoad.Experimental.AbortTiming.Other"/>
  <affected-histogram name="PageLoad.Experimental.AbortTiming.Reload"/>
  <affected-histogram name="PageLoad.Experimental.AbortTiming.Stop"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToFirstBackground">
    <obsolete>
      deprecated in favor of PageLoad.AbortTiming.Background.*
    </obsolete>
  </affected-histogram>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsAfterPaint" separator=".">
  <suffix name="AfterPaint"
      label="Limited to the duration of time starting after first paint, for
             page loads that reached first paint."/>
  <affected-histogram
      name="PageLoad.Clients.FromGoogleSearch.PageTiming.ForegroundDuration"/>
  <affected-histogram
      name="PageLoad.Clients.SubresourceFilter.PageTiming.ForegroundDuration"/>
  <affected-histogram name="PageLoad.PageTiming.ForegroundDuration"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsCacheInfo" separator=".">
  <suffix name="NoStore" label="Main resource had cache-control: no-store"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint.LoadType.ForwardBackNavigation"/>
  <affected-histogram
      name="PageLoad.ParseTiming.NavigationToParseStart.LoadType.ForwardBackNavigation"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsAmpCachePages" separator="."
    ordering="prefix">
  <obsolete>
    Deprecated in favor of PageLoad.Clients.AMPCache2.*.
  </obsolete>
  <suffix name="Clients.AMPCache"
      label="PageLoadMetrics that are a result of a navigations to an AMP
             cache page. Same page navigations are not tracked."/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired"/>
  <affected-histogram name="PageLoad.DocumentTiming.NavigationToFirstLayout"/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToLoadEventFired"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram name="PageLoad.ParseTiming.NavigationToParseStart"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsAmpCachePages2" separator="."
    ordering="prefix">
  <suffix name="Clients.AMPCache2"
      label="PageLoadMetrics that are a result of a navigations to an AMP
             cache page. Same page navigations are not tracked."/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired"/>
  <affected-histogram name="PageLoad.DocumentTiming.NavigationToFirstLayout"/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToLoadEventFired"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram name="PageLoad.ParseTiming.NavigationToParseStart"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsCssScanner" separator="."
    ordering="prefix">
  <suffix name="Clients.CssScanner"
      label="Metrics from pages scanned by the preload scanner for @import
             CSS rules"/>
  <affected-histogram
      name="PageLoad.Experimental.PaintTiming.ParseStartToFirstMeaningfulPaint"/>
  <affected-histogram
      name="PageLoad.PaintTiming.ParseStartToFirstContentfulPaint"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsDataReductionProxy"
    separator="." ordering="prefix">
  <suffix name="Clients.DataReductionProxy"
      label="PageLoadMetrics that are a result of a navigation through the
             data reduction proxy."/>
  <suffix name="Clients.DataReductionProxy.LoFiOn"
      label="PageLoadMetrics that are a result of a navigation through the
             data reduction proxy with session in LoFi enabled or control
             field trial, and when the connection was slow."/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired"/>
  <affected-histogram name="PageLoad.DocumentTiming.NavigationToFirstLayout"/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToLoadEventFired"/>
  <affected-histogram name="PageLoad.Experimental.Bytes.Network"/>
  <affected-histogram name="PageLoad.Experimental.CompletedResources.Network"/>
  <affected-histogram
      name="PageLoad.Experimental.PaintTiming.NavigationToFirstMeaningfulPaint"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram name="PageLoad.PaintTiming.NavigationToFirstImagePaint"/>
  <affected-histogram name="PageLoad.PaintTiming.NavigationToFirstPaint"/>
  <affected-histogram name="PageLoad.PaintTiming.NavigationToFirstTextPaint"/>
  <affected-histogram name="PageLoad.ParseTiming.NavigationToParseStart"/>
  <affected-histogram name="PageLoad.ParseTiming.ParseBlockedOnScriptLoad"/>
  <affected-histogram name="PageLoad.ParseTiming.ParseDuration"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsDataReductionProxyResources"
    separator=".">
  <suffix name="NonProxied"
      label="Resources not loaded through data reduction proxy."/>
  <suffix name="Proxied"
      label="Resources loaded through data reduction proxy."/>
  <affected-histogram
      name="PageLoad.Clients.DataReductionProxy.Experimental.CompletedResources.Network"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsDocWrite" separator="."
    ordering="prefix">
  <suffix name="Clients.DocWrite.Block"
      label="PageLoadMetrics from a page that has synchronous, cross-origin
             document.written scripts that could be blocked if the
             document.write script blocking feature is enabled."/>
  <suffix name="Clients.DocWrite.Evaluator"
      label="PageLoadMetrics from a page that could have been evaluated by
             the DocumentWriteEvaluator"/>
  <affected-histogram
      name="PageLoad.Experimental.PaintTiming.ParseStartToFirstMeaningfulPaint"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram
      name="PageLoad.PaintTiming.ParseStartToFirstContentfulPaint"/>
  <affected-histogram
      name="PageLoad.ParseTiming.ParseBlockedOnScriptExecution"/>
  <affected-histogram
      name="PageLoad.ParseTiming.ParseBlockedOnScriptExecutionFromDocumentWrite"/>
  <affected-histogram name="PageLoad.ParseTiming.ParseBlockedOnScriptLoad"/>
  <affected-histogram
      name="PageLoad.ParseTiming.ParseBlockedOnScriptLoadFromDocumentWrite"/>
  <affected-histogram name="PageLoad.ParseTiming.ParseDuration"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToFirstContentfulPaint"/>
  <affected-histogram name="PageLoad.Timing2.ParseBlockedOnScriptLoad"/>
  <affected-histogram
      name="PageLoad.Timing2.ParseBlockedOnScriptLoad.ParseComplete"/>
  <affected-histogram
      name="PageLoad.Timing2.ParseBlockedOnScriptLoadFromDocumentWrite"/>
  <affected-histogram
      name="PageLoad.Timing2.ParseBlockedOnScriptLoadFromDocumentWrite.ParseComplete"/>
  <affected-histogram name="PageLoad.Timing2.ParseDuration"/>
  <affected-histogram name="PageLoad.Timing2.ParseStartToFirstContentfulPaint"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsFromGoogleSearch" separator="."
    ordering="prefix">
  <suffix name="Clients.FromGoogleSearch"
      label="PageLoadMetrics that are a result of a navigation from a Google
             web search"/>
  <suffix name="Clients.FromGWS"
      label="PageLoadMetrics that are a result of a navigation from a Google
             web search">
    <obsolete>
      Deprecated in favor of Clients.FromGoogleSearch.
    </obsolete>
  </suffix>
  <suffix name="Clients.FromGWS2"
      label="PageLoadMetrics that are a result of a navigation from a Google
             web search">
    <obsolete>
      Deprecated in favor of Clients.FromGoogleSearch.
    </obsolete>
  </suffix>
  <affected-histogram
      name="PageLoad.AbortTiming.Close.AfterCommit.BeforePaint"/>
  <affected-histogram
      name="PageLoad.AbortTiming.Close.AfterPaint.BeforeInteraction"/>
  <affected-histogram name="PageLoad.AbortTiming.Close.BeforeCommit"/>
  <affected-histogram
      name="PageLoad.AbortTiming.ForwardBackNavigation.AfterCommit.BeforePaint"/>
  <affected-histogram
      name="PageLoad.AbortTiming.ForwardBackNavigation.AfterPaint.Before1sDelayedInteraction"/>
  <affected-histogram
      name="PageLoad.AbortTiming.NewNavigation.AfterCommit.BeforePaint"/>
  <affected-histogram
      name="PageLoad.AbortTiming.NewNavigation.AfterPaint.BeforeInteraction"/>
  <affected-histogram name="PageLoad.AbortTiming.Other.BeforeCommit"/>
  <affected-histogram
      name="PageLoad.AbortTiming.Reload.AfterCommit.BeforePaint"/>
  <affected-histogram
      name="PageLoad.AbortTiming.Reload.AfterPaint.Before1sDelayedInteraction"/>
  <affected-histogram name="PageLoad.AbortTiming.Stop.AfterCommit.BeforePaint"/>
  <affected-histogram
      name="PageLoad.AbortTiming.Stop.AfterPaint.BeforeInteraction"/>
  <affected-histogram name="PageLoad.AbortTiming.Stop.BeforeCommit"/>
  <affected-histogram
      name="PageLoad.AbortTiming.UnknownNavigation.BeforeCommit"/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired"/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToLoadEventFired"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.Close.AfterCommit.BeforePaint"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.Close.AfterPaint.BeforeInteraction"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.Close.BeforeCommit"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.ForwardBackNavigation.AfterCommit.BeforePaint"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.ForwardBackNavigation.AfterPaint.Before1sDelayedInteraction"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.NewNavigation.AfterCommit.BeforePaint"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.NewNavigation.AfterPaint.BeforeInteraction"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.Other.BeforeCommit"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.Reload.AfterCommit.BeforePaint"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.Reload.AfterPaint.Before1sDelayedInteraction"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.Stop.AfterCommit.BeforePaint"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.Stop.AfterPaint.BeforeInteraction"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.Stop.BeforeCommit"/>
  <affected-histogram name="PageLoad.PageTiming.ForegroundDuration"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram name="PageLoad.PaintTiming.NavigationToFirstImagePaint"/>
  <affected-histogram name="PageLoad.PaintTiming.NavigationToFirstPaint"/>
  <affected-histogram name="PageLoad.PaintTiming.NavigationToFirstTextPaint"/>
  <affected-histogram
      name="PageLoad.PaintTiming.ParseStartToFirstContentfulPaint"/>
  <affected-histogram name="PageLoad.ParseTiming.NavigationToParseStart"/>
  <affected-histogram name="PageLoad.ParseTiming.ParseDuration"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsMedia" separator="."
    ordering="prefix">
  <suffix name="Clients.MediaPageLoad"
      label="PageLoadMetrics for page loads that involved playing a media
             element."/>
  <affected-histogram name="PageLoad.Experimental.Bytes.Cache"/>
  <affected-histogram name="PageLoad.Experimental.Bytes.Network"/>
  <affected-histogram name="PageLoad.Experimental.Bytes.Total"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsOfflinePages" separator="."
    ordering="prefix">
  <suffix name="Clients.Previews.OfflinePages"
      label="PageLoadMetrics that are a result of a navigation that shows
             users an offline page preview. Offline page previews are shown
             when a user's effective connection type is prohibitively slow."/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired"/>
  <affected-histogram name="PageLoad.DocumentTiming.NavigationToFirstLayout"/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToLoadEventFired"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram name="PageLoad.ParseTiming.NavigationToParseStart"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsProtocol" separator="."
    ordering="prefix">
  <suffix name="Clients.Protocol.H1"
      label="PageLoadMetrics that are a result of a navigation to main
             resource over HTTP/1.1">
    <obsolete>
      Renamed to Clients.Protocol.H11
    </obsolete>
  </suffix>
  <suffix name="Clients.Protocol.H11"
      label="PageLoadMetrics that are a result of a navigation to main
             resource over HTTP/1.1"/>
  <suffix name="Clients.Protocol.H2"
      label="PageLoadMetrics that are a result of a navigation to main
             resource over HTTP/2"/>
  <suffix name="Clients.Protocol.QUIC"
      label="PageLoadMetrics that are a result of a navigation to main
             resource over QUIC"/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired"/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToLoadEventFired"/>
  <affected-histogram
      name="PageLoad.Experimental.PaintTiming.NavigationToFirstMeaningfulPaint"/>
  <affected-histogram
      name="PageLoad.Experimental.PaintTiming.ParseStartToFirstMeaningfulPaint"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram
      name="PageLoad.PaintTiming.ParseStartToFirstContentfulPaint"/>
  <affected-histogram name="PageLoad.ParseTiming.NavigationToParseStart"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsReload" separator="."
    ordering="prefix">
  <obsolete>
    Deprecated at M53 in favor of LoadType.Reload.
  </obsolete>
  <suffix name="Clients.Reload"
      label="PageLoadMetrics from a page that is reloaded"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsResourcePrefetchPredictor"
    separator="." ordering="prefix">
  <suffix base="true" name="Clients.ResourcePrefetchPredictor"
      label="PageLoadMetrics with enabled ResourcePrefetchPredictor"/>
  <affected-histogram
      name="PageLoad.Experimental.PaintTiming.NavigationToFirstMeaningfulPaint"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
</histogram_suffixes>

<histogram_suffixes
    name="PageLoadMetricsClientsResourcePrefetchPredictorPrefetchingType"
    separator=".">
  <suffix name="Prefetchable"
      label="The predictor database contained subresources for prediction for
             a page"/>
  <affected-histogram
      name="PageLoad.Clients.ResourcePrefetchPredictor.Experimental.PaintTiming.NavigationToFirstMeaningfulPaint"/>
  <affected-histogram
      name="PageLoad.Clients.ResourcePrefetchPredictor.PaintTiming.NavigationToFirstContentfulPaint"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsServiceWorker" separator="."
    ordering="prefix">
  <suffix name="Clients.ServiceWorker"
      label="PageLoadMetrics from a page that is controlled by a Service
             Worker"/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired"/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToLoadEventFired"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram
      name="PageLoad.PaintTiming.ParseStartToFirstContentfulPaint"/>
  <affected-histogram name="PageLoad.ParseTiming.NavigationToParseStart"/>
  <affected-histogram name="PageLoad.Timing2.NavigationToFirstContentfulPaint">
    <obsolete>
      Deprecated in favor of PaintTiming equivalent.
    </obsolete>
  </affected-histogram>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsServiceWorkerSpecialApps"
    separator=".">
  <suffix name="inbox" label="Custom histogram for Inbox"/>
  <affected-histogram
      name="PageLoad.Clients.ServiceWorker.DocumentTiming.NavigationToDOMContentLoadedEventFired"/>
  <affected-histogram
      name="PageLoad.Clients.ServiceWorker.DocumentTiming.NavigationToLoadEventFired"/>
  <affected-histogram
      name="PageLoad.Clients.ServiceWorker.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram
      name="PageLoad.Clients.ServiceWorker.PaintTiming.ParseStartToFirstContentfulPaint"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsSubresourceFilter"
    separator="." ordering="prefix">
  <suffix name="Clients.SubresourceFilter"
      label="For pages with filtered subresources. Includes dryrun matches."/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToDOMContentLoadedEventFired"/>
  <affected-histogram
      name="PageLoad.DocumentTiming.NavigationToLoadEventFired"/>
  <affected-histogram name="PageLoad.Experimental.Bytes.Cache"/>
  <affected-histogram name="PageLoad.Experimental.Bytes.Network"/>
  <affected-histogram name="PageLoad.Experimental.Bytes.Total"/>
  <affected-histogram name="PageLoad.Experimental.CompletedResources.Cache"/>
  <affected-histogram name="PageLoad.Experimental.CompletedResources.Network"/>
  <affected-histogram name="PageLoad.Experimental.CompletedResources.Total"/>
  <affected-histogram
      name="PageLoad.Experimental.PaintTiming.NavigationToFirstMeaningfulPaint"/>
  <affected-histogram
      name="PageLoad.Experimental.PaintTiming.ParseStartToFirstMeaningfulPaint"/>
  <affected-histogram name="PageLoad.PageTiming.ForegroundDuration"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram
      name="PageLoad.PaintTiming.ParseStartToFirstContentfulPaint"/>
  <affected-histogram
      name="PageLoad.ParseTiming.ParseBlockedOnScriptExecution"/>
  <affected-histogram
      name="PageLoad.ParseTiming.ParseBlockedOnScriptExecutionFromDocumentWrite"/>
  <affected-histogram name="PageLoad.ParseTiming.ParseBlockedOnScriptLoad"/>
  <affected-histogram
      name="PageLoad.ParseTiming.ParseBlockedOnScriptLoadFromDocumentWrite"/>
  <affected-histogram name="PageLoad.ParseTiming.ParseDuration"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsClientsTabRestore" separator="."
    ordering="prefix">
  <suffix name="Clients.TabRestore"
      label="PageLoadMetrics that are a result of a navigation caused by a
             tab restore."/>
  <affected-histogram name="PageLoad.Experimental.Bytes.Cache"/>
  <affected-histogram name="PageLoad.Experimental.Bytes.Network"/>
  <affected-histogram name="PageLoad.Experimental.Bytes.Total"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsLoadType" separator=".">
  <suffix name="LoadType.Reload" label="Restricted to reloaded pages."/>
  <suffix name="LoadType.ForwardBackNavigation"
      label="Restricted to forward/back navigations."/>
  <suffix name="LoadType.NewNavigation"
      label="Restricted to new navigations (link clicks, URLs typed into the
             URL box, etc)."/>
  <affected-histogram
      name="PageLoad.Clients.SubresourceFilter.ActivationDecision"/>
  <affected-histogram name="PageLoad.Experimental.Bytes.Cache"/>
  <affected-histogram name="PageLoad.Experimental.Bytes.Network"/>
  <affected-histogram name="PageLoad.Experimental.Bytes.Total"/>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
  <affected-histogram name="PageLoad.ParseTiming.NavigationToParseStart"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsMediaPlayed" separator=".">
  <suffix name="MediaPlayed" label="Limited to pages where media was played."/>
  <affected-histogram
      name="PageLoad.Clients.SubresourceFilter.Experimental.Bytes.Cache"/>
  <affected-histogram
      name="PageLoad.Clients.SubresourceFilter.Experimental.Bytes.Network"/>
  <affected-histogram
      name="PageLoad.Clients.SubresourceFilter.Experimental.Bytes.Total"/>
  <affected-histogram
      name="PageLoad.Clients.SubresourceFilter.Experimental.CompletedResources.Cache"/>
  <affected-histogram
      name="PageLoad.Clients.SubresourceFilter.Experimental.CompletedResources.Network"/>
  <affected-histogram
      name="PageLoad.Clients.SubresourceFilter.Experimental.CompletedResources.Total"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsNoCommit" separator=".">
  <suffix name="NoCommit" label="Limited to page loads that did not commit."/>
  <affected-histogram
      name="PageLoad.Clients.FromGoogleSearch.PageTiming.ForegroundDuration"/>
  <affected-histogram name="PageLoad.PageTiming.ForegroundDuration"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsNoEndTime" separator=".">
  <suffix name="NoEndTime"
      label="The page load had no recorded end time, so an end time was
             synthesized at the time the page end notification was processed."/>
  <affected-histogram
      name="PageLoad.Experimental.PageTiming.FirstPaintToPageEnd"/>
  <affected-histogram
      name="PageLoad.Experimental.PageTiming.NavigationToPageEnd"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsNoMediaPlayed" separator=".">
  <suffix name="NoMediaPlayed"
      label="Limited to pages where no media was played."/>
  <affected-histogram
      name="PageLoad.Clients.SubresourceFilter.Experimental.Bytes.Cache"/>
  <affected-histogram
      name="PageLoad.Clients.SubresourceFilter.Experimental.Bytes.Network"/>
  <affected-histogram
      name="PageLoad.Clients.SubresourceFilter.Experimental.Bytes.Total"/>
  <affected-histogram
      name="PageLoad.Clients.SubresourceFilter.Experimental.CompletedResources.Cache"/>
  <affected-histogram
      name="PageLoad.Clients.SubresourceFilter.Experimental.CompletedResources.Network"/>
  <affected-histogram
      name="PageLoad.Clients.SubresourceFilter.Experimental.CompletedResources.Total"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsUserGesture" separator=".">
  <suffix name="UserGesture"
      label="Restricted to pages loaded via a user gesture."/>
  <affected-histogram
      name="PageLoad.Clients.Reload.PaintTiming.NavigationToFirstContentfulPaint">
    <obsolete>
      Deprecated in favor of
      PageLoad.PaintTiming.NavigationToFirstContentfulPaint.LoadType.Reload.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint.LoadType.Reload"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsUserInitiated" separator=".">
  <suffix name="UserInitiated"
      label="(experimental) Page load metric that is approximately user
             initiated"/>
  <affected-histogram
      name="PageLoad.AbortTiming.ForwardBackNavigation.BeforeCommit"/>
  <affected-histogram name="PageLoad.AbortTiming.NewNavigation.BeforeCommit"/>
  <affected-histogram name="PageLoad.AbortTiming.Reload.BeforeCommit"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.ForwardBackNavigation.BeforeCommit">
    <obsolete>
      Deprecated in favor of UserGesture/UserInputEvent/BrowserInitiated.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.NewNavigation.BeforeCommit">
    <obsolete>
      Deprecated in favor of UserGesture/UserInputEvent/BrowserInitiated.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.Reload.BeforeCommit">
    <obsolete>
      Deprecated in favor of UserGesture/UserInputEvent/BrowserInitiated.
    </obsolete>
  </affected-histogram>
  <affected-histogram
      name="PageLoad.PaintTiming.NavigationToFirstContentfulPaint"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadMetricsUserInitiated2" separator=".">
  <suffix name="UserGesture"
      label="(experimental) Page load that has a user gesture"/>
  <suffix name="UserInputEvent"
      label="(experimental) Page load that has a user input event"/>
  <suffix name="BrowserInitiated"
      label="(experimental) Page load that was initiated from the browser
             process"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.ForwardBackNavigation.AfterCommit.BeforePaint"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.ForwardBackNavigation.BeforeCommit"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.NewNavigation.AfterCommit.BeforePaint"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.NewNavigation.BeforeCommit"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.Reload.AfterCommit.BeforePaint"/>
  <affected-histogram
      name="PageLoad.Experimental.AbortTiming.Reload.BeforeCommit"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadType">
  <suffix name="HistoryLoad"
      label="but only for user pressing back or forward"/>
  <suffix name="LinkLoad"
      label="deprecated - see LinkLoadReload, LinkLoadNormal,
             LinkLoadStaleOk, LinkLoadCacheOnly; content initiated, commonly
             back to a posted page"/>
  <suffix name="LinkLoadCacheOnly"
      label="content initiated, commonly back to a posted page, where browser
             must ONLY use cache"/>
  <suffix name="LinkLoadNormal"
      label="content initiated, ordinary link traversal or post"/>
  <suffix name="LinkLoadReload" label="content initiated, calling reload()"/>
  <suffix name="LinkLoadStaleOk"
      label="content initiated, commonly forward or back where stale cached
             data is very acceptable"/>
  <suffix name="NormalLoad"
      label="but only for user entered URL or omnibox search"/>
  <suffix name="Reload" label="but only for user pressed reload"/>
  <suffix name="UndefLoad"
      label="should never happen... as it is only for an client-code error
             case which should not exist"/>
  <affected-histogram name="PLT.BeginToFinish"/>
  <affected-histogram name="PLT.BeginToFinishDoc"/>
  <affected-histogram name="PLT.StartToCommit">
    <with-suffix name="LinkLoadNormal"/>
    <with-suffix name="NormalLoad"/>
  </affected-histogram>
  <affected-histogram name="PLT.StartToFinish">
    <with-suffix name="LinkLoadNormal"/>
    <with-suffix name="NormalLoad"/>
  </affected-histogram>
  <affected-histogram name="Renderer4.BeginToFinish"/>
  <affected-histogram name="Renderer4.BeginToFinishDoc"/>
</histogram_suffixes>

<histogram_suffixes name="PageLoadType">
  <suffix name="HistoryLoad"
      label="but only for user pressing back or forward"/>
  <suffix name="LinkLoad"
      label="deprecated - see LinkLoadReload, LinkLoadNormal,
             LinkLoadStaleOk, LinkLoadCacheOnly; content initiated, commonly
             back to a posted page"/>
  <suffix name="LinkLoadCacheOnly"
      label="content initiated, commonly back to a posted page, where browser
             must ONLY use cache"/>
  <suffix name="LinkLoadNormal"
      label="content initiated, ordinary link traversal or post"/>
  <suffix name="LinkLoadReload" label="content initiated, calling reload()"/>
  <suffix name="LinkLoadStaleOk"
      label="content initiated, commonly forward or back where stale cached
             data is very acceptable"/>
  <suffix name="NormalLoad"
      label="but only for user entered URL or omnibox search"/>
  <suffix name="Reload" label="but only for user pressed reload"/>
  <suffix name="UndefLoad"
      label="should never happen... as it is only for an client-code error
             case which should not exist"/>
  <affected-histogram name="PLT.BeginToFinish"/>
  <affected-histogram name="PLT.BeginToFinishDoc"/>
  <affected-histogram name="PLT.StartToCommit">
    <with-suffix name="LinkLoadNormal"/>
    <with-suffix name="NormalLoad"/>
  </affected-histogram>
  <affected-histogram name="PLT.StartToFinish">
    <with-suffix name="LinkLoadNormal"/>
    <with-suffix name="NormalLoad"/>
  </affected-histogram>
  <affected-histogram name="Renderer4.BeginToFinish"/>
  <affected-histogram name="Renderer4.BeginToFinishDoc"/>
</histogram_suffixes>

<histogram_suffixes name="ParallelDownload" separator=".">
  <suffix name="ParallelDownload"
      label="Download that supports parallel requests."/>
  <affected-histogram name="Download.Counts"/>
  <affected-histogram name="Download.InterruptedAtEndReason"/>
  <affected-histogram name="Download.InterruptedOverrunBytes"/>
  <affected-histogram name="Download.InterruptedReason"/>
  <affected-histogram name="Download.InterruptedReceivedSizeK"/>
  <affected-histogram name="Download.InterruptedTotalSizeK"/>
  <affected-histogram name="Download.InterruptedUnderrunBytes"/>
</histogram_suffixes>

<histogram_suffixes name="PasswordCustomPassphrase" separator=".">
  <suffix name="WithCustomPassphrase"/>
  <suffix name="WithoutCustomPassphrase"/>
  <affected-histogram name="PasswordManager.AccountsPerSite"/>
  <affected-histogram name="PasswordManager.AccountsPerSite.AutoGenerated"/>
  <affected-histogram name="PasswordManager.AccountsPerSite.UserCreated"/>
  <affected-histogram name="PasswordManager.BlacklistedSites"/>
  <affected-histogram name="PasswordManager.TimesGeneratedPasswordUsed"/>
  <affected-histogram name="PasswordManager.TimesPasswordUsed.AutoGenerated"/>
  <affected-histogram name="PasswordManager.TimesPasswordUsed.UserCreated"/>
  <affected-histogram name="PasswordManager.TotalAccounts.AutoGenerated"/>
  <affected-histogram name="PasswordManager.TotalAccounts.UserCreated"/>
</histogram_suffixes>

<histogram_suffixes name="PasswordGenerated" separator=".">
  <suffix name="UserCreated"/>
  <suffix name="AutoGenerated"/>
  <affected-histogram name="PasswordManager.AccountsPerSite"/>
  <affected-histogram name="PasswordManager.TimesPasswordUsed"/>
  <affected-histogram name="PasswordManager.TotalAccounts"/>
</histogram_suffixes>

<histogram_suffixes name="PasswordManagerMonitor">
  <obsolete>
    Deprecated as of 03/2016.
  </obsolete>
  <suffix name="group_1" label="group 1"/>
  <suffix name="group_2" label="group 2"/>
  <suffix name="group_3" label="group 3"/>
  <suffix name="group_4" label="group 4"/>
  <suffix name="group_5" label="group 5"/>
  <suffix name="group_6" label="group 6"/>
  <suffix name="group_7" label="group 7"/>
  <suffix name="group_8" label="group 8"/>
  <suffix name="group_9" label="group 9"/>
  <suffix name="group_10" label="group 10"/>
  <suffix name="group_11" label="group 11"/>
  <suffix name="group_12" label="group 12"/>
  <suffix name="group_13" label="group 13"/>
  <suffix name="group_14" label="group 14"/>
  <suffix name="group_15" label="group 15"/>
  <suffix name="group_16" label="group 16"/>
  <suffix name="group_17" label="group 17"/>
  <suffix name="group_18" label="group 18"/>
  <suffix name="group_19" label="group 19"/>
  <suffix name="group_20" label="group 20"/>
  <suffix name="" label=""/>
  <affected-histogram name="PasswordManager.LinuxBackendStatistics"/>
  <affected-histogram name="PasswordManager.ProvisionalSaveFailure"/>
  <affected-histogram
      name="PasswordManager.SavePasswordPromptDisappearedQuickly"/>
  <affected-histogram name="PasswordManager.SavePasswordPromptDisplayed"/>
  <affected-histogram name="PasswordManager.SavePasswordPromptResponse"/>
</histogram_suffixes>

<histogram_suffixes name="PasswordReuseSourceRealm" separator=".">
  <suffix name="FromHttpRealm"
      label="The account in question was saved on an HTTP site."/>
  <suffix name="FromHttpsRealm"
      label="The account in question was saved on a HTTPS site (including
             those with certificate issues)."/>
  <affected-histogram name="PasswordManager.AccountsReusingPassword"/>
</histogram_suffixes>

<histogram_suffixes name="PasswordReuseTargetRealm" separator=".">
  <suffix name="OnHttpRealmWithSameHost"
      label="The number of other accounts whose realms have HTTP scheme and
             the same host as the account in question."/>
  <suffix name="OnHttpsRealmWithSameHost"
      label="The number of other accounts whose realms have HTTPS scheme and
             the same host as the account in question."/>
  <suffix name="OnHttpRealmWithDifferentHost"
      label="The number of other accounts whose realms have HTTP scheme and
             different hosts than the account in question."/>
  <suffix name="OnHttpsRealmWithDifferentHost"
      label="The number of other accounts whose realms have HTTPS scheme and
             different hosts than the account in question."/>
  <suffix name="OnAnyRealmWithDifferentHost"
      label="The number of other accounts whose realms have different hosts
             than the account in question, and their scheme is either HTTP or
             HTTPS."/>
  <suffix name="OnPSLMatchingRealm"
      label="The number of other accounts whose realms are public suffix
             matches to that of the account in question (the scheme is always
             the same in these cases)."/>
  <affected-histogram
      name="PasswordManager.AccountsReusingPassword.FromHttpRealm"/>
  <affected-histogram
      name="PasswordManager.AccountsReusingPassword.FromHttpsRealm"/>
</histogram_suffixes>

<histogram_suffixes name="PasswordScheme" separator=".">
  <suffix name="Android" label="The password is for an Android app."/>
  <suffix name="Ftp" label="The scheme of the origin is FTP."/>
  <suffix name="Http" label="The scheme of the origin is HTTP."/>
  <suffix name="Https" label="The scheme of the origin is HTTPS."/>
  <suffix name="Other" label="The scheme of the origin is something else."/>
  <affected-histogram name="PasswordManager.TotalAccountsHiRes.WithScheme"/>
</histogram_suffixes>

<histogram_suffixes name="PaymentRequestOutcome" separator=".">
  <suffix name="Completed" label="The Payment Request was completed"/>
  <suffix name="UserAborted"
      label="The Payment Request was aborted by the user"/>
  <suffix name="OtherAborted"
      label="The Payment Request was aborted but not but the user"/>
  <affected-histogram name="PaymentRequest.NumberOfSelectionAdds.ContactInfo"/>
  <affected-histogram name="PaymentRequest.NumberOfSelectionAdds.CreditCards"/>
  <affected-histogram
      name="PaymentRequest.NumberOfSelectionAdds.ShippingAddress"/>
  <affected-histogram
      name="PaymentRequest.NumberOfSelectionChanges.ContactInfo"/>
  <affected-histogram
      name="PaymentRequest.NumberOfSelectionChanges.CreditCards"/>
  <affected-histogram
      name="PaymentRequest.NumberOfSelectionChanges.ShippingAddress"/>
  <affected-histogram name="PaymentRequest.NumberOfSelectionEdits.ContactInfo"/>
  <affected-histogram name="PaymentRequest.NumberOfSelectionEdits.CreditCards"/>
  <affected-histogram
      name="PaymentRequest.NumberOfSelectionEdits.ShippingAddress"/>
  <affected-histogram
      name="PaymentRequest.NumberOfSuggestionsShown.ContactInfo"/>
  <affected-histogram
      name="PaymentRequest.NumberOfSuggestionsShown.CreditCards"/>
  <affected-histogram
      name="PaymentRequest.NumberOfSuggestionsShown.ShippingAddress"/>
</histogram_suffixes>

<histogram_suffixes name="PaymentRequestSection" separator=".">
  <suffix name="ContactInfo"
      label="For the contact info section of a Payment Request"/>
  <suffix name="CreditCards"
      label="For the credit card section of a Payment Request"/>
  <suffix name="ShippingAddress"
      label="For the shipping address section of a Payment Request"/>
  <affected-histogram name="PaymentRequest.NumberOfSelectionAdds"/>
  <affected-histogram name="PaymentRequest.NumberOfSelectionChanges"/>
  <affected-histogram name="PaymentRequest.NumberOfSelectionEdits"/>
  <affected-histogram name="PaymentRequest.NumberOfSuggestionsShown"/>
</histogram_suffixes>

<histogram_suffixes name="PerformanceMonitor" separator=".">
  <suffix name="BrowserProcess"/>
  <suffix name="GPUProcess"/>
  <suffix name="PluginProcess"/>
  <suffix name="PPAPIFlashProcess"/>
  <suffix name="PPAPIProcess"/>
  <suffix name="RendererProcess"/>
  <suffix name="RendererExtensionEventProcess"/>
  <suffix name="RendererExtensionPersistentProcess"/>
  <suffix name="WorkerProcess"/>
  <affected-histogram name="PerformanceMonitor.AverageCPU"/>
  <affected-histogram name="PerformanceMonitor.HighCPU"/>
</histogram_suffixes>

<histogram_suffixes name="PermissionRequestGesture" separator=".">
  <suffix name="Gesture" label="With user gesture"/>
  <suffix name="NoGesture" label="Without user gesture"/>
  <affected-histogram name="Permissions.Prompt.Accepted"/>
  <affected-histogram name="Permissions.Prompt.Denied"/>
  <affected-histogram name="Permissions.Prompt.Shown"/>
</histogram_suffixes>

<histogram_suffixes name="PermissionTypes" separator=".">
  <suffix name="MidiSysEx" label="Midi SysEx permsision actions"/>
  <suffix name="PushMessaging" label="Push messaging permission actions"/>
  <suffix name="Notifications" label="Notification permission actions"/>
  <suffix name="Geolocation" label="Geolocation permission actions"/>
  <suffix name="ProtectedMedia" label="Protected media permission actions"/>
  <suffix name="DurableStorage" label="Durable Storage permission actions"/>
  <suffix name="AudioCapture" label="Microphone permission actions"/>
  <suffix name="VideoCapture" label="Camera permission actions"/>
  <suffix name="Flash" label="Flash permission actions"/>
  <affected-histogram name="ContentSettings.PermissionActions"/>
  <affected-histogram name="ContentSettings.PermissionActionsInsecureOrigin"/>
  <affected-histogram name="ContentSettings.PermissionActionsSecureOrigin"/>
  <affected-histogram name="Permissions.Action"/>
  <affected-histogram name="Permissions.Action.InsecureOrigin"/>
  <affected-histogram name="Permissions.Action.SecureOrigin"/>
  <affected-histogram name="Permissions.Prompt.Accepted.Persisted"/>
  <affected-histogram name="Permissions.Prompt.Accepted.PriorDismissCount"/>
  <affected-histogram name="Permissions.Prompt.Accepted.PriorIgnoreCount"/>
  <affected-histogram name="Permissions.Prompt.Denied.Persisted"/>
  <affected-histogram name="Permissions.Prompt.Denied.PriorDismissCount"/>
  <affected-histogram name="Permissions.Prompt.Denied.PriorIgnoreCount"/>
  <affected-histogram name="Permissions.Prompt.Dismissed.PriorDismissCount"/>
  <affected-histogram name="Permissions.Prompt.Dismissed.PriorIgnoreCount"/>
  <affected-histogram name="Permissions.Prompt.Ignored.PriorDismissCount"/>
  <affected-histogram name="Permissions.Prompt.Ignored.PriorIgnoreCount"/>
  <affected-histogram name="Permissions.Requested.CrossOrigin"/>
</histogram_suffixes>

<histogram_suffixes name="PersistentMemoryAllocs" separator="."
    ordering="prefix,2">
  <obsolete>
    Deprecated 2/2017 for Issue 689315 which indicated they weren't being used.
  </obsolete>
  <suffix name="BrowserMetrics" label="For browser process metrics."/>
  <suffix name="FieldTrialAllocator" label="For field-trial allocator."/>
  <suffix name="GpuMetrics" label="For GPU process metrics."/>
  <suffix name="PpapiBrokerMetrics"
      label="For &quot;PPAPI broker&quot; process metrics."/>
  <suffix name="PpapiPluginMetrics"
      label="For &quot;PPAPI plugin&quot; process metrics."/>
  <suffix name="RendererMetrics" label="For renderer process metrics."/>
  <suffix name="SandboxHelperMetrics"
      label="For &quot;sandbox helper&quot; process metrics."/>
  <suffix name="SetupMetrics" label="For setup metrics."/>
  <suffix name="UtilityMetrics"
      label="For &quot;utility&quot; process metrics."/>
  <suffix name="ZygoteMetrics" label="For &quot;zygote&quot; process metrics."/>
  <affected-histogram name="UMA.PersistentAllocator.Allocs"/>
</histogram_suffixes>

<histogram_suffixes name="PersistentMemoryErrors" separator="."
    ordering="prefix,2">
  <suffix name="BrowserMetrics" label="For browser process metrics."/>
  <suffix name="FieldTrialAllocator" label="For field-trial allocator."/>
  <suffix name="GpuMetrics" label="For GPU process metrics."/>
  <suffix name="PpapiBrokerMetrics"
      label="For &quot;PPAPI broker&quot; process metrics."/>
  <suffix name="PpapiPluginMetrics"
      label="For &quot;PPAPI plugin&quot; process metrics."/>
  <suffix name="RendererMetrics" label="For renderer process metrics."/>
  <suffix name="SandboxHelperMetrics"
      label="For &quot;sandbox helper&quot; process metrics."/>
  <suffix name="SetupMetrics" label="For setup metrics."/>
  <suffix name="UtilityMetrics"
      label="For &quot;utility&quot; process metrics."/>
  <suffix name="ZygoteMetrics" label="For &quot;zygote&quot; process metrics."/>
  <affected-histogram name="UMA.PersistentAllocator.Errors"/>
</histogram_suffixes>

<histogram_suffixes name="PersistentMemoryUsedPct" separator="."
    ordering="prefix,2">
  <suffix name="BrowserMetrics" label="For browser process metrics."/>
  <suffix name="FieldTrialAllocator" label="For field-trial allocator."/>
  <suffix name="GpuMetrics" label="For GPU process metrics."/>
  <suffix name="PpapiBrokerMetrics"
      label="For &quot;PPAPI broker&quot; process metrics."/>
  <suffix name="PpapiPluginMetrics"
      label="For &quot;PPAPI plugin&quot; process metrics."/>
  <suffix name="RendererMetrics" label="For renderer process metrics."/>
  <suffix name="SandboxHelperMetrics"
      label="For &quot;sandbox helper&quot; process metrics."/>
  <suffix name="SetupMetrics" label="For setup metrics."/>
  <suffix name="UtilityMetrics"
      label="For &quot;utility&quot; process metrics."/>
  <suffix name="ZygoteMetrics" label="For &quot;zygote&quot; process metrics."/>
  <affected-histogram name="UMA.PersistentAllocator.UsedPct"/>
</histogram_suffixes>

<histogram_suffixes name="PhysicalWebDebugActions" separator=".">
  <suffix name="ChromeStart" label="when Chrome first starts up"/>
  <suffix name="LaunchFromDiagnostics"
      label="when the user launches the ListUrlActivity from the Physical Web
             diagnostics page"/>
  <suffix name="LaunchFromPreferences"
      label="when the user launches the ListUrlActivity from the Physical Web
             preferencs screen"/>
  <affected-histogram name="PhysicalWeb.State.Bluetooth"/>
  <affected-histogram name="PhysicalWeb.State.DataConnectionActive"/>
  <affected-histogram name="PhysicalWeb.State.LocationPermission"/>
  <affected-histogram name="PhysicalWeb.State.LocationServices"/>
  <affected-histogram name="PhysicalWeb.State.Preference"/>
</histogram_suffixes>

<histogram_suffixes name="Platform.FirmwareType" separator=".">
  <suffix name="Main" label="Main processor firmware"/>
  <suffix name="EC" label="Embedded Controller firmware"/>
  <suffix name="PD" label="USB Power Delivery controller firmware"/>
  <affected-histogram name="Platform.BootMode.FirmwareWriteProtect"/>
</histogram_suffixes>

<histogram_suffixes name="PlatformMeminfoPercentage" separator="">
  <suffix name="infoActive" label="Active memory."/>
  <suffix name="infoActiveAnon"
      label="Active anonymous memory (data segments)."/>
  <suffix name="infoActiveFile"
      label="Active file-backed memory (executables, ...)."/>
  <suffix name="infoAnonPages" label="Anonymous memory (executables, ...)."/>
  <suffix name="infoBuffers" label="Buffer cache (executables, ...)."/>
  <suffix name="infoCached"
      label="size of file-backed memory minus swap and buffer cache."/>
  <suffix name="infoInactive" label="Inactive memory."/>
  <suffix name="infoInactiveAnon"
      label="Inactive anonymous memory (data segments)."/>
  <suffix name="infoInactiveFile" label="Inactive file-backed memory."/>
  <suffix name="infoMapped" label="Mapped memory."/>
  <suffix name="infoMemFree" label="Free memory."/>
  <suffix name="infoSwapUsedPercent" label="Used swap memory."/>
  <affected-histogram name="Platform.Mem"/>
</histogram_suffixes>

<histogram_suffixes name="PlatformMeminfoSize" separator="">
  <suffix name="MemFreeDerived" label="Size derived from free+buffers+cached."/>
  <suffix name="MemTotal" label="Size of total installed memory."/>
  <suffix name="MemUsedDerived"
      label="Size of &quot;Total - FreeDerived&quot; memory."/>
  <suffix name="Shmem" label="Size of shared memory."/>
  <suffix name="Slab" label="Size of slab memory."/>
  <suffix name="SwapUsed" label="Size of used swap memory."/>
  <suffix name="Unevictable" label="Size of unevictable memory."/>
  <affected-histogram name="Platform.Meminfo"/>
</histogram_suffixes>

<histogram_suffixes name="PluginFlashEngagement" separator=".">
  <suffix name="ContentSettingAllowed" label="Engagement when Flash allowed."/>
  <suffix name="ContentSettingBlocked" label="Engagement when Flash blocked."/>
  <suffix name="NoSetting" label="Engagement when no content setting set."/>
  <affected-histogram name="Plugin.Flash.Engagement"/>
</histogram_suffixes>

<histogram_suffixes name="PNaClTranslatorTypes" separator=".">
  <suffix name="" label="All translator types"/>
  <suffix name="LLC" label="LLC-based translator"/>
  <suffix name="Subzero" label="Subzero-based translator"/>
  <affected-histogram name="NaCl.Options.PNaCl.OptLevel"/>
  <affected-histogram name="NaCl.Perf.PNaClCache.IsHit"/>
  <affected-histogram name="NaCl.Perf.PNaClLoadTime.CompileKBPerSec"/>
  <affected-histogram name="NaCl.Perf.PNaClLoadTime.CompileTime"/>
  <affected-histogram name="NaCl.Perf.PNaClLoadTime.LoadCompiler"/>
  <affected-histogram
      name="NaCl.Perf.PNaClLoadTime.PctCompiledWhenFullyDownloaded"/>
  <affected-histogram name="NaCl.Perf.PNaClLoadTime.TotalUncachedKBPerSec"/>
  <affected-histogram name="NaCl.Perf.PNaClLoadTime.TotalUncachedTime"/>
  <affected-histogram name="NaCl.Perf.Size.PexeNexeSizePct"/>
  <affected-histogram name="NaCl.Perf.Size.PNaClTranslatedNexe"/>
</histogram_suffixes>

<histogram_suffixes name="PositionVariants">
  <suffix name="0_0" label="Only snippets on position 0"/>
  <suffix name="1_2" label="Only snippets on position 1-2"/>
  <suffix name="3_4" label="Only snippets on position 3-4"/>
  <suffix name="5_9" label="Only snippets on position 5-9"/>
  <affected-histogram name="NewTabPage.Snippets.CardClickedAge"/>
  <affected-histogram name="NewTabPage.Snippets.CardClickedScore"/>
  <affected-histogram name="NewTabPage.Snippets.CardClickedScoreNew"/>
  <affected-histogram name="NewTabPage.Snippets.CardLongPressedAge"/>
  <affected-histogram name="NewTabPage.Snippets.CardLongPressedScoreNew"/>
  <affected-histogram name="NewTabPage.Snippets.CardShownAge"/>
  <affected-histogram name="NewTabPage.Snippets.CardShownScore"/>
  <affected-histogram name="NewTabPage.Snippets.CardShownScoreNew"/>
</histogram_suffixes>

<histogram_suffixes name="PpapiPluginName">
  <suffix name="libpepflashplayer.so" label="Flash player on Linux or Cros"/>
  <suffix name="libwidevinecdmadapter.so"
      label="Widevine CDM on Linux or Cros"/>
  <suffix name="pepflashplayer.dll" label="Flash player on Windows"/>
  <suffix name="PepperFlashPlayer.plugin" label="Flash player on Mac"/>
  <suffix name="widevinecdmadapter.dll" label="Widevine CDM on Windows"/>
  <suffix name="widevinecdmadapter.plugin" label="Widevine CDM on Mac"/>
  <affected-histogram name="Plugin.PpapiBrokerLoadErrorCode"/>
  <affected-histogram name="Plugin.PpapiBrokerLoadResult"/>
  <affected-histogram name="Plugin.PpapiBrokerLoadTime"/>
  <affected-histogram name="Plugin.PpapiPluginLoadErrorCode"/>
  <affected-histogram name="Plugin.PpapiPluginLoadResult"/>
  <affected-histogram name="Plugin.PpapiPluginLoadTime"/>
</histogram_suffixes>

<histogram_suffixes name="PrecacheCellular" separator=".">
  <suffix name="Cellular"
      label="covers fetches when connected to cellular networks"/>
  <affected-histogram name="Precache.DownloadedNonPrecache"/>
  <affected-histogram name="Precache.Saved"/>
</histogram_suffixes>

<histogram_suffixes name="PreferenceFileNames" separator=".">
  <suffix name="Local_State" label="Local State file"/>
  <suffix name="Preferences" label="Preferences file"/>
  <suffix name="Secure_Preferences" label="Secure Preferences file"/>
  <affected-histogram name="Settings.JsonDataReadSizeKilobytes"/>
  <affected-histogram name="Settings.JsonDataSizeKilobytes"/>
  <affected-histogram name="Settings.JsonDataWriteCount"/>
</histogram_suffixes>

<histogram_suffixes name="Prefetch">
  <suffix name="ContentPrefetchPrefetchOff"
      label="Prefetch is completely disabled."/>
  <suffix name="ContentPrefetchPrefetchOn"
      label="prefetch is enabled but prerender is disabled."/>
  <affected-histogram name="HttpCache.EntryLockWait"/>
  <affected-histogram name="Net.HttpTimeToFirstByte"/>
  <affected-histogram name="PLT.Abandoned"/>
  <affected-histogram name="PLT.BeginToFinish"/>
  <affected-histogram name="PLT.BeginToFinish_ContentPrefetcher"/>
  <affected-histogram name="PLT.BeginToFinish_ContentPrefetcherReferrer"/>
  <affected-histogram name="PLT.BeginToFinishDoc"/>
  <affected-histogram name="PLT.BeginToFinishDoc_ContentPrefetcher"/>
  <affected-histogram name="PLT.BeginToFinishDoc_ContentPrefetcherReferrer"/>
  <affected-histogram name="PLT.PerceivedLoadTime"/>
  <affected-histogram name="PLT.PerceivedLoadTime_PrerenderLoad"/>
</histogram_suffixes>

<histogram_suffixes name="Prerender">
  <obsolete>
    Deprecated August 2016
  </obsolete>
  <suffix name="PrerenderEnabled" label="prerender is enabled."/>
  <suffix name="PrerenderControl" label="prerender is disabled."/>
  <suffix name="PrerenderNoUse"
      label="prerender is enabled, but pages are not swapped in."/>
  <suffix name="PrerenderMulti"
      label="prerender is enabled with multiple simultanious prerenders."/>
  <suffix name="Prerender5minTTL"
      label="prerender is enabled, and the TTL is extended to 5 minutes."/>
  <suffix name="PrerenderMatchComplete"
      label="prerender is enabled, and match complete replacements are used
             to gather extended statistics."/>
  <affected-histogram name="HttpCache.EntryLockWait"/>
  <affected-histogram name="Net.HttpTimeToFirstByte"/>
  <affected-histogram name="PLT.Abandoned"/>
  <affected-histogram name="PLT.BeginToFinish"/>
  <affected-histogram name="PLT.BeginToFinish_ContentPrefetcher"/>
  <affected-histogram name="PLT.BeginToFinish_ContentPrefetcherReferrer"/>
  <affected-histogram name="PLT.BeginToFinishDoc"/>
  <affected-histogram name="PLT.BeginToFinishDoc_ContentPrefetcher"/>
  <affected-histogram name="PLT.BeginToFinishDoc_ContentPrefetcherReferrer"/>
  <affected-histogram name="PLT.PerceivedLoadTime"/>
  <affected-histogram name="PLT.PerceivedLoadTime_PrerenderLoad"/>
  <affected-histogram name="Prerender.FinalStatus"/>
  <affected-histogram name="Prerender.FinalStatusMatchComplete"/>
  <affected-histogram name="Prerender.FractionPixelsFinalAtSwapin"/>
  <affected-histogram name="Prerender.LocalPredictorEvent"/>
  <affected-histogram name="Prerender.PerceivedPLT"/>
  <affected-histogram name="Prerender.PerceivedPLTFirstAfterMiss"/>
  <affected-histogram name="Prerender.PerceivedPLTFirstAfterMissAnyOnly"/>
  <affected-histogram name="Prerender.PerceivedPLTFirstAfterMissBoth"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlapping"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlappingOnly"/>
  <affected-histogram name="Prerender.PerceivedPLTMatched"/>
  <affected-histogram name="Prerender.PerceivedPLTMatchedComplete"/>
  <affected-histogram name="Prerender.PerceivedPLTWindowed"/>
  <affected-histogram name="Prerender.PerceivedPLTWindowNotMatched"/>
  <affected-histogram name="Prerender.PercentLoadDoneAtSwapin"/>
  <affected-histogram name="Prerender.PrerenderNotSwappedInPLT"/>
  <affected-histogram name="Prerender.RendererIdleTime"/>
  <affected-histogram name="Prerender.RendererPerceivedPLT"/>
  <affected-histogram name="Prerender.RendererPerceivedPLTMatched"/>
  <affected-histogram name="Prerender.RendererTimeUntilDisplay"/>
  <affected-histogram name="Prerender.SimulatedLocalBrowsingBaselinePLT"/>
  <affected-histogram name="Prerender.SimulatedLocalBrowsingPLT"/>
</histogram_suffixes>

<histogram_suffixes name="PrerenderHoverType" ordering="prefix">
  <obsolete>
    deprecated May 10 2012
  </obsolete>
  <suffix name="HoverStats_50" label="Hover stats @ threshold 50 ms."/>
  <suffix name="HoverStats_75" label="Hover stats @ threshold 75 ms."/>
  <suffix name="HoverStats_100" label="Hover stats @ threshold 100 ms."/>
  <suffix name="HoverStats_150" label="Hover stats @ threshold 150 ms."/>
  <suffix name="HoverStats_200" label="Hover stats @ threshold 200 ms."/>
  <suffix name="HoverStats_250" label="Hover stats @ threshold 250 ms."/>
  <suffix name="HoverStats_300" label="Hover stats @ threshold 300 ms."/>
  <suffix name="HoverStats_400" label="Hover stats @ threshold 400 ms."/>
  <suffix name="HoverStats_500" label="Hover stats @ threshold 500 ms."/>
  <suffix name="HoverStats_750" label="Hover stats @ threshold 750 ms."/>
  <suffix name="HoverStats_1000" label="Hover stats @ threshold 1000 ms."/>
  <suffix name="HoverStats_1500" label="Hover stats @ threshold 1500 ms."/>
  <suffix name="HoverStats_2000" label="Hover stats @ threshold 2000 ms."/>
  <suffix name="HoverStats_3000" label="Hover stats @ threshold 3000 ms."/>
  <suffix name="HoverStats_4000" label="Hover stats @ threshold 4000 ms."/>
  <suffix name="HoverStats_5000" label="Hover stats @ threshold 5000 ms."/>
  <affected-histogram name="Prerender.Events"/>
  <affected-histogram name="Prerender.TimeToClick"/>
</histogram_suffixes>

<histogram_suffixes name="PrerenderModeType">
  <obsolete>
    Deprecated August 2016
  </obsolete>
  <suffix name="_Disabled" label="PRERENDER_MODE_DISABLED"/>
  <suffix name="_Enabled" label="PRERENDER_MODE_EXPERIMENT_PRERENDER_GROUP"/>
  <suffix name="_Control" label="PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP"/>
  <suffix name="_Multi"
      label="PRERENDER_MODE_EXPERIMENT_MULTI_PRERENDER_GROUP"/>
  <suffix name="_15MinTTL" label="PRERENDER_MODE_EXPERIMENT_15MIN_TTL_GROUP"/>
  <suffix name="_NoUse" label="PRERENDER_MODE_EXPERIMENT_NO_USE_GROUP"/>
  <affected-histogram name="Prerender.OmniboxNavigationsCouldPrerender"/>
  <affected-histogram name="Prerender.OmniboxNavigationsUsedPrerenderCount"/>
  <affected-histogram name="Prerender.OmniboxPrerenderCount"/>
</histogram_suffixes>

<histogram_suffixes name="PrerenderPrefetchAge" separator=".">
  <suffix name="Cold" label="Prefetch too old to skip revalidation."/>
  <suffix name="Reference"
      label="No prefetch. Warning: do not compare with the load times of
             prefetched pages (bias)."/>
  <suffix name="Warm" label="Prefetch skips revalidation."/>
  <affected-histogram name="Prerender.PrefetchTTFCP"/>
</histogram_suffixes>

<histogram_suffixes name="PrerenderPrefetchMainResourceType" separator=".">
  <suffix name="Cacheable" label="Main resource cacheable."/>
  <suffix name="NoStore" label="Main resource no-store."/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Cold"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Reference"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Warm"/>
</histogram_suffixes>

<histogram_suffixes name="PrerenderPrefetchPaintVisibility" separator=".">
  <suffix name="Hidden" label="Page was hidden during rendering."/>
  <suffix name="Visible" label="Page visible for all of rendering."/>
  <affected-histogram name="Prerender.PerceivedTTFCPRecorded"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Cold.Cacheable"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Cold.NoStore"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Reference.Cacheable"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Reference.NoStore"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Warm.Cacheable"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Warm.NoStore"/>
</histogram_suffixes>

<histogram_suffixes name="PrerenderSource" ordering="prefix">
  <suffix name="" label="All prerenders."/>
  <suffix name="gws" label="GWS triggered prerender."/>
  <suffix name="externalrequest" label="Externally triggered prerender."/>
  <suffix name="externalrequestforced"
      label="Forced prerender regardless of network."/>
  <suffix name="Instant" label="Instant search prerender."/>
  <suffix name="none"
      label="No origin; in the case of prefetch TTFCP this is when no
             prefetch was involved."/>
  <suffix name="omnibox" label="Triggered from the omnibox."/>
  <suffix name="wash" label="Multiple sources could have triggered."/>
  <suffix name="web" label="Link triggered prerender."/>
  <suffix name="webcross"
      label="Link triggered prerender, rel=prerender, cross domain."/>
  <suffix name="websame"
      label="Link triggered prerender, rel=prerender, same domain."/>
  <suffix name="webnext" label="Link triggered prerender, rel=next."/>
  <suffix name="offline"
      label="Prerender triggered for saving a page for offline use."/>
  <affected-histogram name="Prerender.AbandonTimeUntilUsed"/>
  <affected-histogram name="Prerender.CookieSendType"/>
  <affected-histogram name="Prerender.CookieStatus"/>
  <affected-histogram name="Prerender.Event"/>
  <affected-histogram name="Prerender.FinalStatus"/>
  <affected-histogram name="Prerender.FractionPixelsFinalAtSwapin"/>
  <affected-histogram name="Prerender.LocalPredictorEvent"/>
  <affected-histogram name="Prerender.LocalPredictorTimeUntilUsed"/>
  <affected-histogram name="Prerender.NetworkBytesUsed"/>
  <affected-histogram name="Prerender.NetworkBytesWasted"/>
  <affected-histogram name="Prerender.NoStatePrefetchAge"/>
  <affected-histogram name="Prerender.NoStatePrefetchMainResourceRedirects"/>
  <affected-histogram name="Prerender.NoStatePrefetchResponseTypes"/>
  <affected-histogram name="Prerender.NoStatePrefetchSubResourceRedirects"/>
  <affected-histogram name="Prerender.PageVisitedStatus"/>
  <affected-histogram name="Prerender.PerceivedPLT"/>
  <affected-histogram name="Prerender.PerceivedPLTFirstAfterMiss"/>
  <affected-histogram name="Prerender.PerceivedPLTFirstAfterMissAnyOnly"/>
  <affected-histogram name="Prerender.PerceivedPLTFirstAfterMissBoth"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlapping"/>
  <affected-histogram
      name="Prerender.PerceivedPLTFirstAfterMissNonOverlappingOnly"/>
  <affected-histogram name="Prerender.PerceivedPLTMatched"/>
  <affected-histogram name="Prerender.PerceivedPLTMatchedComplete"/>
  <affected-histogram name="Prerender.PerceivedPLTWindowed"/>
  <affected-histogram name="Prerender.PerceivedPLTWindowNotMatched"/>
  <affected-histogram name="Prerender.PerceivedTTFCPRecorded.Hidden"/>
  <affected-histogram name="Prerender.PerceivedTTFCPRecorded.Visible"/>
  <affected-histogram name="Prerender.PercentLoadDoneAtSwapin"/>
  <affected-histogram name="Prerender.PrefetchAge"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Cold.Cacheable.Hidden"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Cold.Cacheable.Visible"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Cold.NoStore.Hidden"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Cold.NoStore.Visible"/>
  <affected-histogram
      name="Prerender.PrefetchTTFCP.Reference.Cacheable.Hidden"/>
  <affected-histogram
      name="Prerender.PrefetchTTFCP.Reference.Cacheable.Visible"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Reference.NoStore.Hidden"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Reference.NoStore.Visible"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Warm.Cacheable.Hidden"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Warm.Cacheable.Visible"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Warm.NoStore.Hidden"/>
  <affected-histogram name="Prerender.PrefetchTTFCP.Warm.NoStore.Visible"/>
  <affected-histogram name="Prerender.PrerenderNotSwappedInPLT"/>
  <affected-histogram name="Prerender.PrerendersPerSessionCount"/>
  <affected-histogram name="Prerender.SimulatedLocalBrowsingBaselinePLT"/>
  <affected-histogram name="Prerender.SimulatedLocalBrowsingPLT"/>
  <affected-histogram name="Prerender.TimeBetweenPrerenderRequests"/>
  <affected-histogram name="Prerender.TimeSinceLastRecentVisit"/>
  <affected-histogram name="Prerender.TimeUntilUsed2"/>
</histogram_suffixes>

<histogram_suffixes name="Previews.Types" separator=".">
  <suffix name="Offline" label="Offline previews"/>
  <suffix name="ClientLoFi" label="Client LoFi previews"/>
  <affected-histogram name="Previews.EligibilityReason"/>
</histogram_suffixes>

<histogram_suffixes name="ProcessType" separator=".">
  <suffix name="BrowserProcess" label="Browser Process"/>
  <suffix name="RendererProcess"
      label="Renderer Process (not an extension process)"/>
  <suffix name="ExtensionProcess" label="Extension Process"/>
  <affected-histogram name="Extensions.ExtensionCreationTime"/>
</histogram_suffixes>

<histogram_suffixes name="ProfileMenuGAIASource" separator=".">
  <suffix name="NonGAIA" label="Interaction was not initiated from GAIA"/>
  <suffix name="GAIASignout"
      label="GAIA-initiated interaction indicating a service type of Signout"/>
  <suffix name="GAIAIncognito"
      label="GAIA-initiated interaction indicating a service type of
             Incognito (used for DesktopMenu)"/>
  <suffix name="GAIASignoutIncognito"
      label="GAIA-initiated interaction indicating a service type of Signout
             and go Incognito (used for AndroidAccountManagementMenu)"/>
  <suffix name="GAIAAddSession"
      label="GAIA-initiated interaction indicating a service type of Add a
             Session"/>
  <suffix name="GAIAReAuth"
      label="GAIA-initiated interaction indicating a service type of
             Reauthenticate this user"/>
  <suffix name="GAIASignup"
      label="GAIA-initiated interaction indicating a service type of Add an
             account"/>
  <suffix name="GAIADefault"
      label="GAIA-initiated interaction indicating the default service type"/>
  <affected-histogram name="Profile.AndroidAccountManagementMenu"/>
  <affected-histogram name="Profile.DesktopMenu"/>
</histogram_suffixes>

<histogram_suffixes name="ProfileOpenState" separator=".">
  <suffix name="ToOpenedProfile"
      label="The profile being switched to was already loaded and had at
             least one open browser"/>
  <suffix name="ToUnopenedProfile"
      label="The profile being switched to had not yet been loaded this
             Chrome session"/>
  <suffix name="ToOpenedProfileWithoutBrowser"
      label="The profile being switched to was already opened and had no
             active browsers"/>
  <affected-histogram name="Profile.OpenMethod"/>
</histogram_suffixes>

<histogram_suffixes name="ProfilePictureDownload" separator=".">
  <suffix name="Default.OOBE" label="default picture, in OOBE"/>
  <suffix name="Default.LoggedIn" label="default picture, after login"/>
  <suffix name="Default.Preferences" label="default picture, in Prefs"/>
  <suffix name="Failure.OOBE" label="download has failed, in OOBE"/>
  <suffix name="Failure.LoggedIn" label="download has failed, after login"/>
  <suffix name="Failure.Preferences" label="download has failed, in Prefs"/>
  <suffix name="Success.OOBE" label="download was successful, in OOBE"/>
  <suffix name="Success.LoggedIn" label="download was successful, after login"/>
  <suffix name="Success.Preferences" label="download was successful, in Prefs"/>
  <affected-histogram name="UserImage.ProfileDownloadTime"/>
</histogram_suffixes>

<histogram_suffixes name="ProgressiveScan">
  <suffix name="FullScan" label="Using WPA_supplicant to scan."/>
  <suffix name="33Percent_4MinMax"
      label="Progressive scan @ 33%, 4 frequency bins."/>
  <suffix name="50Percent_4MinMax"
      label="Progressive scan @ 50%, 4 frequency bins."/>
  <suffix name="50Percent_8MinMax"
      label="Progressive scan @ 50%, 8 frequency bins."/>
  <suffix name="100Percent_8MinMax"
      label="Progressive scan @ 100%, 8 frequency bins."/>
  <suffix name="100Percent_1MinSeen_A"
      label="Progressive scan @ all previously seen frequencies (A)."/>
  <suffix name="100Percent_1MinSeen_B"
      label="Progressive scan @ all previously seen frequencies (B)."/>
  <suffix name="100Percent_1Min_4Max"
      label="Progressive scan @ 100%, minimum 1/maximum 4 frequencies."/>
  <affected-histogram name="Network.Shill.TimeToDrop"/>
  <affected-histogram name="Network.Shill.WiFi.ScanResult"/>
  <affected-histogram name="Network.Shill.Wifi.TimeToConnect"/>
  <affected-histogram name="Network.Shill.Wifi.TimeToJoin"/>
  <affected-histogram name="Network.Shill.Wifi.TimeToScan"/>
  <affected-histogram name="Network.Shill.Wifi.TimeToScanAndConnect"/>
</histogram_suffixes>

<histogram_suffixes name="ProtectorSettingChange" separator=".">
  <obsolete>
    Deprecated 8/2013. No longer tracked.
  </obsolete>
  <suffix name="Applied" label="change has been accepted by user"/>
  <suffix name="Corrupt" label="possibly hijacked, backup invalid"/>
  <suffix name="Discarded" label="change has been reverted by user"/>
  <suffix name="Fallback" label="fallback provider used (no backup available)"/>
  <suffix name="Hijacked" label="hijacked, with a valid backup"/>
  <suffix name="Missing" label="fallback provider missing, added"/>
  <suffix name="New" label="(obsolete, was sum of Corrupt+Hijacked)"/>
  <suffix name="Restored"
      label="search provider restored by Protector before showing the bubble"/>
  <suffix name="Timeout" label="change has been ignored by user (timed out)"/>
  <affected-histogram name="Protector.SearchProvider"/>
  <affected-histogram name="Protector.StartupSettings"/>
</histogram_suffixes>

<histogram_suffixes name="ProxyConnectionImpact">
  <suffix name="proxy_connections_16"
      label="with 16 connections per proxy server"/>
  <suffix name="proxy_connections_32"
      label="with 32 connections per proxy server"/>
  <suffix name="proxy_connections_64"
      label="with 64 connections per proxy server"/>
  <suffix name="proxy_connections_8"
      label="with 8 connections per proxy server"/>
  <affected-histogram name="Net.HttpProxySocketRequestTime"/>
  <affected-histogram name="Net.SocksSocketRequestTime"/>
  <affected-histogram name="PLT.Abandoned"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadReload"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadStaleOk"/>
  <affected-histogram name="PLT.BeginToFinish_NormalLoad"/>
</histogram_suffixes>

<histogram_suffixes name="PurgeAndSuspendExperiment" separator=".">
  <suffix name="BlinkGCKB" label="Constrained to the BlinkGC allocator"/>
  <suffix name="DiscardableKB" label="Constrained to discardable memory usage"/>
  <suffix name="PartitionAllocKB"
      label="Constrained to PartitionAlloc allocator"/>
  <suffix name="MallocKB" label="Constrained to malloc memory usage"/>
  <suffix name="TotalAllocatedKB"
      label="Summed over the PartitionAlloc, malloc, discardable memory,
             mainThreadIsolate() and BlinkGC allocators"/>
  <suffix name="V8MainThreadIsolateKB"
      label="Constrained to memory usage by mainThreadIsolate()"/>
  <affected-histogram name="PurgeAndSuspend.Experimental.MemoryGrowth"/>
</histogram_suffixes>

<histogram_suffixes name="QueryTimeSuffix" separator=".">
  <suffix name="0" label="N = 0"/>
  <suffix name="1" label="N = 1"/>
  <suffix name="2" label="N = 2"/>
  <suffix name="3" label="N = 3"/>
  <suffix name="4" label="N = 4"/>
  <suffix name="5" label="N = 5"/>
  <affected-histogram name="Omnibox.QueryTime"/>
  <affected-histogram name="Omnibox.QueryTime2"/>
  <affected-histogram name="ShortcutsProvider.QueryIndexTime"/>
</histogram_suffixes>

<histogram_suffixes name="QuicConnectionType" separator="">
  <owner>rch@chromium.org</owner>
  <suffix name="ForHTTP" label="Only insecure HTTP connections are counted.">
    <obsolete>
      Deprecated 10/2015.
    </obsolete>
  </suffix>
  <suffix name="ForHTTPS" label="Only secure HTTPS connections are counted."/>
  <affected-histogram name="Net.QuicSession.ConnectRandomPort"/>
  <affected-histogram
      name="Net.QuicSession.ConnectRandomPortRequiringConfirmation"/>
  <affected-histogram name="Net.QuicSession.ConnectSelectPort">
    <obsolete>
      Deprecated 04/2016.
    </obsolete>
  </affected-histogram>
  <affected-histogram name="Net.QuicSession.HandshakeRoundTrips"/>
</histogram_suffixes>

<histogram_suffixes name="QuicPortSelection" separator="">
  <owner>rch@chromium.org</owner>
  <suffix name="SelectPort"
      label="An effort was mode to (try to) consistently connect using the
             same source port for the given server IP/port."/>
  <suffix name="RandomPort"
      label="The operating system randomly selected a source port for the
             connection."/>
  <affected-histogram name="Net.QuicSession.Connect"/>
</histogram_suffixes>

<histogram_suffixes name="QuicSessionVerifyProofTime" separator=".">
  <suffix name="" label="Verification time for a server."/>
  <suffix name="google" label="Verification time for www.google.com server."/>
  <suffix name="CachedServerConfig"
      label="Verification time for a server when server config from cache is
             used."/>
  <affected-histogram name="Net.QuicSession.VerifyProofTime"/>
</histogram_suffixes>

<histogram_suffixes name="RasterBufferProvider" separator=".">
  <suffix name="Gpu" label="The GpuRasterBufferProvider was in use."/>
  <suffix name="OneCopy" label="The OneCopyRasterBufferProvider was in use."/>
  <affected-histogram name="Renderer4.Browser.PartialRasterPercentageSaved"/>
  <affected-histogram name="Renderer4.Renderer.PartialRasterPercentageSaved"/>
</histogram_suffixes>

<histogram_suffixes name="RasterTaskType" separator=".">
  <suffix name="" label="This metric includes both gpu and software raster."/>
  <suffix name="Gpu" label="This metric is for only gpu raster."/>
  <suffix name="Software" label="This metric is for only software raster."/>
  <affected-histogram name="Compositing.Browser.RasterTask.RasterPixelsPerMs"/>
  <affected-histogram name="Compositing.Browser.RasterTask.RasterPixelsPerMs2"/>
  <affected-histogram name="Compositing.Browser.RasterTask.RasterUs"/>
  <affected-histogram name="Compositing.Renderer.RasterTask.RasterPixelsPerMs"/>
  <affected-histogram
      name="Compositing.Renderer.RasterTask.RasterPixelsPerMs2"/>
  <affected-histogram name="Compositing.Renderer.RasterTask.RasterUs"/>
  <affected-histogram name="Renderer4.ImageDecodeTaskDurationUs"/>
</histogram_suffixes>

<histogram_suffixes name="ReferrerAttribution" separator=".">
  <suffix name="DownloadAttribution" label="Download referrer attribution."/>
  <suffix name="PhishingInterstitialAttribution"
      label="Phishing interstitial referrer attribution."/>
  <suffix name="PPAPIDownloadAttribution"
      label="PPAPI download referrer attribution."/>
  <suffix name="MalwareInterstitialAttribution"
      label="Malware interstitial referrer attribution."/>
  <suffix name="UwsInterstitialAttribution"
      label="UwS interstitial referrer attribution."/>
  <suffix name="PasswordEventAttribution"/>
  <affected-histogram name="SafeBrowsing.ReferrerAttributionResult"/>
  <affected-histogram name="SafeBrowsing.ReferrerHasInvalidTabID"/>
  <affected-histogram name="SafeBrowsing.ReferrerURLChainSize"/>
</histogram_suffixes>

<histogram_suffixes name="RemoteProcessWarmStartFast" separator="">
  <suffix name="" label="Normal start."/>
  <suffix name="Fast"
      label="Fast start by skipping normal chrome.dll startup."/>
  <affected-histogram name="Startup.WarmStartTimeFromRemoteProcessStart"/>
</histogram_suffixes>

<histogram_suffixes name="RendererEventLatency" separator=".">
  <suffix name="Char" label="The Char event occurs on textual keyboard input."/>
  <suffix name="ContextMenu" label="For ContextMenu event."/>
  <suffix name="GestureDoubleTap"
      label="A GestureDoubleTap occurs when the user double taps on a
             touchscreen."/>
  <suffix name="GestureFlingCancel"
      label="A GestureFlingCancel is sent to the renderer to cancel any
             active flings."/>
  <suffix name="GestureFlingStart"
      label="A GestureFlingStart is sent when the user quickly flicks on a
             touchscreen."/>
  <suffix name="GestureLongPress"
      label="A GestureLongPress is sent when the user taps down and holds
             their finger on a touchscreen."/>
  <suffix name="GestureLongTap"
      label="A GestureLongTap is sent when the user taps down on a
             touchscreen, holds their finger for a while, then releases."/>
  <suffix name="GesturePinchBegin"
      label="A GesturePinchBegin is sent when a user starts a pinch zoom
             motion on a touchscreen."/>
  <suffix name="GesturePinchEnd"
      label="A GesturePinchEnd is sent when the user releases their fingers
             from the touchscreen after performing a pinch zoom motion."/>
  <suffix name="GesturePinchUpdate"
      label="GesturePinchUpdate events are sent while the user is performing
             a pinch zoom motion on a touch screen. GesturePinchUpdate events
             are sent as the user changes the distance between their fingers."/>
  <suffix name="GestureScrollBegin"
      label="A GestureScrollBegin is sent at the beginning of a gesture
             scroll on a touchscreen."/>
  <suffix name="GestureScrollEnd"
      label="A GestureScrollEnd is sent when the user releases their finger
             after a gesture scroll on a touchscreen."/>
  <suffix name="GestureScrollUpdate"
      label="GestureScrollUpdate events are sent as the user drags their
             finger along the touchscreen during a gesture scroll."/>
  <suffix name="GestureScrollUpdateWithoutPropagation"
      label="GestureScrollUpdateWithoutPropagation events are scroll updates
             that shouldn't bubble, generated by a gesture fling."/>
  <suffix name="GestureShowPress"
      label="A GestureShowPress event is sent when the user presses down on
             the touchscreen but before a GestureTapDown."/>
  <suffix name="GestureTap"
      label="A GestureTap is sent when the user presses down and releases on
             a touchscreen."/>
  <suffix name="GestureTapUnconfirmed"
      label="A GestureTapUnconfirmed is sent when the user taps the
             touchscreen but, due to a delay, the GestureTap isn't sent yet."/>
  <suffix name="GestureTapCancel"
      label="A GestureTapCancel is sent to cancel a pending GestureTap event.
             For example, if the user taps down but drags their finger
             instead of releasing it."/>
  <suffix name="GestureTapDown"
      label="A GestureTapDown is sent when the user presses on the
             touchscreen in what could potentially be a full GestureTap
             event."/>
  <suffix name="GestureTwoFingerTap"
      label="A GestureTwoFingerTap is sent when the user presses down a
             releases on a touchscreen with two fingers."/>
  <suffix name="KeyDown"
      label="A KeyDown event is sent when a keyboard key is pressed down."/>
  <suffix name="KeyUp"
      label="A KeyUp event is sent when a depressed keyboard key is released."/>
  <suffix name="MouseDown"
      label="A MouseDown event is sent when the user click down a mouse
             button."/>
  <suffix name="MouseEnter"
      label="A MouseEnter event is sent when the mouse cursor enters the
             renderer area."/>
  <suffix name="MouseLeave"
      label="A MouseLeave event is sent when the mouse cursor leaves the
             renderer area."/>
  <suffix name="MouseMove"
      label="A MouseMove event is sent when the mouse cursor moves within the
             renderer area."/>
  <suffix name="MouseUp"
      label="A MouseUp event is sent when a depressed mouse button is
             released."/>
  <suffix name="MouseWheel"
      label="A MouseWheel event is sent when the user scrolls using the mouse
             wheel within the renderer area."/>
  <suffix name="RawKeyDown"
      label="A RawKeyDown event is a wrapper around a native key event."/>
  <suffix name="TouchCancel"
      label="A TouchCancel is used to cancel an existing touch point. For
             example, if the user drags a finger outside the bounds of the
             renderer."/>
  <suffix name="TouchEnd"
      label="A TouchEnd is send when the user lifts a finger from the
             touchscreen."/>
  <suffix name="TouchMove"
      label="A TouchMove is sent when the user moves a finger along the
             touchscreen."/>
  <suffix name="TouchStart"
      label="A TouchStart is sent when the user first touches a finger to the
             touchscreen."/>
  <suffix name="Undefined" label="For unknown or undefined events."/>
  <affected-histogram name="Event.Latency.Renderer"/>
  <affected-histogram name="Event.Latency.Renderer2"/>
  <affected-histogram name="Event.Latency.RendererImpl"/>
</histogram_suffixes>

<histogram_suffixes name="RendererMemoryAllocator" separator=".">
  <suffix base="true" name="BlinkGC"
      label="Constrained to the BlinkGC allocator"/>
  <suffix base="true" name="Discardable"
      label="Constrained to discardable memory usage"/>
  <suffix base="true" name="Malloc" label="Constrained to malloc usage"/>
  <suffix base="true" name="NonDiscardableTotalAllocated"
      label="Summed over the PartitionAlloc, malloc, mainThreadIsolate() and
             BlinkGC allocators"/>
  <suffix base="true" name="PartitionAlloc"
      label="Constrained to the PartitionAlloc allocator"/>
  <suffix base="true" name="TotalAllocatedPerRenderView"
      label="TotalAllocated divided by the number of RenderViews"/>
  <suffix base="true" name="V8MainThreadIsolate"
      label="Constrained to memory usage by mainThreadIsolate()"/>
  <suffix base="true" name="TotalAllocated"
      label="Summed over the PartitionAlloc, malloc, discardable memory,
             mainThreadIsolate() and BlinkGC allocators"/>
  <affected-histogram name="Memory.Experimental.Renderer"/>
</histogram_suffixes>

<histogram_suffixes name="RendererMemoryTiming" separator=".">
  <suffix name="DidFinishLoad"
      label="Recorded each time DidFinishLoad is called for *any* frame
             within the page."/>
  <suffix name="MainFrameDidFinishLoad"
      label="Recorded when DidFinishLoad is called for the main frame."/>
  <affected-histogram name="Memory.Experimental.Renderer.BlinkGC"/>
  <affected-histogram name="Memory.Experimental.Renderer.Discardable"/>
  <affected-histogram name="Memory.Experimental.Renderer.Malloc"/>
  <affected-histogram
      name="Memory.Experimental.Renderer.NonDiscardableTotalAllocated"/>
  <affected-histogram name="Memory.Experimental.Renderer.PartitionAlloc"/>
  <affected-histogram name="Memory.Experimental.Renderer.TotalAllocated"/>
  <affected-histogram
      name="Memory.Experimental.Renderer.TotalAllocatedPerRenderView"/>
  <affected-histogram name="Memory.Experimental.Renderer.V8MainThreadIsolate"/>
</histogram_suffixes>

<histogram_suffixes name="RequestMediaKeySystemAccessKeySystems" separator=".">
  <suffix name="ClearKey" label="Requests for the Clear Key key system."/>
  <suffix name="Unknown"
      label="Requests for an unknown or unsupported key system."/>
  <suffix name="Widevine" label="Requests for the Widevine key system."/>
  <affected-histogram name="Media.EME.RequestMediaKeySystemAccess"/>
</histogram_suffixes>

<histogram_suffixes name="RequestThrottlerTypes">
  <suffix name="SuggestionFetcher"
      label="Fetcher for content suggestions on mobile NTP">
    <obsolete>
      Deprecated in 10/2016.
    </obsolete>
  </suffix>
  <suffix name="SuggestionFetcherRareNTPUser"
      label="Fetcher for content suggestions on mobile NTP - rare NTP users"/>
  <suffix name="SuggestionFetcherActiveNTPUser"
      label="Fetcher for content suggestions on mobile NTP - active NTP users"/>
  <suffix name="SuggestionFetcherActiveSuggestionsConsumer"
      label="Fetcher for content suggestions on mobile NTP - active
             suggestions consumers"/>
  <suffix name="SuggestionThumbnailFetcher"
      label="Fetcher for article thumbnails on mobile NTP"/>
  <affected-histogram name="NewTabPage.RequestThrottler.PerDay"/>
  <affected-histogram name="NewTabPage.RequestThrottler.PerDayInteractive"/>
  <affected-histogram name="NewTabPage.RequestThrottler.RequestStatus"/>
</histogram_suffixes>

<histogram_suffixes name="ResourceLoaderSizeSlice" separator=".">
  <suffix name="LT_2kB" label="Sliced for resources smaller than 2kB."/>
  <suffix name="LT_32kB"
      label="Sliced for resources smaller than 32kB and larger than 2kB."/>
  <suffix name="LT_512kB"
      label="Sliced for resources smaller than 512kB and larger than 32kB."/>
  <suffix name="Over_512kB" label="Sliced for resources larger than 512kB."/>
  <suffix name="InliningApplicable"
      label="Resources that the chunk inlining is applicable.">
    <obsolete>
      This experiment was turned down, see https://crbug.com/703188.
    </obsolete>
  </suffix>
  <affected-histogram name="Net.ResourceLoader.ResponseStartToEnd"/>
</histogram_suffixes>

<histogram_suffixes name="ResourcePrefetchPredictorNetworkTypePrefetch"
    separator=".">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <suffix name="NotPrefetched"
      label="Number of non-prefetched pages on each type of network."/>
  <suffix name="Prefetched"
      label="Number of prefetched pages on each type of network."/>
  <affected-histogram name="ResourcePrefetchPredictor.NetworkType"/>
</histogram_suffixes>

<histogram_suffixes name="ResourcePrefetchPredictorPLTNetworkTypes">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <suffix name="2G" label="Page load time in 2G network."/>
  <suffix name="3G" label="Page load time in 3G network."/>
  <suffix name="4G" label="Page load time in 4G network."/>
  <suffix name="Bluetooth" label="Page load time in bluetooth network."/>
  <suffix name="Cellular" label="Page load time in cellular network."/>
  <suffix name="Ethernet" label="Page load time in Ethernet."/>
  <suffix name="None" label="Page load time without network connection."/>
  <suffix name="Unknown" label="Page load time in unknown type of network."/>
  <suffix name="WiFi" label="Page load time in WiFi network."/>
  <affected-histogram name="ResourcePrefetchPredictor.PLT"/>
  <affected-histogram name="ResourcePrefetchPredictor.PLT.NotPrefetched"/>
  <affected-histogram name="ResourcePrefetchPredictor.PLT.Prefetched"/>
  <affected-histogram name="ResourcePrefetchPredictor.PLT.Prefetched.Host"/>
  <affected-histogram name="ResourcePrefetchPredictor.PLT.Prefetched.Url"/>
</histogram_suffixes>

<histogram_suffixes name="ResourcePrefetchPredictorPLTPrefetch" separator=".">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <suffix name="NotPrefetched"
      label="Page load time for non-prefetched pages."/>
  <suffix name="Prefetched" label="Page load time for prefetched pages."/>
  <affected-histogram name="ResourcePrefetchPredictor.PLT"/>
</histogram_suffixes>

<histogram_suffixes name="ResourcePrefetchPredictorPLTPrefetchType"
    separator=".">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <suffix name="Host"
      label="Page load time for prefetched pages based on main frame host."/>
  <suffix name="Url"
      label="Page load time for prefetched pages based on main frame URL."/>
  <affected-histogram name="ResourcePrefetchPredictor.PLT.Prefetched"/>
</histogram_suffixes>

<histogram_suffixes name="ResourcePrefetchPredictorPredictedStatsVariedMax">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <suffix name="25"
      label="Covers statistics when the maximum subresources that can be
             prefetched is set to 25."/>
  <suffix name="50"
      label="Covers statistics when the maximum subresources that can be
             prefetched is set to 50."/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Host.PredictedPrefetchCount"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Host.PredictedPrefetchFromCache_Count"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Host.PredictedPrefetchFromCache_PercentOfTotalPrefetched"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Host.PredictedPrefetchFromNetwork_Count"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Host.PredictedPrefetchFromNetwork_PercentOfTotalPrefetched"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Host.PredictedPrefetchFromNetworkPercentOfTotalFromNetwork"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Host.PredictedPrefetchMisses_Count"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Host.PredictedPrefetchMisses_PercentOfTotalPrefetched"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Url.PredictedPrefetchCount"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Url.PredictedPrefetchFromCache_Count"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Url.PredictedPrefetchFromCache_PercentOfTotalPrefetched"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Url.PredictedPrefetchFromNetwork_Count"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Url.PredictedPrefetchFromNetwork_PercentOfTotalPrefetched"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Url.PredictedPrefetchFromNetworkPercentOfTotalFromNetwork"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Url.PredictedPrefetchMisses_Count"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Url.PredictedPrefetchMisses_PercentOfTotalPrefetched"/>
</histogram_suffixes>

<histogram_suffixes name="ResourcePrefetchPredictorPredictedStatTypes">
  <obsolete>
    Deprecated September 2016. No longer recorded.
  </obsolete>
  <suffix name="Count" label="Predicted accuracy stats as the raw numbers."/>
  <suffix name="PercentOfTotalPrefetched"
      label="Predicted accuracy stats as percent of total resources
             prefetched."/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Host.PredictedPrefetchFromCache"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Host.PredictedPrefetchFromNetwork"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Host.PredictedPrefetchMisses"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Url.PredictedPrefetchFromCache"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Url.PredictedPrefetchFromNetwork"/>
  <affected-histogram
      name="ResourcePrefetchPredictor.Url.PredictedPrefetchMisses"/>
</histogram_suffixes>

<histogram_suffixes name="ResourceSchedulerClientBreakDown">
  <obsolete>
    Deprecated 1/2016
  </obsolete>
  <suffix name="1Client" label="One Client in the ResourceScheduler."/>
  <suffix name="Max5Clients"
      label="Two to five Clients in the ResourceScheduler."/>
  <suffix name="Max15Clients"
      label="Six to fifteen Clients in the ResourceScheduler."/>
  <suffix name="Max30Clients"
      label="Sixteen to thirty Clients in the ResourceScheduler."/>
  <suffix name="Over30Clients"
      label="Over thirty Clients in the ResourceScheduler."/>
  <affected-histogram name="ResourceScheduler.ClientLoadedTime.Active"/>
  <affected-histogram name="ResourceScheduler.ClientLoadedTime.Background"/>
  <affected-histogram name="ResourceScheduler.ClientLoadedTime.Other"/>
  <affected-histogram
      name="ResourceScheduler.ClientLoadedTime.Other.SwitchedToActive"/>
</histogram_suffixes>

<histogram_suffixes name="ResourceType" separator=".">
  <suffix name="MainResource"/>
  <suffix name="Image"/>
  <suffix name="CSSStyleSheet"/>
  <suffix name="Script"/>
  <suffix name="Font"/>
  <suffix name="Raw"/>
  <suffix name="SVGDocument"/>
  <suffix name="XSLStyleSheet"/>
  <suffix name="LinkPrefetch"/>
  <suffix name="LinkSubresource"/>
  <suffix name="TextTrack"/>
  <suffix name="ImportResource"/>
  <suffix name="Media"/>
  <suffix name="Manifest"/>
  <affected-histogram name="Blink.MemoryCache.RevalidationPolicy"/>
  <affected-histogram name="Blink.MemoryCache.RevalidationPolicy.Dead"/>
  <affected-histogram name="Blink.MemoryCache.RevalidationPolicy.Preload"/>
  <affected-histogram name="PreloadScanner.Counts"/>
  <affected-histogram name="PreloadScanner.Counts.Miss"/>
  <affected-histogram name="PreloadScanner.Counts2"/>
  <affected-histogram name="PreloadScanner.Counts2.Miss"/>
</histogram_suffixes>

<histogram_suffixes name="SafeBrowsing.V4Store.Metrics" separator=".">
  <suffix name="AnyIpMalware" label="(Obsolete. Was: AnyIpMalware)"/>
  <suffix name="CertCsdDownloadWhitelist"/>
  <suffix name="ChromeExtMalware"/>
  <suffix name="ChromeFilenameClientIncident"/>
  <suffix name="ChromeUrlClientIncident"/>
  <suffix name="IpMalware"/>
  <suffix name="UrlCsdDownloadWhitelist"/>
  <suffix name="UrlCsdWhitelist"/>
  <suffix name="UrlMalware"/>
  <suffix name="UrlMalBin"/>
  <suffix name="UrlSoceng"/>
  <suffix name="UrlUws"/>
  <affected-histogram name="SafeBrowsing.V4Database.Size"/>
  <affected-histogram
      name="SafeBrowsing.V4ProcessFullUpdate.ApplyUpdate.Result"/>
  <affected-histogram name="SafeBrowsing.V4ProcessFullUpdate.ApplyUpdate.Time"/>
  <affected-histogram
      name="SafeBrowsing.V4ProcessFullUpdate.DecodeAdditions.Result"/>
  <affected-histogram
      name="SafeBrowsing.V4ProcessFullUpdate.DecodeAdditions.Time"/>
  <affected-histogram name="SafeBrowsing.V4ProcessFullUpdate.MergeUpdate.Time"/>
  <affected-histogram
      name="SafeBrowsing.V4ProcessPartialUpdate.ApplyUpdate.Result"/>
  <affected-histogram
      name="SafeBrowsing.V4ProcessPartialUpdate.ApplyUpdate.Time"/>
  <affected-histogram
      name="SafeBrowsing.V4ProcessPartialUpdate.DecodeAdditions.Result"/>
  <affected-histogram
      name="SafeBrowsing.V4ProcessPartialUpdate.DecodeAdditions.Time"/>
  <affected-histogram
      name="SafeBrowsing.V4ProcessPartialUpdate.DecodeRemovals.Result"/>
  <affected-histogram
      name="SafeBrowsing.V4ProcessPartialUpdate.DecodeRemovals.Time"/>
  <affected-histogram
      name="SafeBrowsing.V4ProcessPartialUpdate.MergeUpdate.Time"/>
  <affected-histogram name="SafeBrowsing.V4ReadFromDisk.ApplyUpdate.Result"/>
  <affected-histogram name="SafeBrowsing.V4ReadFromDisk.ApplyUpdate.Time"/>
  <affected-histogram
      name="SafeBrowsing.V4ReadFromDisk.DecodeAdditions.Result"/>
  <affected-histogram name="SafeBrowsing.V4ReadFromDisk.DecodeAdditions.Time"/>
  <affected-histogram name="SafeBrowsing.V4ReadFromDisk.MergeUpdate.Time"/>
</histogram_suffixes>

<histogram_suffixes name="SafeBrowsingLists" separator=".">
  <suffix name="Browse" label="Browse"/>
  <suffix name="Download" label="Download"/>
  <suffix name="CsdWhitelist" label="CsdWhitelist"/>
  <suffix name="DownloadWhitelist" label="DownloadWhitelist"/>
  <suffix name="InclusionWhitelist" label="InclusionWhitelist"/>
  <suffix name="ExtensionBlacklist" label="ExtensionBlacklist"/>
  <suffix name="SideEffectFreeWhitelist" label="SideEffectFreeWhitelist">
    <obsolete>
      Deprecated 4/2015.
    </obsolete>
  </suffix>
  <suffix name="IPBlacklist" label="IPBlacklist"/>
  <suffix name="UnwantedSoftware" label="UnwantedSoftware"/>
  <suffix name="ResourceBlacklist" label="ResourceBlacklist"/>
  <affected-histogram name="SB2.DatabaseSizeKilobytes"/>
  <affected-histogram name="SB2.PrefixSetSizeKilobytes"/>
</histogram_suffixes>

<histogram_suffixes name="SafeBrowsingScoutGroupValues" separator=".">
  <suffix name="NoScoutGroup"
      label="User sees the legacy Extended Reporting opt-in"/>
  <suffix name="ScoutGroup"
      label="User sees the new Extended Reporting opt-in"/>
  <affected-histogram name="SafeBrowsing.Pref.Scout"/>
</histogram_suffixes>

<histogram_suffixes name="SafeBrowsingScoutInterstitialDecisions" separator=".">
  <suffix name="First_LeftUnchecked"
      label="User saw opt-in for first time and left it unchecked"/>
  <suffix name="First_Enabled"
      label="User saw opt-in for first time and enabled it"/>
  <suffix name="First_Disabled"
      label="User saw opt-in for first time and disabled it"/>
  <suffix name="Repeat_LeftEnabled"
      label="User saw opt-in again and left it enabled"/>
  <suffix name="Repeat_Disabled"
      label="User saw opt-in again and changed it to disabled"/>
  <suffix name="Repeat_Enabled"
      label="User saw opt-in again and changed it to enabled"/>
  <suffix name="Repeat_LeftDisabled"
      label="User saw opt-in again and left it disabled"/>
  <affected-histogram name="SafeBrowsing.Pref.Scout.Decision"/>
</histogram_suffixes>

<histogram_suffixes name="SafeBrowsingScoutOptInLocations" separator=".">
  <suffix name="ChromeSettings" label="The settings UI on Desktop"/>
  <suffix name="AndroidSettings" label="The settings UI on Android"/>
  <suffix name="DownloadPopup" label="The Download Feedback popup"/>
  <suffix name="SecurityInterstitial"
      label="One of the Security Interstitials (malware, SSL, etc)"/>
  <affected-histogram name="SafeBrowsing.Pref.Scout.SetPref.SBER1Pref"/>
  <affected-histogram name="SafeBrowsing.Pref.Scout.SetPref.SBER2Pref"/>
</histogram_suffixes>

<histogram_suffixes name="SafeBrowsingScoutPrefValues" separator=".">
  <suffix name="SBER1Pref" label="Value of the legacy Extended Reporting pref"/>
  <suffix name="SBER2Pref" label="Value of the new Extended Reporting pref"/>
  <affected-histogram name="SafeBrowsing.Pref.SawInterstitial"/>
  <affected-histogram name="SafeBrowsing.Pref.Scout.NoScoutGroup"/>
  <affected-histogram name="SafeBrowsing.Pref.Scout.ScoutGroup"/>
  <affected-histogram name="SafeBrowsing.Pref.Scout.SetPref"/>
</histogram_suffixes>

<histogram_suffixes name="SameVersionStartupCounts" separator=".">
  <suffix name="1" label="1st startup with same version"/>
  <suffix name="2" label="2nd startup with same version"/>
  <suffix name="3" label="3rd startup with same version"/>
  <suffix name="4" label="4th startup with same version"/>
  <suffix name="5" label="5th startup with same version"/>
  <suffix name="6" label="6th startup with same version"/>
  <suffix name="7" label="7th startup with same version"/>
  <suffix name="8" label="8th startup with same version"/>
  <suffix name="9" label="9th startup with same version"/>
  <suffix name="Over" label="&gt; 9th startup with same version"/>
  <affected-histogram name="Startup.BrowserMainToRendererMain"/>
  <affected-histogram name="Startup.BrowserMessageLoopStartHardFaultCount"/>
  <affected-histogram name="Startup.BrowserMessageLoopStartTime"/>
  <affected-histogram name="Startup.BrowserMessageLoopStartTimeFromMainEntry"/>
  <affected-histogram name="Startup.BrowserMessageLoopStartTimeFromMainEntry2"/>
  <affected-histogram name="Startup.BrowserOpenTabs"/>
  <affected-histogram name="Startup.BrowserWindowDisplay"/>
  <affected-histogram name="Startup.FirstWebContents.MainFrameLoad2"/>
  <affected-histogram name="Startup.FirstWebContents.MainNavigationFinished"/>
  <affected-histogram name="Startup.FirstWebContents.MainNavigationStart"/>
  <affected-histogram name="Startup.FirstWebContents.NonEmptyPaint2"/>
  <affected-histogram name="Startup.LoadTime.ExeMainToDllMain"/>
  <affected-histogram name="Startup.LoadTime.ExeMainToDllMain2"/>
  <affected-histogram name="Startup.LoadTime.ProcessCreateToDllMain"/>
  <affected-histogram name="Startup.LoadTime.ProcessCreateToDllMain2"/>
  <affected-histogram name="Startup.LoadTime.ProcessCreateToExeMain"/>
  <affected-histogram name="Startup.LoadTime.ProcessCreateToExeMain2"/>
  <affected-histogram name="Startup.SystemUptime"/>
  <affected-histogram name="Startup.Temperature"/>
  <affected-histogram name="Startup.TimeSinceLastStartup"/>
</histogram_suffixes>

<histogram_suffixes name="SB2ResourceTypes" separator=".">
  <suffix name="Checked"
      label="Resources that were checked. Logged before the resource starts
             loading and again for each redirect."/>
  <suffix name="Safe"
      label="Resources that were checked and deemed safe. Logged when the URL
             check is completed.">
    <obsolete>
      Deprecated in 9/2016.
    </obsolete>
  </suffix>
  <suffix name="Skipped"
      label="Resources that were not checked because they are not active-ish
             content types. Only used on mobile. Logged before the resource
             request starts."/>
  <suffix name="Unsafe"
      label="Resources that were checked and classified as unsafe. Logged
             when the URL check is completed."/>
  <suffix name="UnsafePrefetchCanceled"
      label="Pre-fetched resources that were checked and classified as
             unsafe. Logged as the request is canceled."/>
  <affected-histogram name="SB2.ResourceTypes"/>
  <affected-histogram name="SB2.ResourceTypes2"/>
</histogram_suffixes>

<histogram_suffixes name="SBInterstitial">
  <obsolete>
    deprecated November 10 2012 crrev.com/167056
  </obsolete>
  <suffix name="V1" label="version 1 interstitial"/>
  <suffix name="V2" label="version 2 interstitial"/>
  <affected-histogram name="SB2.InterstitialAction"/>
  <affected-histogram name="SB2.MalwareInterstitialTimeClosed"/>
  <affected-histogram name="SB2.MalwareInterstitialTimeDiagnostic"/>
  <affected-histogram name="SB2.MalwareInterstitialTimeLearnMore"/>
  <affected-histogram name="SB2.MalwareInterstitialTimePrivacyPolicy"/>
  <affected-histogram name="SB2.MalwareInterstitialTimeProceed"/>
  <affected-histogram name="SB2.MalwareInterstitialTimeTakeMeBack"/>
</histogram_suffixes>

<histogram_suffixes name="ScreenshareLayerStats" separator=".">
  <suffix name="FrameRate"
      label="Frames per second sent, in fps. The value is reported when a
             stream is removed and is calculated as the total number of
             frames in this layer, divided by the duration of the call."/>
  <suffix name="Qp"
      label="Average quantizer (qp) of frames sent. The value is reported
             when a stream is removed and is calculated, for this layer, as
             the sum of all qp values divided the number of frames."/>
  <suffix name="TargetBitrate"
      label="Average target bitrate in kbps. The value is reported when a
             stream is removed and is calculated as the sum of all target
             bitrates for this layer (sampled after frame has been encoded)
             divided by the total number of frames for this layer."/>
  <affected-histogram name="WebRTC.Video.Screenshare.Layer0"/>
  <affected-histogram name="WebRTC.Video.Screenshare.Layer1"/>
</histogram_suffixes>

<histogram_suffixes name="ScrollUpdateHandledThread">
  <suffix name="Main" label="ScrollUpdate handled on main thread"/>
  <suffix name="Impl" label="ScrollUpdate handled on impl thread"/>
  <affected-histogram
      name="Event.Latency.ScrollBegin.Touch.HandledToRendererSwap2"/>
  <affected-histogram name="Event.Latency.ScrollBegin.Touch.TimeToHandled2"/>
  <affected-histogram
      name="Event.Latency.ScrollBegin.Wheel.HandledToRendererSwap2"/>
  <affected-histogram name="Event.Latency.ScrollBegin.Wheel.TimeToHandled2"/>
  <affected-histogram name="Event.Latency.ScrollUpdate.HandledToRendererSwap"/>
  <affected-histogram
      name="Event.Latency.ScrollUpdate.Touch.HandledToRendererSwap2"/>
  <affected-histogram name="Event.Latency.ScrollUpdate.Touch.TimeToHandled2"/>
  <affected-histogram name="Event.Latency.ScrollUpdate.TouchToHandled"/>
  <affected-histogram
      name="Event.Latency.ScrollUpdate.Wheel.HandledToRendererSwap2"/>
  <affected-histogram name="Event.Latency.ScrollUpdate.Wheel.TimeToHandled2"/>
</histogram_suffixes>

<histogram_suffixes name="SecurityInterstitialSBType" separator="."
    ordering="prefix">
  <suffix name="harmful"/>
  <suffix name="harmful_subresource"/>
  <suffix name="malware"/>
  <suffix name="malware_subresource"/>
  <suffix name="phishing"/>
  <suffix name="phishing_subresource"/>
  <suffix name="social_engineering_ads"/>
  <suffix name="social_engineering_ads_subresource"/>
  <suffix name="social_engineering_landing"/>
  <suffix name="social_engineering_landing_subresource"/>
  <affected-histogram name="interstitial.decision"/>
  <affected-histogram name="interstitial.decision.repeat_visit"/>
  <affected-histogram name="interstitial.interaction"/>
</histogram_suffixes>

<histogram_suffixes name="SecurityInterstitialSBWithSourceType" separator=".">
  <suffix name="from_data_saver"
      label="Interstitial for a resource classified as unsafe by the Data
             Saver service."/>
  <suffix name="from_device"
      label="Interstitial for a resource classified as unsafe by the Safe
             Browsing database via either
             {Local,Remote}SafeBrowsingDatabaseManager."/>
  <suffix name="from_device_v4"
      label="Interstitial for a resource classified as unsafe by the Safe
             Browsing database version 4 via either
             {Local,Remote}SafeBrowsingDatabaseManager."/>
  <suffix name="from_client_side_detection"
      label="Interstitial for a resource classified as unsafe by the client
             side detection."/>
  <affected-histogram name="interstitial.harmful.decision"/>
  <affected-histogram name="interstitial.harmful.decision.repeat_visit"/>
  <affected-histogram name="interstitial.harmful.interaction"/>
  <affected-histogram name="interstitial.harmful_subresource.decision"/>
  <affected-histogram
      name="interstitial.harmful_subresource.decision.repeat_visit"/>
  <affected-histogram name="interstitial.harmful_subresource.interaction"/>
  <affected-histogram name="interstitial.malware.decision"/>
  <affected-histogram name="interstitial.malware.decision.repeat_visit"/>
  <affected-histogram name="interstitial.malware.interaction"/>
  <affected-histogram name="interstitial.malware_subresource.decision"/>
  <affected-histogram
      name="interstitial.malware_subresource.decision.repeat_visit"/>
  <affected-histogram name="interstitial.malware_subresource.interaction"/>
  <affected-histogram name="interstitial.phishing.decision"/>
  <affected-histogram name="interstitial.phishing.decision.repeat_visit"/>
  <affected-histogram name="interstitial.phishing.interaction"/>
  <affected-histogram name="interstitial.phishing_subresource.decision"/>
  <affected-histogram
      name="interstitial.phishing_subresource.decision.repeat_visit"/>
  <affected-histogram name="interstitial.phishing_subresource.interaction"/>
  <affected-histogram name="interstitial.social_engineering_ads.decision"/>
  <affected-histogram
      name="interstitial.social_engineering_ads.decision.repeat_visit"/>
  <affected-histogram name="interstitial.social_engineering_ads.interaction"/>
  <affected-histogram
      name="interstitial.social_engineering_ads_subresource.decision"/>
  <affected-histogram
      name="interstitial.social_engineering_ads_subresource.decision.repeat_visit"/>
  <affected-histogram
      name="interstitial.social_engineering_ads_subresource.interaction"/>
  <affected-histogram name="interstitial.social_engineering_landing.decision"/>
  <affected-histogram
      name="interstitial.social_engineering_landing.decision.repeat_visit"/>
  <affected-histogram
      name="interstitial.social_engineering_landing.interaction"/>
  <affected-histogram
      name="interstitial.social_engineering_landing_subresource.decision"/>
  <affected-histogram
      name="interstitial.social_engineering_landing_subresource.decision.repeat_visit"/>
  <affected-histogram
      name="interstitial.social_engineering_landing_subresource.interaction"/>
</histogram_suffixes>

<histogram_suffixes name="SecurityInterstitialSSLType" separator="."
    ordering="prefix">
  <suffix name="bad_clock"/>
  <suffix name="ssl_nonoverridable"/>
  <suffix name="ssl_overridable"/>
  <affected-histogram name="interstitial.decision"/>
  <affected-histogram name="interstitial.decision.repeat_visit"/>
  <affected-histogram name="interstitial.interaction"/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorker.ContextRequestType" separator=".">
  <suffix name="InstalledWorker.MainScript"
      label="Main script for an installed worker"/>
  <suffix name="InstalledWorker.ImportedScript"
      label="Imported script for an installed worker"/>
  <suffix name="NewWorker.MainScript"
      label="Main script for a new (not installed) worker"/>
  <suffix name="NewWorker.ImportedScript"
      label="Imported script for new (not installed) worker"/>
  <affected-histogram name="ServiceWorker.ContextRequestHandlerStatus"/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorker.EventType">
  <suffix name="ACTIVATE" label="ACTIVATE"/>
  <suffix name="INSTALL" label="INSTALL"/>
  <suffix name="SYNC" label="SYNC"/>
  <suffix name="NOTIFICATION_CLICK" label="NOTIFICATION_CLICK"/>
  <suffix name="PUSH" label="PUSH"/>
  <suffix name="GEOFENCING" label="GEOFENCING">
    <obsolete>
      Deprecated as of 5/2016 because geofencing got removed.
    </obsolete>
  </suffix>
  <suffix name="MESSAGE" label="MESSAGE"/>
  <suffix name="NOTIFICATION_CLOSE" label="NOTIFICATION_CLOSE"/>
  <suffix name="FETCH_MAIN_FRAME" label="FETCH_MAIN_FRAME"/>
  <suffix name="FETCH_SUB_FRAME" label="FETCH_SUB_FRAME"/>
  <suffix name="FETCH_SHARED_WORKER" label="FETCH_SHARED_WORKER"/>
  <suffix name="FETCH_SUB_RESOURCE" label="FETCH_SUB_RESOURCE"/>
  <suffix name="UNKNOWN" label="UNKNOWN"/>
  <suffix name="FOREIGN_FETCH" label="FOREIGN_FETCH"/>
  <suffix name="NAVIGATION_HINT_LINK_MOUSE_DOWN"
      label="NAVIGATION_HINT_LINK_MOUSE_DOWN">
    <obsolete>
      This experiment was turned down, see https://crbug.com/616502.
    </obsolete>
  </suffix>
  <suffix name="NAVIGATION_HINT_LINK_TAP_UNCONFIRMED"
      label="NAVIGATION_HINT_LINK_TAP_UNCONFIRMED">
    <obsolete>
      This experiment was turned down, see https://crbug.com/616502.
    </obsolete>
  </suffix>
  <suffix name="NAVIGATION_HINT_LINK_TAP_DOWN"
      label="NAVIGATION_HINT_LINK_TAP_DOWN">
    <obsolete>
      This experiment was turned down, see https://crbug.com/616502.
    </obsolete>
  </suffix>
  <affected-histogram name="ServiceWorker.EventDispatchingDelay"/>
  <affected-histogram name="ServiceWorker.StartWorker.StatusByPurpose"/>
  <affected-histogram name="ServiceWorker.StartWorker.Time_DuringStartup"/>
  <affected-histogram name="ServiceWorker.StartWorker.Time_ExistingProcess"/>
  <affected-histogram name="ServiceWorker.StartWorker.Time_NewProcess"/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorker.FailureStreak">
  <suffix name="1" label="Failed one time."/>
  <suffix name="2" label="Failed two times."/>
  <suffix name="3" label="Failed three times."/>
  <affected-histogram name="ServiceWorker.StartWorker.AfterFailureStreak"/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorker.NavigationHint" separator=".">
  <obsolete>
    This experiment was turned down, see https://crbug.com/616502.
  </obsolete>
  <suffix name="LINK_MOUSE_DOWN" label="LINK_MOUSE_DOWN"/>
  <suffix name="LINK_TAP_UNCONFIRMED" label="LINK_TAP_UNCONFIRMED"/>
  <suffix name="LINK_TAP_DOWN" label="LINK_TAP_DOWN"/>
  <affected-histogram name="ServiceWorker.NavigationHintPrecision"/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorker.NavigationHintLatency">
  <suffix name="IsRunningNavigationHintTask"
      label="Starting a service worker for a navigation hint.">
    <obsolete>
      This experiment was turned down, see https://crbug.com/616502.
    </obsolete>
  </suffix>
  <affected-histogram name="Event.Latency.TouchToFirstScrollUpdateSwapBegin"/>
  <affected-histogram name="Event.Latency.TouchToScrollUpdateSwapBegin"/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorker.ShutdownStatus">
  <suffix name="InShutdown" label="Browser shutdown started."/>
  <suffix name="NotInShutdown" label="Browser shutdown has not started."/>
  <affected-histogram name="ServiceWorker.ActivateEventStatus"/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorker.StartSituation">
  <suffix name="DuringStartup"
      label="The worker started up during browser startup."/>
  <suffix name="NewProcess"
      label="A new process was created for the worker (or is asyncly being
             created, depending on the histogram)."/>
  <suffix name="ExistingProcess"
      label="An existing process was used for the worker."/>
  <affected-histogram name="EmbeddedWorkerInstance.Start.TimeToEvaluateScript"/>
  <affected-histogram name="EmbeddedWorkerInstance.Start.TimeToLoad.HttpCache"/>
  <affected-histogram
      name="EmbeddedWorkerInstance.Start.TimeToLoad.InstalledScript"/>
  <affected-histogram name="EmbeddedWorkerInstance.Start.TimeToLoad.Network"/>
  <affected-histogram
      name="EmbeddedWorkerInstance.Start.TimeToSendStartWorker"/>
  <affected-histogram name="EmbeddedWorkerInstance.Start.TimeToStartThread"/>
  <affected-histogram name="EmbeddedWorkerInstance.Start.TimeToURLJob"/>
  <affected-histogram name="ServiceWorker.StartWorker.Time"/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorker.WorkerPreparationMode">
  <suffix name="StartWorkerDuringStartup"
      label="Started a worker during browser startup."/>
  <suffix name="StartWorkerNewProcess"
      label="Started a worker in a new process."/>
  <suffix name="StartWorkerExistingProcess"
      label="Started a worker in an existing process."/>
  <suffix name="StartingWorker"
      label="The activated worker was already starting up."/>
  <suffix name="RunningWorker"
      label="The activated worker was already running."/>
  <suffix name="StoppingWorker" label="The activated worker was stopping."/>
  <affected-histogram
      name="ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time"/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorkerCache.Cache" separator=".">
  <suffix name="Batch"
      label="The time to perform the 'batch' operation on a ServiceWorker
             Cache, which batches other basic operations."/>
  <suffix name="Keys"
      label="The time to perform the 'keys' operation on a ServiceWorker
             Cache, which returns all of the keys in the cache."/>
  <suffix name="Match"
      label="The time to perform the 'match' operation on a ServiceWorker
             Cache, which does a lookup."/>
  <suffix name="MatchAll"
      label="The time to perform the 'matchAll' operation on a ServiceWorker
             Cache, which does a mass cache lookup."/>
  <affected-histogram name="ServiceWorkerCache.Cache"/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorkerCache.CacheStorage" separator=".">
  <suffix name="Delete"
      label="The time to perform the 'delete' operation on a ServiceWorker
             CacheStorage, which deletes a cache."/>
  <suffix name="Has"
      label="The time to perform the 'has' operation on a ServiceWorker
             CacheStorage, which returns if the cache exists."/>
  <suffix name="Keys"
      label="The time to perform the 'keys' operation on a ServiceWorker
             CacheStorage, which returns all of the cache names."/>
  <suffix name="Match"
      label="The time to perform the 'match' operation on a ServiceWorker
             CacheStorage, which does a shortcut cache lookup."/>
  <suffix name="Open"
      label="The time to perform the 'open' operation on a ServiceWorker
             CacheStorage, which gets or creates a cache."/>
  <affected-histogram name="ServiceWorkerCache.CacheStorage"/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorkerScheduler" separator="."
    ordering="prefix">
  <suffix name="CacheStorage" label="Collected from a CacheStorage instance"/>
  <suffix name="Cache" label="Collected from a CacheStorageCache instance"/>
  <suffix name="BackgroundSyncManager"
      label="Collected from a BackgroundSyncManager instance"/>
  <affected-histogram name="ServiceWorkerCache.Scheduler.IsOperationSlow"/>
  <affected-histogram name="ServiceWorkerCache.Scheduler.OperationDuration"/>
  <affected-histogram name="ServiceWorkerCache.Scheduler.QueueDuration"/>
  <affected-histogram name="ServiceWorkerCache.Scheduler.QueueLength"/>
</histogram_suffixes>

<histogram_suffixes name="ServiceWorkerSpecialAppsForEventDispatchingDelay"
    separator=".">
  <suffix name="docs" label="Custom histogram for Google Docs and Drive"/>
  <suffix name="gmail" label="Custom histogram for GMail"/>
  <suffix name="inbox" label="Custom histogram for Inbox"/>
  <suffix name="ntp" label="Custom histogram for New Tab Page"/>
  <suffix name="plus" label="Custom histogram for Google+"/>
  <affected-histogram name="ServiceWorker.EventDispatchingDelay_ACTIVATE"/>
  <affected-histogram
      name="ServiceWorker.EventDispatchingDelay_FETCH_MAIN_FRAME"/>
  <affected-histogram
      name="ServiceWorker.EventDispatchingDelay_FETCH_SHARED_WORKER"/>
  <affected-histogram
      name="ServiceWorker.EventDispatchingDelay_FETCH_SUB_FRAME"/>
  <affected-histogram
      name="ServiceWorker.EventDispatchingDelay_FETCH_SUB_RESOURCE"/>
  <affected-histogram name="ServiceWorker.EventDispatchingDelay_FOREIGN_FETCH"/>
  <affected-histogram name="ServiceWorker.EventDispatchingDelay_GEOFENCING"/>
  <affected-histogram name="ServiceWorker.EventDispatchingDelay_INSTALL"/>
  <affected-histogram name="ServiceWorker.EventDispatchingDelay_MESSAGE"/>
  <affected-histogram
      name="ServiceWorker.EventDispatchingDelay_NAVIGATION_HINT_LINK_MOUSE_DOWN"/>
  <affected-histogram
      name="ServiceWorker.EventDispatchingDelay_NAVIGATION_HINT_LINK_TAP_DOWN"/>
  <affected-histogram
      name="ServiceWorker.EventDispatchingDelay_NAVIGATION_HINT_LINK_TAP_UNCONFIRMED"/>
  <affected-histogram
      name="ServiceWorker.EventDispatchingDelay_NOTIFICATION_CLICK"/>
  <affected-histogram
      name="ServiceWorker.EventDispatchingDelay_NOTIFICATION_CLOSE"/>
  <affected-histogram name="ServiceWorker.EventDispatchingDelay_PUSH"/>
  <affected-histogram name="ServiceWorker.EventDispatchingDelay_SYNC"/>
  <affected-histogram name="ServiceWorker.EventDispatchingDelay_UNKNOWN"/>
</histogram_suffixes>

<histogram_suffixes name="SessionRestoreTabCountMemoryPressure">
  <suffix name="MemoryPressure"
      label="Total tabs involved in session restore that encountered memory
             pressure."/>
  <suffix name="MemoryPressure_Loaded"
      label="Tabs fully loaded before memory pressure."/>
  <suffix name="MemoryPressure_LoadStarted"
      label="Tabs started to load before memory pressure."/>
  <suffix name="MemoryPressure_Deferred"
      label="Tabs deferred by memory pressure."/>
  <suffix name="NoMemoryPressure"
      label="Total tabs involved in a session restore that did not encounter
             memory pressure."/>
  <suffix name="NoMemoryPressure_Loaded"
      label="Tabs fully loaded in a session restore that did not encounter
             memory pressure."/>
  <suffix name="NoMemoryPressure_LoadStarted"
      label="Tabs started to load in a session restore that did not encounter
             memory pressure."/>
  <affected-histogram name="SessionRestore.TabCount"/>
</histogram_suffixes>

<histogram_suffixes name="SessionRestoreTabCounts">
  <suffix name="1" label="1 tab present"/>
  <suffix name="2" label="2 tabs present"/>
  <suffix name="3" label="3 tabs present"/>
  <suffix name="4" label="4 tabs present"/>
  <suffix name="5" label="5 tabs present"/>
  <suffix name="6" label="6 tabs present"/>
  <suffix name="7" label="7 tabs present"/>
  <suffix name="8" label="8 tabs present"/>
  <suffix name="9" label="9 tabs present"/>
  <suffix name="10" label="10 tabs present"/>
  <suffix name="11" label="11 tab present"/>
  <suffix name="12" label="12 tabs present"/>
  <suffix name="13" label="13 tabs present"/>
  <suffix name="14" label="14 tabs present"/>
  <suffix name="15" label="15 tabs present"/>
  <suffix name="16" label="16 tabs present"/>
  <suffix name="17" label="17 tabs present"/>
  <suffix name="18" label="18 tabs present"/>
  <suffix name="19" label="19 tabs present"/>
  <suffix name="20" label="20 tabs present"/>
  <affected-histogram name="SessionRestore.AllTabsLoaded"/>
  <affected-histogram name="SessionRestore.FirstTabPainted"/>
  <affected-histogram name="SessionRestore.ForegroundTabFirstLoaded"/>
  <affected-histogram name="SessionRestore.ForegroundTabFirstPaint"/>
  <affected-histogram name="SessionRestore.ForegroundTabFirstPaint2"/>
  <affected-histogram name="SessionRestore.ForegroundTabFirstPaint3"/>
</histogram_suffixes>

<histogram_suffixes name="SettingsResetPromptSettingType">
  <suffix name="DefaultSearch" label="Reset state for default search engine."/>
  <suffix name="StartupUrls" label="Reset state for startup URLs."/>
  <suffix name="Homepage" label="Reset state for homepage."/>
  <affected-histogram name="SettingsResetPrompt.ResetState"/>
</histogram_suffixes>

<histogram_suffixes name="SetupInstallTimes" separator=".">
  <suffix name="background" label="Background; lowered priority."/>
  <affected-histogram name="Setup.Install.ApplyArchivePatchTime"/>
  <affected-histogram name="Setup.Install.HasArchivePatch"/>
  <affected-histogram name="Setup.Install.UncompressArchivePatchTime"/>
  <affected-histogram name="Setup.Install.UncompressFullArchiveTime"/>
  <affected-histogram name="Setup.Install.UnpackFullArchiveTime"/>
</histogram_suffixes>

<histogram_suffixes name="ShillWiFiRememberedNetworkSecurityMode" separator=".">
  <suffix name="802_1x" label="Network is secured with 802.1x"/>
  <suffix name="none" label="Network is not secured"/>
  <suffix name="psk" label="Network is security with WPA or WPA-2 (aka RSN)"/>
  <suffix name="wep" label="Network employs WEP (Wired Equivalent Privacy)"/>
  <affected-histogram name="Network.Shill.WiFi.RememberedSystemNetworkCount"/>
  <affected-histogram name="Network.Shill.WiFi.RememberedUserNetworkCount"/>
</histogram_suffixes>

<histogram_suffixes name="ShowAppListWarmStartFast" separator="">
  <suffix name="" label="Normal start."/>
  <suffix name="Fast"
      label="Fast start by skipping normal chrome.dll startup."/>
  <affected-histogram name="Startup.ShowAppListWarmStart"/>
</histogram_suffixes>

<histogram_suffixes name="SideloadWipeout">
  <suffix name="Enabled" label="Sideload Wipeout Active."/>
  <suffix name="Disabled" label="Control group."/>
  <affected-histogram name="DisabledExtension.ExtensionWipedStatus"/>
  <affected-histogram name="DisabledExtension.SideloadWipeoutCount"/>
  <affected-histogram name="DisabledExtension.SideloadWipeoutNeeded"/>
  <affected-histogram name="DisabledExtension.UserSelection"/>
  <affected-histogram name="Extensions.ExternalExtensionEvent"/>
  <affected-histogram name="Extensions.InstallSource"/>
  <affected-histogram name="Extensions.UpdateSource"/>
</histogram_suffixes>

<histogram_suffixes name="Signin.Actions" separator=".">
  <suffix name="AllAccessPointActions"/>
  <suffix name="AndroidAccountConsistencyFirstRunActions"
      label="Signin Flow shown on android after Account Consistency flag was
             enabled."/>
  <affected-histogram name="Signin"/>
</histogram_suffixes>

<histogram_suffixes name="Signin.ObsoleteActions" separator=".">
  <obsolete>
    Deprecated as of 12/2014.
  </obsolete>
  <suffix name="AppLauncherActions"/>
  <suffix name="ExtensionInstallBubbleActions"/>
  <suffix name="MenuActions"/>
  <suffix name="NTPLinkActions"/>
  <suffix name="OneClickActions"/>
  <suffix name="SettingsActions"/>
  <suffix name="StartPageActions"/>
  <suffix name="UnknownActions"/>
  <affected-histogram name="Signin"/>
</histogram_suffixes>

<histogram_suffixes name="Signin.Reconciler" separator=".">
  <suffix name="FirstRun"
      label="First execution of the reconciler after the profile was loaded
             or the new_profile_management flag was toggled."/>
  <suffix name="SubsequentRun"
      label="Execution of the reconciler triggered by some other change of
             state."/>
  <affected-histogram name="Signin.Reconciler.AddedToChrome"/>
  <affected-histogram name="Signin.Reconciler.AddedToCookieJar"/>
  <affected-histogram name="Signin.Reconciler.DifferentPrimaryAccounts"/>
  <affected-histogram name="Signin.Reconciler.RemovedFromCookieJar"/>
</histogram_suffixes>

<histogram_suffixes name="Signin.Reconciler.Duration" separator=".">
  <suffix name="Success" label="Successful execution of reconciler"/>
  <suffix name="Failure" label="Failed execution of reconciler"/>
  <affected-histogram name="Signin.Reconciler.Duration"/>
</histogram_suffixes>

<histogram_suffixes name="SimpleCacheWithOrWithoutIndex">
  <suffix name="WithIndex" label="The Simple Cache index was loaded."/>
  <suffix name="WithoutIndex"
      label="The Simple Cache index was not yet loaded."/>
  <affected-histogram name="SimpleCache.SyncCreatePlatformFileError"/>
  <affected-histogram name="SimpleCache.SyncCreateResult"/>
  <affected-histogram name="SimpleCache.SyncOpenPlatformFileError"/>
  <affected-histogram name="SimpleCache.SyncOpenResult"/>
</histogram_suffixes>

<histogram_suffixes name="SkiaDrawScaleFactorFilterQuality" separator=".">
  <suffix name="AnyFilterQuality" label="Any filter quality was used."/>
  <suffix name="HighFilterQuality" label="High filter quality was used."/>
  <suffix name="LowFilterQuality" label="Low filter quality was used."/>
  <suffix name="MediumFilterQuality" label="Medium filter quality was used."/>
  <suffix name="NoneFilterQuality" label="None filter quality was used."/>
  <affected-histogram name="Skia.DrawScaleFactor"/>
</histogram_suffixes>

<histogram_suffixes name="SocketOperation" separator=".">
  <suffix name="Connect"/>
  <suffix name="Read"/>
  <suffix name="Write"/>
  <affected-histogram name="Net.SSLProtocolErrorCipher"/>
  <affected-histogram name="Net.SSLProtocolErrorReason"/>
</histogram_suffixes>

<histogram_suffixes name="SocketType">
  <obsolete>
    Deprecated as of 03/2015.
  </obsolete>
  <suffix name="HTTPProxy" label="HTTP proxy socket"/>
  <suffix name="SOCK" label="SOCKS socket"/>
  <suffix name="SSL" label="(Obsolete, SSL socket)"/>
  <suffix name="SSL2" label="SSL2 socket"/>
  <suffix name="SSLForProxies"
      label="SSLClientSocket wrapping the TCPClient socket eventually used
             for connection to a proxy"/>
  <suffix name="SSLforHTTPSProxy"
      label="SSLClientSocket wrapping the TCPClient socket eventually used
             for connection to an HTTPS proxy"/>
  <suffix name="TCP" label="plain, no proxy, no SSL socket"/>
  <suffix name="TCPforHTTPProxy"
      label="TCPClientSocket eventually used for connection to an HTTP proxy"/>
  <suffix name="TCPforHTTPSProxy"
      label="TCPClientSocket eventually used for connection to an HTTPS proxy"/>
  <suffix name="TCPforSOCKS"
      label="TCPClientSocket eventually used for connection to a SOCKS proxy"/>
  <affected-histogram name="Net.SocketIdleTimeBeforeNextUse_ReusedSocket"/>
  <affected-histogram name="Net.SocketIdleTimeBeforeNextUse_UnusedSocket"/>
  <affected-histogram name="Net.SocketInitErrorCodes"/>
  <affected-histogram name="Net.SocketRequestTime"/>
  <affected-histogram name="Net.SocketType"/>
</histogram_suffixes>

<histogram_suffixes name="SoftwareReporterEngine">
  <suffix name="Original"/>
  <suffix name="Experimental"/>
  <affected-histogram name="SoftwareReporter.FoundUwSReadError"/>
  <affected-histogram name="SoftwareReporter.LogsUploadEnabled"/>
  <affected-histogram name="SoftwareReporter.LogsUploadResult"/>
  <affected-histogram name="SoftwareReporter.LogsUploadResultRegistryError"/>
  <affected-histogram name="SoftwareReporter.MajorVersion"/>
  <affected-histogram name="SoftwareReporter.MemoryUsed"/>
  <affected-histogram name="SoftwareReporter.MinorVersion"/>
  <affected-histogram name="SoftwareReporter.RunningTime"/>
  <affected-histogram name="SoftwareReporter.RunningTimeAccordingToChrome"/>
  <affected-histogram name="SoftwareReporter.RunningTimeRegistryError"/>
  <affected-histogram name="SoftwareReporter.Step"/>
</histogram_suffixes>

<histogram_suffixes name="SpdyCwnd">
  <obsolete>
    Deprecated as of 07/2014.
  </obsolete>
  <owner>willchan@chromium.org</owner>
  <suffix name="cwnd32" label="using cwnd policy static 32"/>
  <suffix name="cwnd10" label="using cwnd policy static 10"/>
  <suffix name="cwnd16" label="using cwnd policy static 16"/>
  <suffix name="cwndMin16" label="using dynamic cwnd policy no lower than 16"/>
  <suffix name="cwndMin10" label="using dynamic cwnd policy no lower than 10"/>
  <suffix name="cwndDynamic" label="using dynamic cwnd policy"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="PLT.BeginToFinish_NormalLoad"/>
  <affected-histogram name="PLT.BeginToFinish_NormalLoad"/>
  <affected-histogram name="PLT.StartToCommit_LinkLoadNormal"/>
  <affected-histogram name="PLT.StartToFinish_LinkLoadNormal"/>
  <affected-histogram name="PLT.StartToFinish_NormalLoad"/>
</histogram_suffixes>

<histogram_suffixes name="SpdyImpact">
  <suffix name="npn_with_http"
      label="with NPN negotiated but using HTTP instead of SPDY"/>
  <suffix name="npn_with_spdy" label="with NPN negotiated and using SPDY"/>
  <affected-histogram name="Net.Transaction_Connected"/>
  <affected-histogram name="Net.Transaction_Connected_New"/>
  <affected-histogram name="Net.Transaction_Connected_New_b"/>
  <affected-histogram name="Net.Transaction_Connected_Under_10"/>
  <affected-histogram name="PLT.Abandoned"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="PLT.BeginToFinish_NormalLoad"/>
  <affected-histogram name="PLT.StartToCommit_LinkLoadNormal"/>
  <affected-histogram name="PLT.StartToCommit_NormalLoad"/>
  <affected-histogram name="PLT.StartToFinish_LinkLoadNormal"/>
  <affected-histogram name="PLT.StartToFinish_NormalLoad"/>
</histogram_suffixes>

<histogram_suffixes name="SpdySettingsCwnd" separator="">
  <suffix name="10K" label="where at least 10KB was transferred."/>
  <suffix name="25K" label="where at least 25KB was transferred."/>
  <suffix name="50K" label="where at least 50KB was transferred."/>
  <suffix name="100K" label="where at least 100KB was transferred."/>
  <affected-histogram name="Net.SpdySettingsCwnd"/>
</histogram_suffixes>

<histogram_suffixes name="SqliteDatabases" separator=".">
  <owner>shess@chromium.org</owner>
  <suffix name="Activity" label="Activity"/>
  <suffix name="Affiliation" label="Affiliation"/>
  <suffix name="AppCache" label="AppCache"/>
  <suffix name="BackgroundRequestQueue" label="BackgroundRequestQueue"/>
  <suffix name="BookmarkImages" label="BookmarkImages">
    <obsolete>
      Deprecated as of 2016-1 (http://crrev.com/372327).
    </obsolete>
  </suffix>
  <suffix name="Cookie" label="Cookie"/>
  <suffix name="DatabaseTracker" label="DatabaseTracker"/>
  <suffix name="DomainBoundCerts" label="DomainBoundCerts"/>
  <suffix name="DOMStorageDatabase" label="DOMStorageDatabase"/>
  <suffix name="History" label="History"/>
  <suffix name="OfflinePageMetadata" label="OfflinePageMetadata"/>
  <suffix name="Passwords" label="Passwords"/>
  <suffix name="Precache" label="Precache"/>
  <suffix name="Predictor" label="Predictor"/>
  <suffix name="PreviewsOptOut" label="PreviewsOptOut"/>
  <suffix name="Quota" label="Quota"/>
  <suffix name="Shortcuts" label="Shortcuts"/>
  <suffix name="SyncDirectory" label="SyncDirectory"/>
  <suffix name="Text" label="Text (obsolete 7/24/13)">
    <obsolete>
      Deprecated as of 2013-07.
    </obsolete>
  </suffix>
  <suffix name="Thumbnail" label="Thumbnail"/>
  <suffix name="TopSites" label="TopSites"/>
  <suffix name="Web" label="Web"/>
  <affected-histogram name="Sqlite.AutoCommitTime"/>
  <affected-histogram name="Sqlite.CommitTime"/>
  <affected-histogram name="Sqlite.Error"/>
  <affected-histogram name="Sqlite.QueryTime"/>
  <affected-histogram name="Sqlite.SizeKB"/>
  <affected-histogram name="Sqlite.Stats"/>
  <affected-histogram name="Sqlite.UpdateTime"/>
  <affected-histogram name="Sqlite.Version"/>
</histogram_suffixes>

<histogram_suffixes name="SqliteVfsOperations" separator="_">
  <owner>shess@chromium.org</owner>
  <suffix name="Fetch" label="fetch"/>
  <suffix name="Read" label="read"/>
  <suffix name="Write" label="write"/>
  <affected-histogram name="Sqlite.Vfs"/>
</histogram_suffixes>

<histogram_suffixes name="SSLFalseStart">
  <obsolete>
    Removed 2011-06-01.
  </obsolete>
  <suffix name="FalseStart_enabled"/>
  <suffix name="FalseStart_disabled"/>
  <affected-histogram name="Net.SSL_Connection_Latency"/>
  <affected-histogram name="Net.SSL_Connection_Latency_2"/>
  <affected-histogram name="PLT.BeginToFinish_LinkLoadNormal"/>
  <affected-histogram name="PLT.BeginToFinish_NormalLoad"/>
</histogram_suffixes>

<histogram_suffixes name="StartupProfilingAbandonState">
  <suffix name="NoPaint" label="Abandoned before first paint."/>
  <suffix name="NoLoad" label="Abandoned before first main frame load."/>
  <affected-histogram name="Startup.FirstWebContents.FinishReason"/>
</histogram_suffixes>

<histogram_suffixes name="StartupTemperature" separator=".">
  <suffix name="ColdStartup" label="Startup was cold (mostly hard faults)."/>
  <suffix name="WarmStartup" label="Startup was warm (almost no hard faults)."/>
  <suffix name="LukewarmStartup" label="Startup was neither warm nor cold."/>
  <affected-histogram
      name="LibraryLoader.PercentageOfResidentCodeBeforePrefetch"/>
  <affected-histogram name="Startup.BrowserMainToRendererMain"/>
  <affected-histogram name="Startup.BrowserMessageLoopStartTime"/>
  <affected-histogram name="Startup.BrowserMessageLoopStartTimeFromMainEntry"/>
  <affected-histogram
      name="Startup.BrowserMessageLoopStartTimeFromMainEntry.FirstRun"/>
  <affected-histogram
      name="Startup.BrowserMessageLoopStartTimeFromMainEntry.FirstRun2"/>
  <affected-histogram name="Startup.BrowserMessageLoopStartTimeFromMainEntry2"/>
  <affected-histogram name="Startup.BrowserOpenTabs"/>
  <affected-histogram name="Startup.BrowserWindowDisplay"/>
  <affected-histogram name="Startup.FirstWebContents.MainFrameLoad"/>
  <affected-histogram name="Startup.FirstWebContents.MainFrameLoad2"/>
  <affected-histogram name="Startup.FirstWebContents.MainNavigationFinished"/>
  <affected-histogram name="Startup.FirstWebContents.MainNavigationStart"/>
  <affected-histogram
      name="Startup.FirstWebContents.MainNavigationStart.MultiTabs"/>
  <affected-histogram
      name="Startup.FirstWebContents.MainNavigationStart.SingleTab"/>
  <affected-histogram name="Startup.FirstWebContents.NonEmptyPaint"/>
  <affected-histogram name="Startup.FirstWebContents.NonEmptyPaint2"/>
  <affected-histogram name="Startup.LoadTime.ExeMainToDllMain"/>
  <affected-histogram name="Startup.LoadTime.ExeMainToDllMain2"/>
  <affected-histogram name="Startup.LoadTime.ProcessCreateToDllMain"/>
  <affected-histogram name="Startup.LoadTime.ProcessCreateToDllMain2"/>
  <affected-histogram name="Startup.LoadTime.ProcessCreateToExeMain"/>
  <affected-histogram name="Startup.LoadTime.ProcessCreateToExeMain2"/>
  <affected-histogram name="Startup.SystemUptime"/>
  <affected-histogram name="Startup.TimeSinceLastStartup"/>
</histogram_suffixes>

<histogram_suffixes name="StartupTimeBombAlarm" separator=".">
  <obsolete>
    Deprecated as of 10/2014.
  </obsolete>
  <suffix name="ThreadNowDuration" label="Duration is in thread CPU time."/>
  <suffix name="TimeDuration" label="Duration is in clock time."/>
  <suffix name="TimeTicksDuration" label="Duration is in TimeTicks time."/>
  <affected-histogram name="StartupTimeBomb.Alarm"/>
</histogram_suffixes>

<histogram_suffixes name="StartupWorkload" separator=".">
  <suffix name="SingleTab" label="Single tab instantiated on startup."/>
  <suffix name="MultiTabs" label="Multiple tabs instantiated on startup."/>
  <affected-histogram name="Startup.FirstWebContents.MainNavigationStart"/>
</histogram_suffixes>

<histogram_suffixes name="StartWorkerExistingProcess">
  <suffix name="StartWorkerExistingProcess"
      label="The worker started up in an existing process"/>
  <affected-histogram name="ServiceWorker.NavigationPreload.ConcurrentTime"/>
  <affected-histogram
      name="ServiceWorker.NavigationPreload.ConcurrentTime_NavPreloadFirst"/>
  <affected-histogram
      name="ServiceWorker.NavigationPreload.ConcurrentTime_SWStartFirst"/>
  <affected-histogram
      name="ServiceWorker.NavigationPreload.FinishedBeforeStartWorker"/>
  <affected-histogram
      name="ServiceWorker.NavigationPreload.NavPreloadAfterSWStart"/>
  <affected-histogram
      name="ServiceWorker.NavigationPreload.SWStartAfterNavPreload"/>
</histogram_suffixes>

<histogram_suffixes name="Storage.BlobAppendableItems" separator=".">
  <suffix name="Bytes" label="Appending bytes."/>
  <suffix name="File" label="Appending a file with a known size."/>
  <suffix name="FileSystem"
      label="Appending a filesystem object with known size."/>
  <suffix name="Blob" label="Appending a blob."/>
  <suffix name="CacheEntry" label="Appending a cache entry."/>
  <affected-histogram name="Storage.BlobItemSize"/>
  <affected-histogram name="Storage.BlobItemSize.BlobSlice"/>
</histogram_suffixes>

<histogram_suffixes name="StunPingInternal" separator=".">
  <suffix name="0ms" label="0ms between requests"/>
  <suffix name="5ms" label="5ms between requests"/>
  <suffix name="10ms" label="10ms between requests"/>
  <suffix name="15ms" label="15ms between requests"/>
  <suffix name="20ms" label="20ms between requests"/>
  <suffix name="25ms" label="25ms between requests"/>
  <suffix name="30ms" label="30ms between requests"/>
  <suffix name="35ms" label="35ms between requests"/>
  <suffix name="40ms" label="40ms between requests"/>
  <suffix name="45ms" label="45ms between requests"/>
  <suffix name="50ms" label="50ms between requests"/>
  <suffix name="100ms" label="100ms between requests"/>
  <affected-histogram name="WebRTC.Stun.ResponseLatency.NoNAT"/>
  <affected-histogram name="WebRTC.Stun.ResponseLatency.NonSymNAT"/>
  <affected-histogram name="WebRTC.Stun.ResponseLatency.SymNAT"/>
  <affected-histogram name="WebRTC.Stun.ResponseLatency.UnknownNAT"/>
  <affected-histogram name="WebRTC.Stun.SuccessPercent.NoNAT"/>
  <affected-histogram name="WebRTC.Stun.SuccessPercent.NonSymNAT"/>
  <affected-histogram name="WebRTC.Stun.SuccessPercent.SymNAT"/>
  <affected-histogram name="WebRTC.Stun.SuccessPercent.UnknownNAT"/>
</histogram_suffixes>

<histogram_suffixes name="SubresourceFilterOnlyExperiment" separator=".">
  <suffix name="SocialEngineeringAdsInterstitial"
      label="social eng ad blacklist pattern"/>
  <suffix name="PhishingInterstitial" label="phishing blacklist pattern"/>
  <suffix name="SubresourceFilterOnly" label="subresource filter only patern"/>
  <affected-histogram name="SubresourceFilter.PageLoad.RedirectChainLength"/>
  <affected-histogram
      name="SubresourceFilter.PageLoad.RedirectChainMatchPattern"/>
</histogram_suffixes>

<histogram_suffixes name="SyncModelType" separator=".">
  <suffix name="APP" label="APP"/>
  <suffix name="APP_LIST" label="APP_LIST"/>
  <suffix name="APP_NOTIFICATION" label="APP_NOTIFICATION"/>
  <suffix name="APP_SETTING" label="APP_SETTING"/>
  <suffix name="ARTICLE" label="ARTICLE"/>
  <suffix name="AUTOFILL" label="AUTOFILL"/>
  <suffix name="AUTOFILL_PROFILE" label="AUTOFILL_PROFILE"/>
  <suffix name="AUTOFILL_WALLET" label="AUTOFILL_WALLET"/>
  <suffix name="AUTOFILL_WALLET_METADATA" label="AUTOFILL_WALLET_METADATA"/>
  <suffix name="BOOKMARK" label="BOOKMARK"/>
  <suffix name="DEVICE_INFO" label="DEVICE_INFO"/>
  <suffix name="DICTIONARY" label="DICTIONARY"/>
  <suffix name="EXPERIMENTS" label="EXPERIMENTS"/>
  <suffix name="EXTENSION" label="EXTENSION"/>
  <suffix name="EXTENSION_SETTING" label="EXTENSION_SETTING"/>
  <suffix name="FAVICON_IMAGE" label="FAVICON_IMAGE"/>
  <suffix name="FAVICON_TRACKING" label="FAVICON_TRACKING"/>
  <suffix name="HISTORY_DELETE_DIRECTIVE" label="HISTORY_DELETE_DIRECTIVE"/>
  <suffix name="MANAGED_USER" label="MANAGED_USER"/>
  <suffix name="MANAGED_USER_SETTING" label="MANAGED_USER_SETTING"/>
  <suffix name="MANAGED_USER_SHARED_SETTING"
      label="MANAGED_USER_SHARED_SETTING"/>
  <suffix name="MANAGED_USER_WHITELIST" label="MANAGED_USER_WHITELIST"/>
  <suffix name="NIGORI" label="NIGORI"/>
  <suffix name="PASSWORD" label="PASSWORD"/>
  <suffix name="PREFERENCE" label="PREFERENCE"/>
  <suffix name="SEARCH_ENGINE" label="SEARCH_ENGINE"/>
  <suffix name="SESSION" label="SESSION"/>
  <suffix name="SYNCED_NOTIFICATION" label="SYNCED_NOTIFICATION"/>
  <suffix name="SYNCED_NOTIFICATION_APP_INFO"
      label="SYNCED_NOTIFICATION_APP_INFO"/>
  <suffix name="PRIORITY_PREFERENCE" label="PRIORITY_PREFERENCE"/>
  <suffix name="THEME" label="THEME"/>
  <suffix name="TYPED_URL" label="TYPED_URL"/>
  <suffix name="USER_EVENT" label="USER_EVENT"/>
  <suffix name="WIFI_CREDENTIAL" label="WIFI_CREDENTIAL"/>
  <affected-histogram name="Sync.ModelTypeCount"/>
</histogram_suffixes>

<histogram_suffixes name="SyzygyStartupTime">
  <obsolete>
    No longer logged.
  </obsolete>
  <suffix name="PreReadEnabled"/>
  <suffix name="PreReadDisabled"/>
  <suffix name="XP_PreReadEnabled"/>
  <suffix name="XP_PreReadDisabled"/>
  <suffix name="PreRead_0"/>
  <suffix name="PreRead_5"/>
  <suffix name="PreRead_10"/>
  <suffix name="PreRead_15"/>
  <suffix name="PreRead_20"/>
  <suffix name="PreRead_25"/>
  <suffix name="PreRead_30"/>
  <suffix name="PreRead_35"/>
  <suffix name="PreRead_40"/>
  <suffix name="PreRead_45"/>
  <suffix name="PreRead_50"/>
  <suffix name="PreRead_55"/>
  <suffix name="PreRead_60"/>
  <suffix name="PreRead_65"/>
  <suffix name="PreRead_70"/>
  <suffix name="PreRead_75"/>
  <suffix name="PreRead_80"/>
  <suffix name="PreRead_85"/>
  <suffix name="PreRead_90"/>
  <suffix name="PreRead_95"/>
  <suffix name="PreRead_100"/>
  <suffix name="XP_PreRead_0"/>
  <suffix name="XP_PreRead_5"/>
  <suffix name="XP_PreRead_10"/>
  <suffix name="XP_PreRead_15"/>
  <suffix name="XP_PreRead_20"/>
  <suffix name="XP_PreRead_25"/>
  <suffix name="XP_PreRead_30"/>
  <suffix name="XP_PreRead_35"/>
  <suffix name="XP_PreRead_40"/>
  <suffix name="XP_PreRead_45"/>
  <suffix name="XP_PreRead_50"/>
  <suffix name="XP_PreRead_55"/>
  <suffix name="XP_PreRead_60"/>
  <suffix name="XP_PreRead_65"/>
  <suffix name="XP_PreRead_70"/>
  <suffix name="XP_PreRead_75"/>
  <suffix name="XP_PreRead_80"/>
  <suffix name="XP_PreRead_85"/>
  <suffix name="XP_PreRead_90"/>
  <suffix name="XP_PreRead_95"/>
  <suffix name="XP_PreRead_100"/>
  <affected-histogram name="Startup.BrowserMessageLoopStartTime"/>
  <affected-histogram name="Startup.BrowserOpenTabs"/>
</histogram_suffixes>

<histogram_suffixes name="TabNewTabOnload" separator=".">
  <suffix name="Local" label="Local New Tab page."/>
  <suffix name="Google" label="New Tab page for Google."/>
  <suffix name="Other" label="New Tab page for a non-Google provider."/>
  <affected-histogram name="Tab.NewTabOnload"/>
</histogram_suffixes>

<histogram_suffixes name="Tabs.SwitchLatency">
  <suffix name="Perceived"
      label="The time it takes to show something on the screen after the user
             selects a tab. This might be a fake snapshot or it might just be
             the time it takes to show the real content if no snapshot was
             available."/>
  <suffix name="Actual"
      label="The time it takes to show a real live frame from the renderer on
             the screen after the user selects a tab. This doesn not include
             fake snapshots or other tricks, but the actual time to get real
             interactable content displayed."/>
  <affected-histogram name="Tabs.SwitchFromCloseLatency"/>
  <affected-histogram name="Tabs.SwitchFromExitLatency"/>
  <affected-histogram name="Tabs.SwitchFromNewLatency"/>
  <affected-histogram name="Tabs.SwitchFromUserLatency"/>
</histogram_suffixes>

<histogram_suffixes name="TaskSchedulerMayBlock" separator=".">
  <suffix name="MayBlock"
      label="Applies to tasks posted with MayBlock() or
             WithBaseSyncPrimitives()."/>
  <affected-histogram name="TaskScheduler.TaskLatency.BackgroundTaskPriority"/>
  <affected-histogram
      name="TaskScheduler.TaskLatency.UserBlockingTaskPriority"/>
  <affected-histogram name="TaskScheduler.TaskLatency.UserVisibleTaskPriority"/>
</histogram_suffixes>

<histogram_suffixes name="TaskSchedulerTaskPriority" separator=".">
  <suffix name="BackgroundTaskPriority"
      label="Applies to tasks posted with a BACKGROUND priority."/>
  <suffix name="UserVisibleTaskPriority"
      label="Applies to tasks posted with a USER_VISIBLE priority."/>
  <suffix name="UserBlockingTaskPriority"
      label="Applies to tasks posted with a USER_BLOCKING priority."/>
  <affected-histogram name="TaskScheduler.TaskLatency"/>
  <affected-histogram name="TaskScheduler.TaskLatency.BackgroundFileIOPool">
    <obsolete>
      Deprecated 12/2016. Pool name removed from task latency histogram name.
    </obsolete>
  </affected-histogram>
  <affected-histogram name="TaskScheduler.TaskLatency.BackgroundPool">
    <obsolete>
      Deprecated 12/2016. Pool name removed from task latency histogram name.
    </obsolete>
  </affected-histogram>
  <affected-histogram name="TaskScheduler.TaskLatency.ForegroundFileIOPool">
    <obsolete>
      Deprecated 12/2016. Pool name removed from task latency histogram name.
    </obsolete>
  </affected-histogram>
  <affected-histogram name="TaskScheduler.TaskLatency.ForegroundPool">
    <obsolete>
      Deprecated 12/2016. Pool name removed from task latency histogram name.
    </obsolete>
  </affected-histogram>
</histogram_suffixes>

<histogram_suffixes name="TaskSchedulerWorkerPool" separator=".">
  <suffix name="BackgroundBlockingPool"
      label="Applies to the BackgroundBlocking worker pool."/>
  <suffix name="BackgroundFileIOPool"
      label="Applies to the BackgroundFileIO worker pool.">
    <obsolete>
      Deprecated 02/2017. Pool was renamed to BackgroundBlocking.
    </obsolete>
  </suffix>
  <suffix name="BackgroundPool" label="Applies to the Background worker pool."/>
  <suffix name="ForegroundBlockingPool"
      label="Applies to the ForegroundBlocking worker pool."/>
  <suffix name="ForegroundFileIOPool"
      label="Applies to the ForegroundFileIO worker pool.">
    <obsolete>
      Deprecated 02/2017. Pool was renamed to ForegroundBlocking.
    </obsolete>
  </suffix>
  <suffix name="ForegroundPool" label="Applies to the Foreground worker pool."/>
  <suffix name="RendererBackgroundBlockingPool"
      label="Applies to the RendererBackgroundBlocking worker pool."/>
  <suffix name="RendererBackgroundPool"
      label="Applies to the RendererBackground worker pool."/>
  <suffix name="RendererForegroundBlockingPool"
      label="Applies to the RendererForegroundBlocking worker pool."/>
  <suffix name="RendererForegroundPool"
      label="Applies to the RendererForeground worker pool."/>
  <affected-histogram name="TaskScheduler.DetachDuration"/>
  <affected-histogram name="TaskScheduler.NumTasksBeforeDetach"/>
  <affected-histogram name="TaskScheduler.NumTasksBetweenWaits"/>
  <affected-histogram name="TaskScheduler.TaskLatency">
    <obsolete>
      Deprecated 12/2016. Pool name removed from task latency histogram name.
    </obsolete>
  </affected-histogram>
</histogram_suffixes>

<histogram_suffixes name="ThreadWatcher" separator=".">
  <suffix name="CACHE" label="where watched thread is CACHE BrowserThread."/>
  <suffix name="DB" label="where watched thread is DB BrowserThread."/>
  <suffix name="FILE" label="where watched thread is FILE BrowserThread."/>
  <suffix name="IO" label="where watched thread is IO BrowserThread."/>
  <suffix name="UI" label="where watched thread is UI BrowserThread."/>
  <affected-histogram name="ThreadWatcher.ResponseTime"/>
  <affected-histogram name="ThreadWatcher.ResponsiveThreads"/>
  <affected-histogram name="ThreadWatcher.Unresponsive"/>
  <affected-histogram name="ThreadWatcher.UnresponsiveThreads"/>
</histogram_suffixes>

<histogram_suffixes name="TimestampTimebaseProcess" separator=".">
  <suffix name="Browser"/>
  <suffix name="Renderer"/>
  <affected-histogram name="Event.TimestampHasValidTimebase"/>
</histogram_suffixes>

<histogram_suffixes name="TotalTimeToHttpsGoogle" separator=".">
  <suffix name="Quic">
    <obsolete>
      Deprecated as of 08/2015. Use Net.HttpJob.*Secure.Quic instead.
    </obsolete>
  </suffix>
  <suffix name="NotQuic">
    <obsolete>
      Deprecated as of 08/2015. Use Net.HttpJob.*Secure.NotQuic instead.
    </obsolete>
  </suffix>
  <suffix name="Secure.Quic"
      label="Recorded for Google servers (https) only when QUIC is used."/>
  <suffix name="Secure.NotQuic"
      label="Recorded for Google servers (https) only when QUIC is not used."/>
  <affected-histogram name="Net.HttpJob.TotalTime"/>
  <affected-histogram name="Net.HttpJob.TotalTimeCached">
    <obsolete>
      Deprecated 10/2016, no longer used.
    </obsolete>
  </affected-histogram>
  <affected-histogram name="Net.HttpJob.TotalTimeNotCached"/>
</histogram_suffixes>

<histogram_suffixes name="Tps65090Fets" separator=".">
  <suffix name="Fet1" label="FET1 on tps65090 (register 0xf)"/>
  <suffix name="Fet2" label="FET2 on tps65090 (register 0x10)"/>
  <suffix name="Fet3" label="FET3 on tps65090 (register 0x11)"/>
  <suffix name="Fet4" label="FET4 on tps65090 (register 0x12)"/>
  <suffix name="Fet5" label="FET5 on tps65090 (register 0x13)"/>
  <suffix name="Fet6" label="FET6 on tps65090 (register 0x14)"/>
  <suffix name="Fet7" label="FET7 on tps65090 (register 0x15)"/>
  <affected-histogram name="Platform.Tps65090Retries"/>
</histogram_suffixes>

<histogram_suffixes name="TrackedPreferencesExternalValidators" separator=".">
  <suffix name="FromRegistry"
      label="Validation using MACs in the Windows Registry."/>
  <affected-histogram name="Settings.TrackedPreferenceChanged"/>
  <affected-histogram name="Settings.TrackedPreferenceCleared"/>
  <affected-histogram name="Settings.TrackedPreferenceInitialized"/>
  <affected-histogram name="Settings.TrackedPreferenceMigratedLegacyDeviceId"/>
  <affected-histogram name="Settings.TrackedPreferenceNullInitialized"/>
  <affected-histogram name="Settings.TrackedPreferenceTrustedInitialized"/>
  <affected-histogram name="Settings.TrackedPreferenceUnchanged"/>
</histogram_suffixes>

<histogram_suffixes name="TrackedSplitPreferences" separator=".">
  <suffix name="extensions.settings" label="Extension IDs dictionary"/>
  <affected-histogram name="Settings.TrackedSplitPreferenceChanged"/>
</histogram_suffixes>

<histogram_suffixes name="TrafficStatsAmortizerBytesDirection" separator=".">
  <suffix name="Tx" label="Records only transmitted network bytes."/>
  <suffix name="Rx" label="Records only received network bytes."/>
  <affected-histogram
      name="TrafficStatsAmortizer.PostAmortizationRunDataUseBytes"/>
  <affected-histogram
      name="TrafficStatsAmortizer.PreAmortizationRunDataUseBytes"/>
</histogram_suffixes>

<histogram_suffixes name="UnackedPackets" separator=".">
  <obsolete>
    Deprecated as of 08/2016.
  </obsolete>
  <suffix name="UnackedPackets"
      label="The session had outstanding unacked packets."/>
  <suffix name="NoUnackedPackets"
      label="The session had no outstanding unacked packets."/>
  <affected-histogram
      name="Net.QuicSession.LocallyTimedOutWithOpenStreams.TimeSinceLastReceived"/>
</histogram_suffixes>

<histogram_suffixes name="UnPackConsumer">
  <suffix name="ChromeArchivePatch"
      label="compressed patch: chrome_patch.packed.7z holding
             chrome_patch.diff (small)."/>
  <suffix name="CompressedChromeArchive"
      label="compressed archive: chrome.packed.7z holding chrome.7z (big)."/>
  <suffix name="SetupExePatch"
      label="compressed patch: setup_patch.packed.7z holding setup_patch.diff
             (small)."/>
  <suffix name="UncompressedChromeArchive"
      label="uncompressed archive: chrome.7z holding install dir (big)."/>
  <affected-histogram name="Setup.Install.LzmaUnPackNTSTATUS"/>
  <affected-histogram name="Setup.Install.LzmaUnPackStatus"/>
</histogram_suffixes>

<histogram_suffixes name="UserClasses" separator=".">
  <suffix name="RareNTPUser" label="Rare NTP user"/>
  <suffix name="ActiveNTPUser" label="Active NTP user"/>
  <suffix name="ActiveSuggestionsConsumer" label="Active suggestions consumer"/>
  <affected-histogram
      name="NewTabPage.ContentSuggestions.TimeUntilFirstSoftTrigger"/>
  <affected-histogram
      name="NewTabPage.ContentSuggestions.TimeUntilPersistentFetch"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.TimeUntilSoftFetch"/>
</histogram_suffixes>

<histogram_suffixes name="UserScriptRunLocation" separator=".">
  <suffix name="DocumentStart" label="Scripts with run_at: document_start."/>
  <suffix name="DocumentEnd" label="Scripts with run_at: document_end."/>
  <suffix name="DocumentIdle" label="Scripts with run_at: document_idle."/>
  <affected-histogram name="Extensions.InjectedScriptExecutionTime"/>
</histogram_suffixes>

<histogram_suffixes name="V8SpecialApps" separator=".">
  <suffix name="calendar" label="Custom histogram for Calendar"/>
  <suffix name="docs" label="Custom histogram for Google Docs and Drive"/>
  <suffix name="gmail" label="Custom histogram for GMail"/>
  <suffix name="inbox" label="Custom histogram for Inbox"/>
  <suffix name="plus" label="Custom histogram for Google+"/>
  <suffix name="top10"
      label="Custom histogram for Alexa's Top10 non-Google sites"/>
  <suffix name="youtube" label="Custom histogram for Youtube"/>
  <affected-histogram name="V8.MemoryExternalFragmentationTotal"/>
  <affected-histogram name="V8.MemoryHeapCommitted"/>
  <affected-histogram name="V8.MemoryHeapSampleTotalCommitted"/>
  <affected-histogram name="V8.MemoryHeapSampleTotalUsed"/>
  <affected-histogram name="V8.MemoryHeapUsed"/>
</histogram_suffixes>

<histogram_suffixes name="V8WasmSeparateAsmAndWasm" separator=".">
  <suffix name="asm" label="This histogram contains results for asm.js"/>
  <suffix name="wasm" label="This histogram contains results for WASM modules"/>
  <affected-histogram name="V8.WasmCompileModuleMicroSeconds"/>
  <affected-histogram name="V8.WasmDecodeFunctionMicroSeconds"/>
  <affected-histogram name="V8.WasmDecodeModuleMicroSeconds"/>
  <affected-histogram name="V8.WasmDecodeModulePeakMemoryBytes"/>
  <affected-histogram name="V8.WasmFunctionSizeBytes"/>
  <affected-histogram name="V8.WasmFunctionsPerModule"/>
  <affected-histogram name="V8.WasmInstantiateModuleMicroSeconds"/>
  <affected-histogram name="V8.WasmMaxMemPagesCount"/>
  <affected-histogram name="V8.WasmMinMemPagesCount"/>
  <affected-histogram name="V8.WasmModuleSizeBytes"/>
</histogram_suffixes>

<histogram_suffixes name="VideoAdaptationReason" separator=".">
  <suffix name="Cpu" label="Adapt reason: cpu."/>
  <suffix name="Quality" label="Adapt reason: quality."/>
  <affected-histogram name="WebRTC.Video.AdaptChangesPerMinute"/>
</histogram_suffixes>

<histogram_suffixes name="VideoEncodedQpStats" separator=".">
  <suffix name="H264"
      label="Video codec: H264. QP range: 0-51. No spatial layers."/>
  <suffix name="Vp8"
      label="Video codec: VP8. QP range: 0-127. Single stream sent."/>
  <suffix name="Vp8.S0"
      label="Video codec: VP8. QP range: 0-127. Spatial index 0."/>
  <suffix name="Vp8.S1"
      label="Video codec: VP8. QP range: 0-127. Spatial index 1."/>
  <suffix name="Vp8.S2"
      label="Video codec: VP8. QP range: 0-127. Spatial index 2."/>
  <suffix name="Vp9"
      label="Video codec: VP9. QP range: 0-255. No spatial layers."/>
  <suffix name="Vp9.S0"
      label="Video codec: VP9. QP range: 0-255. Spatial layer 0."/>
  <suffix name="Vp9.S1"
      label="Video codec: VP9. QP range: 0-255. Spatial layer 1."/>
  <suffix name="Vp9.S2"
      label="Video codec: VP9. QP range: 0-255. Spatial layer 2."/>
  <affected-histogram name="WebRTC.Video.Encoded.Qp"/>
</histogram_suffixes>

<histogram_suffixes name="VRSessionType" separator=".">
  <suffix name="Browser"
      label="The session is restricted to the period that the browser is
             displaying a regular page."/>
  <suffix name="Fullscreen"
      label="The session is restricted to the period that the browser is
             displaying fullscreen content."/>
  <suffix name="WebVR"
      label="The session is restricted to the period that browser is
             displaying WebVR contents."/>
  <affected-histogram name="VRSessionTime"/>
  <affected-histogram name="VRSessionVideoTime"/>
</histogram_suffixes>

<histogram_suffixes name="WebFontFamily">
  <suffix name="roboto" label="Roboto font"/>
  <suffix name="opensans" label="Open Sans font"/>
  <suffix name="others" label="Fonts other than Roboto and Open Sans"/>
  <affected-histogram name="WebFont.DiskCache.EntryAge.Evict"/>
  <affected-histogram name="WebFont.DiskCache.EntryAge.Hit"/>
  <affected-histogram name="WebFont.DiskCache.ReuseCount.Evict"/>
  <affected-histogram name="WebFont.DiskCache.ReuseCount.Hit"/>
  <affected-histogram name="WebFont.DiskCacheHit"/>
</histogram_suffixes>

<histogram_suffixes name="WebFontFormat" separator=".">
  <suffix name="SFNT" label="TrueType or OpenType fonts"/>
  <suffix name="WOFF" label="WOFF 1.0 fonts"/>
  <suffix name="WOFF2" label="WOFF 2.0 fonts"/>
  <affected-histogram name="WebFont.DecodeSpeed"/>
</histogram_suffixes>

<histogram_suffixes name="WebFontMissedCache" separator="." ordering="prefix">
  <owner>toyoshim@chromium.org</owner>
  <suffix name="MissedCache" label="On missed cache"/>
  <affected-histogram name="WebFont.DownloadTime.0.Under10KB"/>
  <affected-histogram name="WebFont.DownloadTime.1.10KBTo50KB"/>
  <affected-histogram name="WebFont.DownloadTime.2.50KBTo100KB"/>
  <affected-histogram name="WebFont.DownloadTime.3.100KBTo1MB"/>
  <affected-histogram name="WebFont.DownloadTime.4.Over1MB"/>
  <affected-histogram name="WebFont.DownloadTime.LoadError"/>
</histogram_suffixes>

<histogram_suffixes name="WebFontMissedCacheAndInterventionTriggeredOrNot"
    separator="." ordering="prefix">
  <owner>toyoshim@chromium.org</owner>
  <suffix name="MissedCacheAndInterventionNotTriggered"
      label="On missed cache and intervention not triggered"/>
  <suffix name="MissedCacheAndInterventionTriggered"
      label="On missed cache and intervention triggered"/>
  <affected-histogram name="WebFont.DownloadTime.1.10KBTo50KB"/>
  <affected-histogram name="WebFont.DownloadTime.1.10KBTo50KB"/>
</histogram_suffixes>

<histogram_suffixes name="WebRTCEchoCancellerStatisticType" separator=".">
  <suffix name="Average" label="The average over the time interval"/>
  <suffix name="Max" label="The maximum over the time interval"/>
  <suffix name="Min" label="The minimum over the time interval"/>
  <affected-histogram name="WebRTC.Audio.EchoCanceller.ComfortNoiseBand0"/>
  <affected-histogram name="WebRTC.Audio.EchoCanceller.ComfortNoiseBand1"/>
  <affected-histogram name="WebRTC.Audio.EchoCanceller.ErlBand0"/>
  <affected-histogram name="WebRTC.Audio.EchoCanceller.ErlBand1"/>
  <affected-histogram name="WebRTC.Audio.EchoCanceller.ErleBand0"/>
  <affected-histogram name="WebRTC.Audio.EchoCanceller.ErleBand1"/>
  <affected-histogram name="WebRTC.Audio.EchoCanceller.SuppressorGainBand0"/>
  <affected-histogram name="WebRTC.Audio.EchoCanceller.SuppressorGainBand1"/>
</histogram_suffixes>

<histogram_suffixes name="WebRTCMediaType" separator=".">
  <suffix name="Audio" label="Audio"/>
  <suffix name="Video" label="Video"/>
  <suffix name="Data" label="Data"/>
  <affected-histogram name="WebRTC.PeerConnection.SrtpCryptoSuite"/>
  <affected-histogram name="WebRTC.PeerConnection.SslCipherSuite"/>
</histogram_suffixes>

<histogram_suffixes name="WebSocketMessageSizeReceive" separator=".">
  <suffix name="ArrayBuffer"/>
  <suffix name="Blob"/>
  <affected-histogram name="WebCore.WebSocket.MessageSize.Receive"/>
</histogram_suffixes>

<histogram_suffixes name="WebSocketMessageSizeSend" separator=".">
  <suffix name="ArrayBuffer"/>
  <suffix name="ArrayBufferView"/>
  <suffix name="Blob"/>
  <affected-histogram name="WebCore.WebSocket.MessageSize.Send"/>
</histogram_suffixes>

<histogram_suffixes name="WebStoreLinkExperiment">
  <suffix name="Disabled" label="Neither extra webstore link is visible"/>
  <suffix name="FooterLink" label="Link in bottom right of footer"/>
  <suffix name="PlusIcon" label="Plus icon in apps page"/>
  <affected-histogram name="Extensions.AppLaunch"/>
  <affected-histogram name="NewTabPage.DefaultPageType"/>
</histogram_suffixes>

<histogram_suffixes name="WeekdayNames">
  <suffix name="Monday"/>
  <suffix name="Tuesday"/>
  <suffix name="Wednesday"/>
  <suffix name="Thursday"/>
  <suffix name="Friday"/>
  <suffix name="Saturday"/>
  <suffix name="Sunday"/>
  <affected-histogram name="NewTabPage.ContentSuggestions.UsageTimeLocal"/>
</histogram_suffixes>

<histogram_suffixes name="WelcomeWin10Variant">
  <owner>tmartino@chromium.org</owner>
  <suffix name="InlineCombined" label="Inline layout style, combined promo"/>
  <suffix name="InlineDefault"
      label="Inline layout style, default browser promo only"/>
  <suffix name="SectionedCombined"
      label="Sectioned layout style, combined promo"/>
  <suffix name="SectionedDefault"
      label="Sectioned layout style, default browser promo only"/>
  <affected-histogram name="Welcome.Win10.DefaultPromptResult"/>
  <affected-histogram name="Welcome.Win10.PinnedPromptResult"/>
</histogram_suffixes>

<histogram_suffixes name="WrenchMenuActionTimings" separator=".">
  <suffix name="NewTab"/>
  <suffix name="NewWindow"/>
  <suffix name="NewIncognitoWindow"/>
  <suffix name="ShowBookmarkBar"/>
  <suffix name="ShowBookmarkMgr"/>
  <suffix name="ImportSettings"/>
  <suffix name="BookmarkPage"/>
  <suffix name="BookmarkAllTabs"/>
  <suffix name="PinToStartScreen"/>
  <suffix name="RestoreTab"/>
  <suffix name="WinDesktopRestart"/>
  <suffix name="Win8MetroRestart"/>
  <suffix name="ChromeOSRestart"/>
  <suffix name="DistillPage"/>
  <suffix name="SavePage"/>
  <suffix name="Find"/>
  <suffix name="Print"/>
  <suffix name="Cut"/>
  <suffix name="Copy"/>
  <suffix name="Paste"/>
  <suffix name="CreateHostedApp"/>
  <suffix name="CreateShortcuts">
    <obsolete>
      Deprecated as of 04/2017. Replaced by Bookmark Apps (CreateHostedApp).
    </obsolete>
  </suffix>
  <suffix name="ManageExtensions"/>
  <suffix name="TaskManager"/>
  <suffix name="ClearBrowsingData"/>
  <suffix name="ViewSource"/>
  <suffix name="DevTools"/>
  <suffix name="DevToolsConsole"/>
  <suffix name="DevToolsDevices"/>
  <suffix name="ProfilingEnabled"/>
  <suffix name="ZoomMinus"/>
  <suffix name="ZoomPlus"/>
  <suffix name="EnterFullScreen"/>
  <suffix name="ShowHistory"/>
  <suffix name="ShowDownloads"/>
  <suffix name="ShowSyncSetup"/>
  <suffix name="Settings"/>
  <suffix name="About"/>
  <suffix name="HelpPage"/>
  <suffix name="Feedback"/>
  <suffix name="RequestTabletSite"/>
  <suffix name="Exit"/>
  <suffix name="OpenBookmark"/>
  <suffix name="OpenRecentTab"/>
  <suffix name="BookmarkOpen">
    <obsolete>
      Deprecated as of 02/2015. Use WrenchMenu.TimeToAction.OpenBookmark
      instead.
    </obsolete>
  </suffix>
  <suffix name="RecentTab">
    <obsolete>
      Deprecated as of 02/2015. Use WrenchMenu.TimeToAction.OpenRecentTab
      instead.
    </obsolete>
  </suffix>
  <suffix name="Cast"/>
  <affected-histogram name="WrenchMenu.TimeToAction"/>
</histogram_suffixes>

</histogram_suffixes_list>

</histogram-configuration>
