<!--
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.
  </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.
  </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.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>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.ActionAfterDoubleTapWithDelay"
    enum="ActionAfterDoubleTap">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.AggregatedLatency.Renderer2" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of any input event and the renderer receiving and
    starting to process it.
  </summary>
</histogram>

<histogram name="Event.AndroidActionDown.ToolType" enum="MotionEventToolType">
  <owner>mustaq@chromium.org</owner>
  <owner>input-dev@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).
  </summary>
</histogram>

<histogram name="Event.CoalescedCount.Mouse">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>Number of Mouse events coalesced.</summary>
</histogram>

<histogram name="Event.CoalescedCount.Touch">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>Number of Touch events coalesced.</summary>
</histogram>

<histogram name="Event.CoalescedLatency.Mouse" units="ms">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between the first and last events in a coalesced mouse events group.
  </summary>
</histogram>

<histogram name="Event.CoalescedLatency.Touch" units="ms">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between the first and last events in a coalesced touch events group.
  </summary>
</histogram>

<histogram name="Event.CompositorThreadEventQueue.CoalescedCount"
    units="events">
  <owner>chongz@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.CompositorThreadEventQueue.Continuous.HeadQueueingTime"
    units="microseconds">
  <owner>chongz@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.CompositorThreadEventQueue.Continuous.TailQueueingTime"
    units="microseconds">
  <owner>chongz@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.CompositorThreadEventQueue.NonContinuous.QueueingTime"
    units="microseconds">
  <owner>chongz@chromium.org</owner>
  <owner>input-dev@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.
  </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>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Frequency.RendererImpl.FlingAnimate" units="hertz">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.GestureCreated" enum="UIEventType">
  <owner>kuscher@google.com</owner>
  <owner>input-dev@chromium.org</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.
  </summary>
</histogram>

<histogram name="Event.HitTest" enum="EventHitTest">
  <owner>dtapuska@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    For each hit test, records whether it was a hit or miss, and why.
  </summary>
</histogram>

<histogram name="Event.HitTestValidity" enum="EventHitTestValidity">
  <owner>dtapuska@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    For hit tests that are validated, records whether it was correct or not, and
    why.
  </summary>
</histogram>

<histogram name="Event.HitTestValidityScore" enum="EventHitTestValidityScore">
  <owner>dtapuska@chromium.org</owner>
  <owner>input-dev@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).
  </summary>
</histogram>

<histogram name="Event.Latency.BlockingTime.TouchEndDefaultAllowed" units="ms">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between the renderer main thread receiving a touchend event and acking
    it, for events which were not preventDefaulted.
  </summary>
</histogram>

<histogram name="Event.Latency.BlockingTime.TouchEndDefaultPrevented"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between the renderer main thread receiving a touchend event and acking
    it, for events which were preventDefaulted.
  </summary>
</histogram>

<histogram name="Event.Latency.BlockingTime.TouchMoveDefaultAllowed" units="ms">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between the renderer main thread receiving a touchmove event and acking
    it, for events which were not preventDefaulted.
  </summary>
</histogram>

<histogram name="Event.Latency.BlockingTime.TouchMoveDefaultPrevented"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between the renderer main thread receiving a touchmove event and acking
    it, for events which were preventDefaulted.
  </summary>
</histogram>

<histogram name="Event.Latency.BlockingTime.TouchStartDefaultAllowed"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between the renderer main thread receiving a touchstart event and
    acking it, for events which were not preventDefaulted.
  </summary>
</histogram>

<histogram name="Event.Latency.BlockingTime.TouchStartDefaultPrevented"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between the renderer main thread receiving a touchstart event and
    acking it, for events which were preventDefaulted.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of all input events and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_DROP_TARGET_EVENT"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_BEGIN" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_DOUBLE_TAP"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_END" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_LONG_PRESS"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_LONG_TAP"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_MULTIFINGER_SWIPE"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_PINCH_BEGIN"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_PINCH_END"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_PINCH_UPDATE"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_SCROLL_BEGIN"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_SCROLL_END"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_SCROLL_UPDATE"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_TAP" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_TAP_CANCEL"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_TAP_DOWN"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_GESTURE_TWO_FINGER_TAP"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_KEY_PRESSED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_KEY_RELEASED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_MOUSE_CAPTURE_CHANGED"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_MOUSE_DRAGGED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_MOUSE_ENTERED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_MOUSE_EXITED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_MOUSE_MOVED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_MOUSE_RELEASED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_MOUSEWHEEL" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_SCROLL" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_SCROLL_FLING_CANCEL"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_SCROLL_FLING_START"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_TOUCH_CANCELLED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_TOUCH_MOVED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_TOUCH_PRESSED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_TOUCH_RELEASED" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_TOUCH_STATIONARY"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_TRANSLATED_KEY_PRESS"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_TRANSLATED_KEY_RELEASE"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.ET_UNKNOWN" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of input event and browser processing.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.TouchAcked" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between touch events sent from RWH to renderer and acked by renderer.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.TouchUI" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between touch events received by Chrome and sent from RWH to renderer.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.WheelAcked" units="microseconds">
  <owner>ccameron@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between wheel events sent from RWH to renderer and acked by renderer.
  </summary>
</histogram>

<histogram name="Event.Latency.Browser.WheelUI" units="microseconds">
  <owner>ccameron@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between wheel events received by Chrome and sent from RWH to renderer.
  </summary>
</histogram>

<histogram name="Event.Latency.HitTest" units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.HitTestRecursive" units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.OS" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <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>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.QueueingTime.TouchEndDefaultPrevented"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.QueueingTime.TouchMoveDefaultAllowed" units="ms">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.QueueingTime.TouchMoveDefaultPrevented"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.QueueingTime.TouchStartDefaultAllowed"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.QueueingTime.TouchStartDefaultPrevented"
    units="ms">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.Renderer" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between initiation of all input events and renderer processing. This is
    soon to be replaced by Event.Latency.Renderer2.*
  </summary>
</histogram>

<histogram name="Event.Latency.Renderer2" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.RendererImpl" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </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>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollBegin.Touch.BrowserNotifiedToBeforeGpuSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Touch.GpuSwap2" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Touch.HandledToRendererSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollBegin.Touch.RendererSwapToBrowserNotified2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Touch.TimeToHandled2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Touch.TimeToScrollUpdateSwapBegin2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.ScrollBegin.Wheel.BrowserNotifiedToBeforeGpuSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Wheel.GpuSwap2" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Wheel.HandledToRendererSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollBegin.Wheel.RendererSwapToBrowserNotified2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Wheel.TimeToHandled2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollBegin.Wheel.TimeToScrollUpdateSwapBegin2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.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>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.Touch.GpuSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between gpu starts to swap a ScrollUpdate gesture event with touch
    source induced frame and the swap finishes.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.Touch.HandledToRendererSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollUpdate.Touch.RendererSwapToBrowserNotified2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollUpdate.Touch.TimeToFirstScrollUpdateSwapBegin2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.Touch.TimeToHandled2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.Touch.TimeToScrollUpdateSwapBegin2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.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>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.Wheel.GpuSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Time between gpu starts to swap a ScrollUpdate gesture event with wheel
    source induced frame and the swap finishes.
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.Wheel.HandledToRendererSwap2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollUpdate.Wheel.RendererSwapToBrowserNotified2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram
    name="Event.Latency.ScrollUpdate.Wheel.TimeToFirstScrollUpdateSwapBegin2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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
  </summary>
</histogram>

<histogram name="Event.Latency.ScrollUpdate.Wheel.TimeToHandled2"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </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>
  <owner>input-dev@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
  </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>
  <owner>input-dev@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
  </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>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.MainThreadEventQueue.Continuous.FreshnessTime"
    units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.MainThreadEventQueue.Continuous.QueueingTime"
    units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.MainThreadEventQueue.NonContinuous.QueueingTime"
    units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.PassiveForcedEventDispatchCancelled"
    enum="PassiveForcedListenerResultType">
  <owner>dtapuska@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.PassiveListeners" enum="EventResultType">
  <owner>dtapuska@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    The result of handling of MouseWheel, TouchStart, TouchMove, TouchEnd events
    in the renderer.
  </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>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram
    name="Event.PassiveListeners.ForcedNonBlockingLatencyDueToUnresponsiveMainThread"
    units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.PassiveListeners.Latency" units="microseconds">
  <owner>dtapuska@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.RenderView.DiscardInput" enum="BooleanHit">
  <owner>dtapuska@chromium.org</owner>
  <owner>input-dev@chromium.org</owner>
  <summary>
    Whether the input IPC messages were discarded before being fully processed
    in RenderView's IPC message handler.
  </summary>
</histogram>

<histogram name="Event.SingleTapType" enum="TapDelayType">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.TimestampHasValidTimebase" enum="EventTimestampValidity">
  <owner>majidvp@chromium.org</owner>
  <owner>caseq@chromium.org</owner>
  <owner>input-dev@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.
  </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>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Touch.TimedOutOnDesktopSite" enum="BooleanTimedOut">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Touch.TimedOutOnMobileSite" enum="BooleanTimedOut">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchDispositionsAfterPageLoad"
    enum="TouchEventDispatchResultType">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchDispositionsBeforePageLoad"
    enum="TouchEventDispatchResultType">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </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>
  <owner>input-dev@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.
  </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>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchLatencyAfterPageLoad" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchLatencyBeforePageLoad" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.Touch.TouchLatencyOutsideFling" units="microseconds">
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </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>
  <owner>input-dev@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.
  </summary>
</histogram>

<histogram name="Event.TouchMaxDistance" units="pixels">
  <owner>kuscher@google.com</owner>
  <owner>tdresser@chromium.org</owner>
  <owner>input-dev@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.
  </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.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 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.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 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 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">
  <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">
  <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.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.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">
  <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">
  <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.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">
  <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">
  <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">
  <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>
  <owner>input-dev@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.
  </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.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.
  </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.
  </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.
  </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.
  </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.
  </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.
  </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.
  </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.
  </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.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"/>
</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"/>
  <int value="26" label="Background sync 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="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"/>
</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"/>
</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="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="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="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="DocumentCreateEventWebKitAnimationEvent"/>
  <int value="1188" label="DocumentCreateEventMutationEvents"/>
  <int value="1189" label="DocumentCreateEventOrientationEvent"/>
  <int value="1190" label="DocumentCreateEventSVGEvents"/>
  <int value="1191" label="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="UncancellableTouchEventPreventDefaulted"/>
  <int value="1814"
      label="UncancellableTouchEventDueToMainThreadResponsivenessPreventDefaulted"/>
  <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"/>
</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="-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="-1289373013" label="ui-show-layer-borders"/>
  <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="-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="-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="-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="-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="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="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="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="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="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"/>
</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"/>
</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="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"/>
</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"/>
</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"/>
</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"/>
</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="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">
  <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="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="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>
